使用NRF52810不使用协议栈功能,使用uart升级的实现

问题:
因为客人使用NRF52810比较熟悉,想用这颗芯片来做MCU主控功能,不需要使用协议栈的相关功能,并且可以实现串口升级;而我们默认的程序启动方式是在协议栈固件中的MBR程序启动,所以没有协议栈,我们的程序无法正常启动;

解决方案:

方案总体概述:
Cpu 启动后从flash 0地址读取命令,我们将MBR 固件从协议栈固件分离出来,单独将MBR固件放在flash 0地址位置;将MBR程序启动后检测是否有BootLoader,有BootLoader跳转到BootLoader程序中运行,如果BootLoader不升级,跳转到application地址运行,如果升级,进行对应用程序的升级;

第一步:生成您自己的私钥。输入以下命令行:
nrfutil keys generate private.pem

第二步:根据您的私钥生成您的公钥。
nrfutil keys display --key pk --format code private.pem --out_file dfu_public_key.c

第三步:编译应用程序examples\peripheral\blinky\pca10040e\mbr。使用SES IDE编译出的HEX文件。不要使用预编译的“blinky_pca10040e_mbr”HEX”在’blinky/hex’文件夹,因为它已经与MBR合并了。

第四步:生成setting文件
nrfutil settings generate --family NRF52810 --application blinky_pca10040e_mbr.hex --application-version 1 --bootloader-version 2 --bl-settings-version 2 settings.hex

第五步:合并固件
【1】mergehex.exe --merge secure_bootloader_uart_mbr_pca10040e.hex settings.hex --output bl_temp.hex
【2】mergehex.exe --merge bl_tem

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值