Passion Mission Action

News & Blog

Feb.19.2019

How to program your firmware to module

Hardware
You will need a Nordic nRF5X DK or a Segger J-link as programmer to load the firmware. To use Nordic nRF5X DK to debug the SoC as well, you will need to order corresponding nRF5X DK to match the SoC number. For example, order nRF52840 DK to debug nRF52840 SoC or order nRF52 DK to debug nRF52832/52810 SoC. But if you are only using it as programmer, any version of nRF5X DK will work as we only use the J-link on this board.

Software
Please download Nordic nRFGo Studio for programming. Remember to install nRF5X Command Line Tools if the board was not detected by nRFGo Studio. Once they are all connected, you can then start programming. Please make sure to “erase all” every time before programming.

For more tutorials and demo of sample code, please visit Nordic’s DevZone and Infocenter where have ample resources to utilize.


Preparing
1. A single, combined hex file is required. Please combine softdevice and application or/and bootloader (depending on your firmware design) together before programming. This will shorten programming time and help to manage your code easier.

2. Need a simple method to check programming status. The easiest way is to check the device name if device will broadcast device name after programming is done; or use I/O to trigger LED and its behavior. This does not aim to test any or full function of your device, only a simple method for the operator to know programming status.

Programing
SoftDevice + Application
1. Erase all first. Then program Softdevice and follow by Application code.
2. Or you may combine code as stated in above. Erase code and program the combined code.

SoftDevice + Bootloader+ Application
1. Either erase all first. Program the Softdevice and follow by Bootloader. Then use DFU to update the application code.
2. Or suggested having a combined code (SoftDevice+Application+Bootloader) for program. Simply erase all and follow by programming the combined code.
*Remark
Bootloader is needed for DFU (OTA) Function.
SDK 11 (included) and before - a legacy DFU method, which is simple but less security
SDK 12 (Included) and after - a latest DFU method, which has higher security.

To easy customer's IoT device mass production, Raytac provide code pre-program service into module before shipment. There are requirements listed in below for customers who need the service!
1. A single, combined hex file is required. Please combine softdevice and application or/and bootloader (depending on your firmware design) together before programming. This will shorten programming time and help to manage your code easier.
2. Need a simple method to check programming status. The easiest way is to check the device name if device will broadcast device name after programming is done; or use I/O to trigger LED and its behavior. This does not aim to test any or full function of your device, only a simple method for the operator to know programming status.