Tuesday, December 18, 2018

Bluetooth Project: How to program your firmware to module

After setup been done, here comes the next question: How to program the firmware in to the module. We are using some simple instruction in below for reader's quick reference.

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 or Nordic nRF Connect for Desktop 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. 

Programing 
Case A. SoftDevice + Application

1. If Softdevice and Application code separately
Erase all first. Then program Softdevice and follow by Application code.
   
2. If Softdevice and Application combined code is available (Recommend)
Erase all first. Then program the combined code
   
 **Raytac module comes with testing code programmed. Please erase the testing code as the first step and then start the programming.

Case B. SoftDevice + Bootloader+ Application

1. Softdevice+Bootloader 
Erase all first. Program the Softdevice and follow by Bootloader. Then use DFU to update the application code.

2. Softdevice+Application+Bootloader combined code is available (Recommend)
Erase all First and follow by programming the combined code.

 **Raytac module comes with testing code programmed. Please erase the testing code as the first step and then start the programming.

*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.


Raytac Corporation 勁達國際電子有限公司
A BT5 & BT 4.2 & BTv4.1 module maker based on Nordic nRF51 & nRF52 solution 
(nRF51822 & nRF51422 & nRF52832 & nRF52810 & nRF52840)
www.raytac.com          email: cs@raytac.com          Tel: +886.2.3234.0208

No comments:

Post a Comment