Nrf51 学习笔记1

Nrf51 学习笔记1 bootloader移植

BootLoader

Dfu移植(基于sdk12.1 张xx的Bootloader基于 sdk12.3)

1.环境搭建
Nrf51_sdk_12_1.zip
解压至英文目录
Gcc-arm-none-eabi-4_9-20150921-win32.exe

在这里插入图片描述
Mingw
(我这个版本以及gcc版本与其他不一样,但是也能用)
需要配置环境变量

在这里插入图片描述
micro_ecc_lib_nrf51.lib
Micro-ecc-master.zip解压后重命名为\micro-ecc放入sdk12\external\micro-ecc
进入sdk12\external\micro-ecc\nrf51_keil\armgcc,打开命令窗口输入ming32-make.exe
如果路径不对修改components\toolchain\gcc\makefile.windows文件。
nrfutil工具 (用于密钥和升级包的的制作,请妥善保管好密钥)
Python2.7.15-amd64安装并配置环境变量(需加入Scripst目录,该目录相当于bin目录)
Python下pip安装
解压pc-nrfutil-master.zip在这里插入图片描述
后运行Python setup.py install 命令安装nrfutil,需要联网可能较慢。
2.密钥生成
私钥生成
Nrfutil keys generate d:\Materia\tmp\nrf51\private.pem

公钥生成
nrfutil keys display --key pk --format code D:\Materia\Tmp\nrf51\private.pem --out_file D:\Materia\Tmp\nrf51\dfu_public_key.c
在这里插入图片描述

3.bootloader移植
使用sdk12\examples\dfu\bootloader_secure\pca10028\arm5_no_packs例程
(nRF51422 = nRF51822 + ANT,不使用ANT时功能一样)
mdk配置如下
在这里插入图片描述

(这个不行可以暂时忽略)
在这里插入图片描述

替换环境搭建时生成的dfu_public_key.c
代码修改如下
(sdk12.1 的BOOTLOADER_SETTINGS_ADDRESS与张xx不一致)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.bootloadr 烧录

打开nRFgo Studi 擦除整片flash
烧写SoftDevice
在这里插入图片描述
烧写bootloader
在这里插入图片描述
打开nRF Connect

在这里插入图片描述
5.升级文件制作
( nrf51422_xxac.hex 为自己编写的app)
nrfutil pkg generate --hw-version 51 --application-version 1 --application nrf51422_xxac.hex --sd-req 0x87 --key-file private.pem dfufile.zip
将dfufile.zip放入手机文件夹
6.bootloader升级
nRF connect 连接DfuTag设备,然后点击dfu图标

在这里插入图片描述
在这里插入图片描述
如果成功nRf会断开连接且显示成功,设备也会进入App

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值