nrf52840合成4合1烧录文件

it2023-06-18  75

 

nRF52840 Memory layout

用途地址范围大小 (KB)Bootloader settings0x000F_F000 - 0x0010_00004MBR parameter storage0x000F_E000 - 0x000F_F0004Bootloader0x000F_8000 - 0x000F_E00024Zigbee settings0x000E_C000 - 0x000F_800048Application area (incl. free space)0x0000_1000 - 0x000E_C000940Master Boot Record (MBR)0x0000_0000 - 0x0000_10004

批处理文件脚本:

cd C:\Python27\Scripts

::1)复制工程hex文件到指定文件夹, 需设置文件地址 ::修改指定文件夹或文件自己修改ObjPath源文件位置,HexDestPath目标文件或文件夹位置 set ObjPath=E:\STM32F429-PSG-GW-NEW\GateWay-BLE-0915\SDK_15.2.0_nrf52840_1to3_VER3.5\examples\ble_central_and_peripheral\experimental\ble_app_hrs_rscs_relay\pca10056\s140\arm5_no_packs\_build\nrf52840_xxaa.hex

set HexDestPath=C:\Python27\Scripts\nrf52840

::复制指定路径指定文件或文件夹,至HexDestPath路径文件夹 echo y | xcopy "%ObjPath%" /e /r /k "%HexDestPath%" ::xcopy /e/c/h/z "%~pd0*.*" "%out%"

::1)生成 settings page for current image: gnt_app.hex ::Bootloader settings存储在Flash最后一个page,它将决定复位后芯片的行为,比如是进入DFU模式还是应用模式,同时它还包含image的CRC值和版本等信息。如果要求芯片复位后进入application,必须正确生成该bootloader settings hex

nrfutil settings generate --family NRF52840 --application nrf52840\nrf52840_xxaa.hex --application-version 1 --bootloader-version 1 --bl-settings-version 1 nrf52840\settings.hex

::2)合成一个hex用于生产烧录 ::merge bootloader, app and softdevice mergehex.exe --merge nrf52840\bootloader52840.hex nrf52840\s140_nrf52_6.1.0_softdevice.hex nrf52840\nrf52840_xxaa.hex  --output nrf52840\ble_sd_bt_app.hex

::merge bootloader and settings mergehex.exe --merge nrf52840\ble_sd_bt_app.hex nrf52840\settings.hex --output nrf52840\Production_FW_V1.1.2.hex

@pause

注意:红色字体的位置如果是nrf52840,必须是nrf52840,如果是nrf52832,此处可以是NRF52。不然按NRF52合成,烧录的时候会发现烧录地址不对;

按NRF52840合成再 烧录,正确:

按NRF52合成 再烧录的:

会发现烧录地址有差别。

分享处理希望对大家有帮助。

 

 

最新回复(0)