Products
-
-
- Accessories
- Breakout boards
This page has deprecated and moved to the new documentation framework of the main Bitcraze website. Please go to https://www.bitcraze.io/documentation/system/
nrfProg is a command line programmer for the nRF24LU1p (called nRF in this page). It uses the Amontec JTAG Key jtag dongle as a USB to SPI dongle.
This program is using libftdi to communicate with the JTAG Key. It is tested only on Linux.
The cable is made as follow:
JTAG sig | FTDI sig | JTAG Key pin | nRF Breakout pin | nRF SPI sig |
---|---|---|---|---|
GND | N/A | GND/20 | GND | GND |
VREF | GPIOL1/19 | VREF/1 | VIN | VCC |
TCK | TCK/24 | TCK/9 | P0.0 | SSCK |
TMS | TMS/21 | TMS/7 | P0.3 | SCSN |
TDI | TDI/23 | TDI/5 | P0.1 | SMOSI |
TDO | TDO/22 | TDO/13 | P0.2 | SMISO |
TRST | GPIOH0/15 | TRST_N/3 | PROG | PROG |
SRST | GPIOH1/13 | SRST_N/15 | RESET | RESET |
This cabling permit to reset the nRF in program mode or in run mode from nrfProg. The SPI outputs are not activated when the nRF is in run mode.
Amontec JTAG pin nr | Radio pin nr |
---|---|
20 | 9 |
1 | 5 |
9 | 4 |
7 | 10 |
5 | 6 |
13 | 8 |
3 | 2 |
15 | 3 |
nrfProg can program, dump and display the content of the flash memory. It can also reset the nRF and halt it (by maintaining the reset active).
Launch the program without argument for help.
$ ./nrfProg nrfProg V0.01 - nRF24LU1 programmer using the Amontec JTAG Key Usage: ./nrfProg <COMMAND> <PARAMETERS> Commands: help: Display this message read <filename> [addr] [len]: read the memory and write a dump in filename write <filename> [addr]: write the content of the binary <filename> into the nRF24LU flash. hexdump [addr] [len]: Display a hex dump of the memory reset: Reset the nRF24LU1+ holdreset: Hold the reset (ie. stop) the nRF24LU1+
WARNING This script will mass erase the nRF24 chip so it will erase the bootloader. Make sure you have a backup of the bootloader before using this script.
Unless you are absolutely sure of what you are doing, do not use this script.
It's possible to re-program the Crazyradio using a BusPirate and this script via SPI.
Couple of caveats:
Prerequisites:
Instructions:
Bus Pirate CrazyRadio =========================== MOSI () -> MOSI (6) MISO () -> MISO (8) SCK () -> SCK (4) CS () -> CS (10) AUX () -> PROG (2) 3V3 () -> 3V3 (5) GND () -> GND (9)