nRF52832 BLE_DFU空中升級OTA(二)編譯下載(SDK14.2.0)


上一篇配置好了開發環境,現在就可以試着跑一下例程了,這里需要兩個例程,一個是bootloader的,一個是應用程序的,其路徑分別為:

bootloader:SDK_14.2.0工程\examples\dfu\bootloader_secure_ble\pca10040\arm5_no_packs

應用程序:SDK_14.2.0工程\examples\ble_peripheral\ble_app_buttonless_dfu\pca10040\s132\arm5_no_packs

 

這里用到了一些工具(參考文章及下載地址http://www.cnblogs.com/iini/p/9314246.html)下面開始步驟

1,雙擊“key_generate.bat”以生成相應的私鑰(priv.pem)和公鑰(dfu_public_key.c

key_generate.bat代碼如下,也可以在CMD命令行輸入

::generate private key
nrfutil keys generate priv.pem
::generate public key related with private key: priv.pem
nrfutil keys display --key pk --format code priv.pem --out_file dfu_public_key.c

 

2,dfu_public_key.c替換目錄SDK_14.2.0工程\examples\dfu\dfu_req_下的同名文件,這個是公鑰,寫入bootloader里面的

3,編譯bootloader工程:SDK_14.2.0工程\examples\dfu\bootloader_secure_ble\pca10040\arm5_no_packs

4,將生成的hex改為:bootloader.hex,放入(替換)Script_SDK14_S132_nRF52832文件夾

5,編譯應用程序工程:SDK_14.2.0工程\examples\ble_peripheral\ble_app_buttonless_dfu\pca10040\s132\arm5_no_packs

6,將生成的hex修改為:app.hex,放入(替換)Script_SDK14_S132_nRF52832文件夾

7,雙擊“settings_page_generate.bat” 生成settings.hex

settings_page_generate.bat”代碼如下

::generate settings page for current image: app.hex
nrfutil settings generate --family NRF52 --application app.hex --application-version 1 --bootloader-version 2 --bl-settings-version 1 settings.hex

 

8,雙擊“mass_program.bat”來燒錄softdeviceappbootloader,自帶擦除芯片和合並hex

mass_program.bat代碼如下

::merge bootloader and settings
mergehex.exe --merge bootloader.hex settings.hex --output bl_temp.hex
::merge bootloader, app and softdevice
mergehex.exe --merge bl_temp.hex app.hex s132_nrf52_5.0.0_softdevice.hex --output whole.hex

nrfjprog.exe --eraseall -f NRF52
nrfjprog.exe --program whole.hex --verify -f NRF52 
::the following two commands are used to enable PIN RESET          
::nrfjprog.exe --memwr 0x10001200 --val 0x00000015 --verify -f NRF52    
::nrfjprog.exe --memwr 0x10001204 --val 0x00000015 --verify -f NRF52   
nrfjprog.exe --reset -f NRF52

 

好了,到了這一步,就可以用利用nRF ConnectnRF Toolbox來連接設備看看是否有dfu的標志了,接下來是怎么升級,至於升級的程序(工程)怎么來,下一篇再介紹

 

9,將新的工程(用來升級的)編譯的hex文件改名為app_new.hex,放入(替換)Script_SDK14_S132_nRF52832文件夾

10,雙擊“zip_generate.bat”,生成SDK14_app_s132.zip,注意這里用到了私鑰priv.pem,私鑰要保管好哦

zip_generate.bat”代碼如下

nrfutil.exe pkg generate --application app_new.hex --application-version 2 --hw-version 52 --sd-req 0x9D --key-file priv.pem SDK14_app_s132.zip

 

11,下載SDK14_app_s132.zip到手機,利用nRF ConnectnRF Toolbox升級

 

附圖

連接

 

界面

 

使能

 

進入bootloader

 

選擇升級

 

升級中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM