2020年2月10日 星期一

韌體篇~燒錄與更新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複製到紅色框內

2.2 設置按鍵進入bootloader方式修改:
2.2.1 啟用按鍵進入bootloader功能(secure_bootloader專案的sdk_config.h中修改)
2.2.2 修改按鍵PIN number(secure_bootloader專案的sdk_config.h中修改)


2.3 修改LED PIN number(secure_bootloader專案的pca10056.h中修改)


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檔案合併41
1Bootloader.hex
2bootloader_settings.hex
3s140_nrf52_6.1.1_softdevice.hex

4USBD_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

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

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

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



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

這一篇介紹的是韌體更新的燒錄
韌體更新會分為兩的部分介紹, 藍牙OTA DFU 韌體更新及USB DFU 韌體更新


1. 藍牙OTA DFU 韌體更新

1. 產出DFUZIP

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. 將nRF52 DK (nRF52840/nRF52833 DK 皆可)接到PC上執行nRFConnect for PC中的Bluetooth Low Energy


4. 選擇要執行DFU的設備

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



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

6. 選擇DfuTarg

7. 選擇Start Secure DFU選項

8. 依序執行以下步驟
*按Start DFU
*若Zip檔沒有問題, 會出現以下傳送的曲線圖
*DFU完成




2. USB DFU 韌體更新

2.1 產出DFUZIP


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.2 進入bootloader(DFU模式)
按著按鍵後插入PC USB插槽,NRF52840會進入bootloader模式,在電腦上會出現nRF52 SDFU com port


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

















沒有留言:

張貼留言