Here introduce the firmware perspective about how to program your code onto MDBT50Q-RX dongle.
Believed all readers have done the hardware setting and now has well prepared to load the code onto the dongle. (If not yet done the hardware setting, pls find it here)
In this blog, we will introduce the procedure based on below 2 scenarios
- First time to load the code
- DFU Firmware update by USB or OTA (through Bluetooth over the air)
First time to load the code:
1. Generate Public Key
For security reason, Public Key is the first step to proceed (DOS Environment MUST)
Command to produce Public Key is in below:
nrfutil keys generate
public_key.pem
nrfutil keys display --key pk --format code public_key.pem
--out_file public_key.c
2.1 Open a project
\nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10056_ble
2.3 Set up Button behavior to trigger the Bootloader function start
2.3.1 Activate to enter the Bootloader function by using button pressed. (Developers may change to others if don't like this way. Just enter "secure_bootloader" project and modify "sdk_config.h")
2.3.2 Modify button pin no. (Developers can modify "sdk_config.h" in "secure_bootloader" project)
2.3.3 Modify LED pin no. (Developers can modify "pca10056.h" in "secure_bootloader" project)
3. Edit Application
Open and edit the project
\nRF5_SDK_15.3.0_59ac345\examples\peripheral\usbd_ble_uart\pca10056\s140\arm5_no_packs
4. Generate bootloader_settings.hex file
nrfutil.exe settings generate --family NRF52840 --application
USBD_TO_UART.hex --application-version 3 --bootloader-version 2 --bl-settings-version
1 bootloader_settings.hex
1、Bootloader.hex
2、bootloader_settings.hex
3、s140_nrf52_6.1.1_softdevice.hex
4、USBD_TO_UART.hex
mergehex.exe -m Bootloader.hex bootloader_settings.hex -o Combind0.hex
mergehex.exe -m Combind0.hex s140_nrf52_6.1.1_softdevice.hex -o
Combind1.hex
mergehex.exe -m Combind1.hex USBD_TO_UART.hex x -o USBD_TO_UART_BT_SD_APP.hex
6. Use nRFconnect to burn the merged code onto dongle (nRF52840 IC)
Launch the programmer
Load the merged .hex file
Program the .hex file
Right here, the code should be loaded onto dongle successfully.
Hope all you guys enjoy the journey and completed the setup.
In case you are not happy about the code you just loaded?
No worry, we now introduce DFU process in below to retrieve your happiness.