circuitpython/ports/nrf
Sean Cross 3b5f5ddaa6 nrf: port: move saved word into .uninitialized section
Circuit Python supports saving a single word of data across reboots.
Previously, this data was placed immediately following the .bss.

However, this appeared to not work, as Circuit Python zeroes out the
heap when it starts up, and the heap begins immediately after the .bss.

Switch to using the new .uninitialized section in order to store this
word across resets.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18 11:52:25 +08:00
..
bluetooth nrf: bluetooth: add s147 v7.0.1 softdevice hexfile 2020-04-30 10:43:46 +08:00
boards nrf: linker: add a new .uninitialized section 2020-05-18 11:52:17 +08:00
common-hal address review comments 2020-05-04 19:51:08 -04:00
device/nrf52 nrf: add support for nrf52833 2020-04-21 12:29:56 +08:00
examples
freeze
nrfx@3f55e49eb1 update nrfx submodule to v2 2019-12-18 15:39:11 +07:00
peripherals/nrf nrf: add support for nrf52833 2020-04-21 12:29:56 +08:00
supervisor nrf: port: move saved word into .uninitialized section 2020-05-18 11:52:25 +08:00
.gitignore
Makefile Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-30 13:25:31 -07:00
README.md address review comments 2019-12-11 15:43:06 -05:00
background.c wip; compiles 2020-01-05 23:33:42 -05:00
background.h
fatfs_port.c added correct include files 2019-12-10 19:44:11 -08:00
gccollect.c
ld_defines.c nrf: add support for nrf52833 2020-04-21 12:29:56 +08:00
mpconfigport.h fix calculation of nrf firmware size 2020-04-22 00:52:54 -04:00
mpconfigport.mk merged master 2020-05-12 14:41:28 +10:00
mphalport.h Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00
nrfx_config.h nrf: support disabling SPIM3 2020-05-12 09:31:51 +08:00
nrfx_glue.h
nrfx_log.h
qstrdefsport.h nrf: Remove old qstr defines 2018-06-27 20:52:13 +02:00
sd_mutex.c nrf: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
sd_mutex.h

README.md

CircuitPython Port To The Nordic Semiconductor nRF52 Series

This is a port of CircuitPython to the Nordic Semiconductor nRF52 series of chips.

NOTE: There are board-specific READMEs that may be more up to date than the generic board-neutral documentation below.

Flash

Some boards have UF2 bootloaders and can simply be flashed in the normal way, by copying firmware.uf2 to the BOOT drive.

For some boards, you can use the flash target:

make BOARD=pca10056 flash

Segger Targets

Install the necessary tools to flash and debug using Segger:

JLink Download

nrfjprog linux-32bit Download

nrfjprog linux-64bit Download

nrfjprog osx Download

nrfjprog win32 Download

note: On Linux it might be required to link SEGGER's libjlinkarm.so inside nrfjprog's folder.

DFU Targets

run follow command to install adafruit-nrfutil from PyPi

$ pip3 install --user adafruit-nrfutil

make flash and make sd will not work with DFU targets. Hence, dfu-gen and dfu-flash must be used instead.

  • dfu-gen: Generates a Firmware zip to be used by the DFU flash application.
  • dfu-flash: Triggers the DFU flash application to upload the firmware from the generated Firmware zip file.

When enabled you have different options to test it: