circuitpython/ports/nrf
Scott Shawcroft 8137e2d6d2
Switch all ports to auto-growing split heap
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.

On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.

This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.

Fixes #8512. Fixes #7334.
2023-11-01 15:24:16 -07:00
..
bluetooth Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
boards Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
common-hal
device/nrf52
freeze
nrfx@3f55e49eb1
peripherals/nrf
supervisor Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
.gitignore
Makefile
README.md
background.c
background.h
espruino_dfu_private_key.pem
gccollect.c
ld_defines.c
mpconfigport.h
mpconfigport.mk
mphalport.h
nrfx_config.h
nrfx_glue.h
nrfx_log.h
qstrdefsport.h
sd_mutex.c
sd_mutex.h

README.md

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: