韌體篇~燒錄與更新MDBT50Q-RX USB Dongle(Nordic nRF52840 / nRF52833)

在這一篇, 我們將來介紹如何把開發好的的Code燒錄在MDBT50Q-RX的Dongle裡

首先, 相信大家都已經把硬體設置架設完成

(硬體篇~燒錄與更新MDBT50Q-RX USB Dongle (Nordic nRF52840 / nRF52833)

為方便大家閱讀, 這一篇的將會分成兩部分來介紹

1. 首次Load Code燒錄篇

2. 韌體更新(DFU), USB更新及藍牙更新篇

以下為首次燒錄Load Code程序如下:

首次Load Code燒錄篇

1. 產出Public Key

nrfutil keys generate public_key.pem

nrfutil keys display –key pk –format code public_key.pem –out_file public_key.c


2. 編譯Bootloader


2.1 開啟專案

\nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10056_usb\arm5_no_packs


2.2 將產出的public key複製到紅色框內

Paste Public Key

2.2 設置按鍵進入bootloader方式修改:

2.2.1 啟用按鍵進入bootloader功能(在secure_bootloader專案的sdk_config.h中修改)

Set Up Bootloader-1

2.2.2 修改按鍵PIN number(secure_bootloader專案的sdk_config.h中修改)

Modify Button GPIO

2.2.3 修改按鍵PIN number(secure_bootloader專案的sdk_config.h中修改)

Modify LED GPIO

3. 編譯 Application

開啟並編譯下列專案\nRF5_SDK_15.3.0_59ac345\examples\peripheral\usbd_ble_uart\pca10056\s140\arm5_no_packs

4. 產出bootloader_settings.hex檔

nrfutil.exe settings generate –family NRF52840 –application USBD_TO_UART.hex –application-version 3 –bootloader-version 2 –bl-settings-version 1 bootloader_settings.hex

5. FW檔案合併4合1

5.1、Bootloader.hex

5.2、bootloader_settings.hex

5.3、s140_nrf52_6.1.1_softdevice.hex

5.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. 使用 nRFconnect 燒入41檔到 nRF52840 IC

nRFConnector Launch the Programmer

7. 載入41HEX檔 (Load the HEX file)

Load the merged file

8. 燒入程式 (Burn the HEX file)

Burn the .hex file

程序至此, 首次Load Code已完成

韌體更新(DFU), USB更新及藍牙更新篇

這一篇介紹的是韌體更新的燒錄

韌體更新會分為兩的部分介紹, 藍牙OTA DFU 韌體更新及USB DFU 韌體更新

1. 藍牙OTA DFU 韌體更新

1. 產出DFU用ZIP檔

nrfutil pkg generate –hw-version 52 –sd-req 0xa9 –application-version 0xFF –application USBD_TO_UART.hex –key-file public_key.pem USBD_TO_UART.zip

2. 進入bootloader(DFU模式)

按著按鍵後插入PC USB插槽,NRF52840會進入bootloader模式,在電腦上會出現nRF52 SDFU 的com port。

IMG_1784

3. 將nRF52 DK (nRF52840/nRF52833 DK 皆可)接到PC上執行nRFConnect for PC中的Bluetooth Low Energy

nRF Connect for Bluetooth Low Energy

4. 選擇要執行DFU的設備

Select DFU Objective

*若第一次執行會要求燒入相關的FW,按Yes

First Time DFU

5. 按Start Scan掃描要DFU的設備

Find objective DFU Device

6. 選擇DfuTarg

Select DFU Trag

7. 選擇Start Secure DFU選項

Start Secure DFU

8. 依序執行以下步驟

Step 1

*按Start DFU

Start DFU

*若Zip檔沒有問題, 會出現以下傳送的曲線圖DFU Progress Start

*DFU完成

DFU Progress completed

2. USB DFU 韌體更新

1 產出DFU用ZIP檔

nrfutil pkg generate –hw-version 52 –sd-req 0xa9 –application-version 0xFF –application USBD_TO_UART.hex –key-file public_key.pem USBD_TO_UART.zip

2 進入bootloader(DFU模式)

按著按鍵後插入PC USB插槽,NRF52840會進入bootloader模式,在電腦上會出現nRF52 SDFU 的com port。

3. 執行USB DFU

利用DOS模式執行 nrfutil dfu usb-serial -pkg USBD_TO_UART.zip -p COM69

*DFU完成

謝謝各位讀者耐心的閱讀, 勁達國際電子的MDBT50Q-RX USB Dongle韌體的燒錄與更新介紹到這邊已經完成。 若還有任何不清楚或需要支援的地方, 歡迎隨時透過以下的聯絡方式與我們聯絡!

Raytac Corporation 勁達國際電子有限公司

A BT5.1 & BT5 & BT4.2 module maker based on Nordic nRF51 & nRF52 solution

(nRF52840 & nRF52833 & nRF52832 & nRF52810 & nRF52811 & nRF51822)

www.raytac.com          email: cs@raytac.com          Tel: +886.2.3234.0208

對「韌體篇~燒錄與更新MDBT50Q-RX USB Dongle(Nordic nRF52840 / nRF52833)」的想法

  1. 第二個 2.2.2 修改按鍵LEDS_number(在nRF5_SDK_15.3.0_59ac345\components\boards\pca10056.h中修改)
    應該改為 2.2.3 修改按鍵LEDS_number

發表留言