circuitpython/ports/nrf
Dan Halbert 40434d6919 wip
2019-12-05 22:45:53 -05:00
..
bluetooth wip 2019-12-05 22:45:53 -05:00
boards wip 2019-12-05 22:45:53 -05:00
common-hal wip 2019-12-05 22:45:53 -05:00
device/nrf52 nrf: Mark interrupt vectors as used 2019-08-02 07:53:35 -05:00
examples Fix 'advertisement' typo 2018-10-03 09:56:30 +02:00
freeze ports/nrf: Moving nrf51/52 port to new ports directory 2017-10-04 21:46:48 +02:00
nrfx@3d268263be nrf: fix internal flash writes 2019-03-18 09:11:40 -04:00
peripherals/nrf Parameterize linker script 2019-10-20 23:50:12 -04:00
supervisor wip 2019-12-05 22:45:53 -05:00
.gitignore add CharacteristicBuffer; UART seems to work! 2019-01-07 22:46:20 -05:00
background.c Refine _bleio 2019-10-21 18:57:03 -07:00
background.h Don't let a background task call run_background_tasks() 2019-04-09 20:23:01 -04:00
fatfs_port.c ports/nrf: Moving nrf51/52 port to new ports directory 2017-10-04 21:46:48 +02:00
gccollect.c ports/nrf: Moving nrf51/52 port to new ports directory 2017-10-04 21:46:48 +02:00
Makefile wip 2019-12-05 22:45:53 -05:00
mpconfigport.h wip 2019-12-05 22:45:53 -05:00
mpconfigport.mk wip 2019-12-05 22:45:53 -05:00
mphalport.c Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00
mphalport.h Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00
nrfx_config.h nrf: allocate two I2C on CPB 2019-10-28 21:08:53 -04:00
nrfx_glue.h add ARRAY_SIZE 2018-07-10 01:06:57 +07:00
nrfx_log.h nrf: Rewrite the SPI common-hal using nrfx 2018-06-25 23:46:34 +02:00
qstrdefsport.h nrf: Remove old qstr defines 2018-06-27 20:52:13 +02:00
README.md WIP: bonding 2019-10-06 21:30:26 -04:00
sd_mutex.c nrf: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
sd_mutex.h CharacteristicBuffer: make it be a stream class; add locking 2019-01-19 19:45:35 -05:00
tick.c Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00
tick.h Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00

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.

Compile and Flash

Prerequisite steps for building the nrf port:

git clone <URL>.git circuitpython
cd circuitpython
git submodule update --init --recursive
make -C mpy-cross

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

To build and flash issue the following command inside the ports/nrf/ folder:

make BOARD=pca10056
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: