There are a couple options for programming our BMD-200 and BMD-300 Series evaluation kits.
Serial Wire Debug (SWD): The BMD-200 is based on the Nordic Semiconductor nRF51. The BMD-300 Series is based on the Nordic Semiconductor nRF52. Both utilize the standard ARM Serial Wire Debug (SWD) programming and debugging interface. From the perspective of the SWD header on the evaluation kit, four signals are required at minimum:
- Vtref (Pin 1) - Module power - This is an input to the J-Link interface. The target hardware needs to be powered externally
- SWDIO (Pin 2) - Serial wire debug I/O for debug and programming
- SWDCLK (Pin 4) - Serial wire debug clock input for debug and programming
- GND (Pins 3 and 5) - Module ground
The BMD-300 Series Evaluation Kit also provides a J-Link-OB interface with a "Debug Out" connector. This interface has additional signals that need connected:
- Board Detect (Pin 9) - Switches the J-Link-OB interface to the external debug connector. Connect this pin to ground.
- SWO (Pin 6, optional) - Serial debug out messages can be sent on SWO.
- RESETn (Pin 10, optional) - Low active reset.
This method can be used to turn the evaluation kit into a programmer for external target boards. See Programming an External Module Using a BMD-300 Evaluation Kit.
DFU (OTA and UART): Nordic Semiconductor's DFU can be used with both Over the Air (OTA) and Universal Asynchronous Receiver Transmitter (UART) update paths. Updates can be signed which prevents the ability to load rogue firmware on a module. The Nordic SDK has several DFU examples here. (Note that this link refers to SDK v15, the latest version at the time of publication.)