Passion Mission Action

訊息公告

May.22.2024

如何產生執行DFU(OTA)所需的 hex/zip 檔 – 步驟說明#1 - Bootloader

本系列的文章將會引導使用者如何在使用勁達的nRF52840系列模組編寫程式時,啟用 Secure DFU OTA(空中升級) 的功能。
 

主題:使用nRF52840架設DFU OTA功能 (以SDK版本17.1.0為例)
DFU:Device Firmware Update;裝置韌體升級
OTA:Over the air;空中升級

 

IC: nRF52840
DK: PCA10056(對應到nRF52840)
SDK: 17.1.0
SD: s140_nrf52_7.2.0_softdevice.hex
IDE: Keil C
PC: Win 10


Secure DFU OTA 的系列文章會有三篇,分別涉及:

Part C: 合併建構完成的檔案 (接續Part B 發出)

本篇文章主題為 Part A: Bootloader 。

 


nRF52840SDK17.1.0做Secure DFU(OTA)的方法如下:

 

Part A: Bootloader

路徑: nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_bootloader\pca10056_s140_ble\arm5_no_packs
 

步驟1:在構建Bootloader時,若缺少public key,會產生Error錯誤:(如下圖)

1-Error without public key
 

步驟2:在Bootloader裡面產生public key檔案的做法
A. 到DOS的下列路徑:..\Python27\Scripts
B. 執行以下指令:

nrfutil keys generate private.pem
nrfutil keys display --key pk --format code private.pem --out_file public_key.c

2-Generate public key file


步驟3:將public_key.c的pk[64]內容(下圖上半部分紅框)覆蓋到dfu_public_key.c(下圖下半部分)內

※註:記得存取以下3個自動產生的檔案
private.pem
public_key.c
dfu_public_key.c

3-Copy pk[64] code
 


步驟4:重新構建Bootloader的程式碼,並得到 nrf52840_xxaa_s140.hex 檔案。

 

※本系列第二篇 - Part B: Application 的說明文章預計於下周(2024年5月29日)刊登。


 

 

Technical guidelines provided by R&D Manager: Mr. MW Lee
Edited by Sales Manager: Mr. Tony Yin


Raytac Corporation 勁達國際電子股份有限公司  A company of Abietec
Bluetooth & WiFi module maker based on Nordic nRF54, nRF53, nRF52, nRF7002 solution
BT5.4 &BT5.3 & BT5.2 & BT5.1 Qualified, FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
Bluetooth Solution: nRF54, nRF5340, nRF52840, nRF52833, nRF52832, nRF52820, nRF52811, nRF52810, nRF52805, nRF51822
WiFi Solution: nRF7002
http://www.raytac.com/tw/
email: service@raytac.com
Tel: +886-2-3234-0208