天天看點

[nrf52][SDK17] 如何使用官方BootLoader

所需檔案已經編譯完畢,直接放入指定目錄。

**\nRF5_SDK_17.0.2_d674dde\external\micro-ecc

​​micro-ecc.rar​​

BootLoader工程位置

xx\nRF5_SDK_17.0.2_d674dde\examples\dfu\secure_bootloader

使用keil編譯完成後,直接燒錄,是無法運作的,因為[mbr_nrf52_2.4.1_mbr.hex]引導檔案沒有燒錄。

xx\nRF5_SDK_17.0.2_d674dde\components\softdevice\mbr\hex\mbr_nrf52_2.4.1_mbr.hex

将檔案複制到工程根目錄

寫一個腳本,命名[program.bat]

@echo off

@echo eraseall
nrfjprog --eraseall

@echo program  boot.hex
nrfjprog --program .\out\nrf52_boot_usb_dfu.hex --verify

@echo program mbr_nrf52_2.4.1_mbr.hex
nrfjprog --program .\mbr_nrf52_2.4.1_mbr.hex --verify

@echo reset chip
nrfjprog --reset      
  1. 生成settings檔案
  2. 合并3個hex檔案(boot+settings+app)
  3. 擦除晶片
  4. 燒錄合并檔案
  5. 燒錄mbr_nrf52_2.4.1_mbr.hex
  6. 複位晶片
@echo off
set app_hex=%1
set nrf_tool_path=..\..\..\..\tool\nrf_tool\nrf-command-line-tools
set nrf_tool_path1=..\..\..\..\tool\nrf_tool\
set nrf_boot_path=..\nrf52_boot\out\nrf52_boot_usb_dfu.hex

@echo nrfutil settings generate
%nrf_tool_path1%\nrfutil settings generate --family NRF52QFAB --application .\out\%app_hex%.hex --application-version 0 --bootloader-version 0 --bl-settings-version 2 ..\dfu\settings.hex

@echo merge file
%nrf_tool_path%\mergehex -m %nrf_boot_path% ..\dfu\settings.hex .\out\%app_hex%.hex -o ..\dfu\prog.hex

@echo eraseall
%nrf_tool_path%\nrfjprog --eraseall

@echo program  prog.hex
%nrf_tool_path%\nrfjprog --program ..\dfu\prog.hex --verify

@echo program mbr_nrf52_2.4.1_mbr.hex
%nrf_tool_path%\nrfjprog --program ..\dfu\mbr_nrf52_2.4.1_mbr.hex --verify

@echo reset chip
%nrf_tool_path%\nrfjprog --reset      

繼續閱讀