Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
micropython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
xpstem
micropython
Commits
486cb6dd
Commit
486cb6dd
authored
May 18, 2020
by
Matt Trentini
Committed by
Damien George
Jul 16, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nrf: Add board definition for nRF52840-MDK-USB-Dongle.
parent
d9e8edc8
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
152 additions
and
2 deletions
+152
-2
ports/nrf/README.md
ports/nrf/README.md
+1
-0
ports/nrf/boards/memory.ld
ports/nrf/boards/memory.ld
+5
-2
ports/nrf/boards/nrf52840-mdk-usb-dongle/README.md
ports/nrf/boards/nrf52840-mdk-usb-dongle/README.md
+49
-0
ports/nrf/boards/nrf52840-mdk-usb-dongle/mpconfigboard.h
ports/nrf/boards/nrf52840-mdk-usb-dongle/mpconfigboard.h
+71
-0
ports/nrf/boards/nrf52840-mdk-usb-dongle/mpconfigboard.mk
ports/nrf/boards/nrf52840-mdk-usb-dongle/mpconfigboard.mk
+7
-0
ports/nrf/boards/nrf52840-mdk-usb-dongle/nrf52840_open_bootloader.ld
...oards/nrf52840-mdk-usb-dongle/nrf52840_open_bootloader.ld
+2
-0
ports/nrf/boards/nrf52840-mdk-usb-dongle/pins.csv
ports/nrf/boards/nrf52840-mdk-usb-dongle/pins.csv
+17
-0
No files found.
ports/nrf/README.md
View file @
486cb6dd
...
...
@@ -41,6 +41,7 @@ This is a port of MicroPython to the Nordic Semiconductor nRF series of chips.
*
[
PCA10056
](
http://www.nordicsemi.com/eng/Products/nRF52840-Preview-DK
)
*
[
PCA10059
](
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle
)
*
[
Particle Xenon
](
https://docs.particle.io/xenon/
)
*
[
nRF52840 MDK USB Dongle
](
boards/nrf52840-mdk-usb-dongle/README.md
)
*
nRF9160
*
[
PCA10090
](
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF9160-DK
)
*
[
Actinius Icarus
](
https://www.actinius.com/icarus
)
...
...
ports/nrf/boards/memory.ld
View file @
486cb6dd
/* Flash layout: softdevice | application | filesystem */
/* RAM layout: softdevice RAM | application RAM */
_sd_size = DEFINED(_sd_size) ? _sd_size : 0;
_ram_start = DEFINED(_ram_start) ? _ram_start : 0x20000000;
_flash_start = DEFINED(_flash_start) ? _flash_start : 0;
_sd_size = DEFINED(_sd_size) ? _sd_size : _flash_start;
_sd_ram = DEFINED(_sd_ram) ? _sd_ram : 0;
_fs_size = DEFINED(_fs_size) ? _fs_size : 64K; /* TODO: set to 0 if not using the filesystem */
_app_size = _flash_size - _sd_size - _fs_size;
_app_start = _sd_size;
_fs_start = _sd_size + _app_size;
_fs_end = _fs_start + _fs_size;
_app_ram_start =
0x20000000
+ _sd_ram;
_app_ram_start =
_ram_start
+ _sd_ram;
_app_ram_size = _ram_size - _sd_ram;
_heap_start = _ebss;
_heap_end = _ram_end - _stack_size;
...
...
ports/nrf/boards/nrf52840-mdk-usb-dongle/README.md
0 → 100644
View file @
486cb6dd
nRF52840 MDK USB Dongle
=======================
The
*
[
nRF52840 MDK USB
Dongle
](
https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle
)
*
is a small,
low-cost development board in a USB dongle form-factor powered by an nRF52840
with 1MB flash and 256KB RAM.
This device is pre-installed with
[
Open
Bootloader
](
https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/programming/
)
,
allowing DFU upgrades over USB using Nordic
[
nRF
Connect
](
https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-desktop
)
or
[
nrfutil
](
https://github.com/NordicSemiconductor/pc-nrfutil/
)
. To support
Open Bootloader, the flash and memory layout must be adjusted slightly (details
[
here
](
https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/nrf52840-dongle-programming-tutorial
)
)
from the typical nRF build; this board definition ensure the appropriate build
configuration is used for MicroPython.
Pinout
------
The
[
pinout
diagram
](
https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/#pinout-diagram
)
provides an overview of the available pins and their capabilities. All pins are
available in MicroPython, using the pin numbers labelled in the diagram
(excluding the leading port number,
*P0*
).
The three LEDs are available either through the usual
`Pin`
mechanism - pins
22-24 - or by
`board.LED(n)`
where n can be 1, 2 or 3.
Build instructions
------------------
Follow the standard
[
nRF Port build instructions
](
../../README.md
)
; but use
`nrf52840-mdk-usb-dongle`
as the value for
`BOARD`
:
make BOARD=nrf52840-mdk-usb-dongle
The build artifacts will be created in
`build-nrf52840-mdk-usb-dongle`
. Once
built, the easiest way to deploy to the device is to open
`firmware.hex`
using
*nRF Connect*
and select
*Write*
. Detailed instructions can be found on the
[
developer
wiki
](
https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/programming/
)
.
**Note**
that the regular method of deployment for the MicroPython nRF port
(using
`make deploy`
) will
*not*
operate correctly and will overwrite the
bootloader.
ports/nrf/boards/nrf52840-mdk-usb-dongle/mpconfigboard.h
0 → 100644
View file @
486cb6dd
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Matt Trentini
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#define MICROPY_HW_BOARD_NAME "MDK-USB-DONGLE"
#define MICROPY_HW_MCU_NAME "NRF52840"
#define MICROPY_PY_SYS_PLATFORM "nrf52840-MDK-USB-Dongle"
#define MICROPY_PY_MACHINE_UART (1)
#define MICROPY_PY_MACHINE_HW_PWM (1)
#define MICROPY_PY_MACHINE_HW_SPI (1)
#define MICROPY_PY_MACHINE_TIMER (1)
#define MICROPY_PY_MACHINE_RTCOUNTER (1)
#define MICROPY_PY_MACHINE_I2C (1)
#define MICROPY_PY_MACHINE_ADC (1)
#define MICROPY_PY_MACHINE_TEMP (1)
#define MICROPY_HW_ENABLE_RNG (1)
#define MICROPY_HW_USB_CDC (1)
#define MICROPY_HW_HAS_LED (1)
#define MICROPY_HW_LED_COUNT (3)
#define MICROPY_HW_LED_PULLUP (1)
#define MICROPY_HW_LED1 (22) // LED1 GREEN
#define MICROPY_HW_LED2 (23) // LED2 RED
#define MICROPY_HW_LED3 (24) // LED3 BLUE
// UART config
#define MICROPY_HW_UART1_RX (7)
#define MICROPY_HW_UART1_TX (8)
#define MICROPY_HW_UART1_CTS (9)
#define MICROPY_HW_UART1_RTS (10)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
#define MICROPY_HW_SPI0_SCK (19)
#define MICROPY_HW_SPI0_MOSI (20)
#define MICROPY_HW_SPI0_MISO (21)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
#define MICROPY_HW_PWM2_NAME "PWM2"
#define MICROPY_HW_PWM3_NAME "PWM3"
#define HELP_TEXT_BOARD_LED "1,2,3"
ports/nrf/boards/nrf52840-mdk-usb-dongle/mpconfigboard.mk
0 → 100644
View file @
486cb6dd
MCU_SERIES
=
m4
MCU_VARIANT
=
nrf52
MCU_SUB_VARIANT
=
nrf52840
SOFTDEV_VERSION
=
6.1.1
LD_FILES
+=
boards/nrf52840-mdk-usb-dongle/nrf52840_open_bootloader.ld boards/nrf52840_1M_256k.ld
NRF_DEFINES
+=
-DNRF52840_XXAA
ports/nrf/boards/nrf52840-mdk-usb-dongle/nrf52840_open_bootloader.ld
0 → 100644
View file @
486cb6dd
_ram_start = 0x20000008;
_flash_start = 0x1000;
ports/nrf/boards/nrf52840-mdk-usb-dongle/pins.csv
0 → 100644
View file @
486cb6dd
P2,P2,ADC1_CH0
P3,P3,ADC1_CH1
P4,P4,ADC1_CH2
P5,P5,ADC1_CH3
P6,P6
P7,P7
P8,P8
P9,P9
P10,P10
USER,P18,P18
P19,P19
P20,P20
P21,P21
LED_G,P22,P22
LED_R,P23,P23
LED_B,P24,P24
P25,P25
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment