1)bootloader准备
基于官方的bootloader例子程序,有2处要点。
如果不需要按键(本项目无按键),将 NRF_BL_DFU_ENTER_METHOD_BUTTON 配置为0;
生成public key 和 private key的脚本:
nrfutil keys generate private.pem nrfutil keys display --key pk --format code private.pem --out_file public_key.c |
编译通过,准备好bootloader.hex准备烧录使用。
注意:如果电路没有外置32K晶体,要修改sdk_config.h,具体操作见:
2)app准备
将app.hex和private.pem放在同一个目录下,运行以下脚本:
nrfutil pkg generate --hw-version 52 --application-version 1 --application app.hex --sd-req 0x101 --key-file private.pem app_dfu_package.zip |
生成的app_dfu_package.zip,传输到手机上,后面DFU升级使用。
注意:--sd-req 0x101,其中的0x101是在nRFgo Studio软件里显示的SoftDevice的ID。
3)烧写方法
打开nRFgo Studio软件,选择Device manager里面的nRF5x Programming。
首先,在右面的Erase All;
其次,选择SoftDevice,烧写;
然后,选择bootloader,烧写;
4)操作过程
完成1-3后,即可打开nRF Connect手机APP,扫秒BLE设备,应该能发现名称为“DfuTarg”的设备,这就是bootloader进入了DFU状态。
连接后,在APP界面能看到DFU标志,点击,选择文件并确定,DFU升级过程即开始。
带着使命来到世上的你,给他人提供价值,才有价值