circuitpython/ports/nrf
Jeff Epler a07ac72cc5
Improve the USB vid:pid duplicate checker
To me, it made more sense to track which boards go together in a cluster;
when reviewing a request to actually use a duplicate vid/pid, you want
to know what board(s) it is aliasing.

I also revamped the detection of non-USB boards so that a board .mk file
that couldn't be parsed by the code here would raise a problem instead
of just being skipped for the purposes of checking.

There were some lines with comments on the end, and some variation in
capitalization of the IDs. These are all normalized and a (sometimes
unfriendly!) error printed when it's incorrect.

Before this, here were some ways to trick the duplicate vid/pid checker:
```
USB_PID = 0XABCD
USB_PID = 0xAbCd
USB_PID = 0xABCD # harmless comment?
```
None of these things were ever done on purpose.
2022-03-24 09:42:11 -05:00
..
bluetooth Create first BLE-only board, Micro:Bit v2 2021-07-14 09:55:51 -07:00
boards Improve the USB vid:pid duplicate checker 2022-03-24 09:42:11 -05:00
common-hal Add S3 GATT client support 2022-02-10 11:31:57 -08:00
device/nrf52 more missing-prototypes fixes 2021-11-10 21:00:17 -06:00
freeze run code formatting script 2021-03-15 19:27:36 +05:30
nrfx@3f55e49eb1 update nrfx submodule to v2 2019-12-18 15:39:11 +07:00
peripherals/nrf -Werror=missing-prototypes for nRF 2021-11-10 11:26:54 -06:00
supervisor Add BLE scanning for S3 and C3. 2022-01-25 16:28:46 -08:00
.gitignore gitignore: Put build-*/ pattern in top-level gitignore file. 2019-08-16 00:08:08 +10:00
background.c -Werror=missing-prototypes for nRF 2021-11-10 11:26:54 -06:00
background.h supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
fatfs_port.c -Werror=missing-prototypes for nRF 2021-11-10 11:26:54 -06:00
gccollect.c run code formatting script 2021-03-15 19:27:36 +05:30
ld_defines.c run code formatting script 2021-03-15 19:27:36 +05:30
Makefile updating UF2_FAMILY_ID for nrf52833 2021-12-23 16:32:00 -06:00
mpconfigport.h nrf: Set .mpy features consistent with documentation and other ports. 2021-08-13 23:22:54 +10:00
mpconfigport.mk Only enable is31fl3741 for led glasses board 2022-02-01 09:45:50 +11:00
mphalport.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
nrfx_config.h Create first BLE-only board, Micro:Bit v2 2021-07-14 09:55:51 -07:00
nrfx_glue.h nrf/modules/nrf: Add function to enable/disable DCDC. 2021-08-09 14:55:59 +10:00
nrfx_log.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
qstrdefsport.h nrf/qstrdefsport.h: Add entries for in-built FS mount points. 2021-08-08 23:17:49 +10:00
README.md nrf: Facilitate use of freeze manifest. 2021-08-08 23:17:55 +10:00
sd_mutex.c -Werror=missing-prototypes for nRF 2021-11-10 11:26:54 -06:00
sd_mutex.h run code formatting script 2021-03-15 19:27:36 +05:30

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: