nordic dfu 功能工具和生成步骤

软件工具:

gcc-arm-none-eabi-4_9-2015q3    编译工具链

MinGW                          GNU工具链导入库的集合
micro-ecc                       Nordic DFU采用了micro-ecc实现ECDSA算法,需要micro-ecc源码
pc-nrfutil                         nordic的pc的工具,支持无线DFU和加密功能
python-2.7                      pc-nrfutil需要用的Python环境

gcc-arm-none-eabi-4_9-2015q3    下载地址:https://launchpad.net/gcc-arm-embedded/+download
MinGW                                           下载地址:https://osdn.net/projects/mingw/releases/#
micro-ecc                                       下载地址:https://github.com/kmackay/micro-ecc
Python                                            下载地址:https://www.python.org/downloads/

duf的一些步骤:

下载完mecro-ecc,make一下,生成.bib的库文件。

nordic dfu 功能工具和生成步骤_第1张图片

生成key
D:\duf\mutil>nrfutil keys generate private_mutil.pem

生成dfu_public_key_mutil.c
D:\duf\mutil>nrfutil keys display --key pk --format code private_mutil.pem 
--out_file dfu_public_key_mutil.c

打包升级应用程序包
D:\duf\mutil>nrfutil pkg generate --hw-version 52 --application-version 1 --application nrf52832_xxaa.hex --sd-req
0xa8 --key-file private_mutil.pem app_dfu52.zip

|s130_nrf51_1.0.0|0x67|
|s130_nrf51_2.0.0|0x80|
|s132_nrf52_2.0.0|0x81|
|s130_nrf51_2.0.1|0x87|
|s132_nrf52_2.0.1|0x88|
|s132_nrf52_3.0.0|0x8C|
|s132_nrf52_3.1.0|0x91|
|s132_nrf52_4.0.0|0x95|
|s132_nrf52_4.0.2|0x98|
|s132_nrf52_4.0.3|0x99|
|s132_nrf52_4.0.4|0x9E|
|s132_nrf52_5.0.0|0x9D|
|s132_nrf52_6.0.0|0xa8|

协议栈的SoftDevice version 可以在nRFgo Studio中查看:

nordic dfu 功能工具和生成步骤_第2张图片

生成mutil_setting.hex
D:\duf\mutil>nrfutil settings generate --family NRF52 --application app.hex --application-version 1 
--bootloader-version 1 --bl-settings-version 1 mutil_setting.hex
设备启动,BootLoader会检查settings 页面的CRC,如果settings页面不存在,程序会继续停留
在BootLoader,而不会跳转到应用程序。

合成文件
D:\duf\mutil>mergehex --merge s132_nrf52_6.0.0_softdevice.hex bootloard.hex nrf52832_xxaa.hex --output duf3to1.hex

D:\duf\mutil>mergehex --merge duf3to1.hex mutil_setting --output mutil_dfu52832_oad.hex

你可能感兴趣的:(NRF52832,NRF51822)