SDK12.0 nrf52832 空中升级详细步骤
小潘
921537102
本文档为个人学习总结,只作为学习交流用途
欢迎大神指导纠正错误。
打开<sdk 路径>\examples\dfu\bootloader_secure 目录下为 bootloader 源文件存放的路径,如
图。根据官方介绍,SDK12 以前的 bootloader 为 Legacy DFU,12 版本正式引入了 Secure DFU,
是不能与旧版本的兼容的。打开该目录可以发现有两种 bootloader,有_debug 为调试版本,
如果需要避免一些检查可以打开这个版本,本次实验不是使用 debug 版本。本次实验以
nrf52832 SDK12.2 为例,使用正式的 bootloader 版本。
编译 bootloader 出现两个错误:1、uecc.h 文件找不到。2、需要生成私有的 key
首先要安装 micro-ecc
1、根据提示安装 4.9-2015-q3-update 版本的 GCC compiler toolchain for ARM
2、安装一个 WinGW 或者 GCC Make 确保可以运行 Make 编译,这里安装的是 WinGW ,
配置 win 系统环境变量 Path,将 MinGW 安装目录里的 bin 文件夹的地址添加到 PATH 里面,
(注意:PATH 里两个目录之间以英文的;隔开)。打开 MinGW 的安装目录,打开 bin 文件
夹,将 mingw32-make.exe 重命名为 make.exe,环境变量 Path 配置如图。
在系统变量 Path 编辑
3、安装之后在 GitHub 中,github 地址为
https://github.com/kmackay/micro-ecc
下 载 ecc 的 zip 源 码 复 制 到 <SDK 路 径 >\external\micro-ecc 目 录 下 ,
micro-ecc-master 改名为 micro-ecc,并解压文件。
注意源文件的路径
4、在 bootloader 中找到 external\micro-ecc\nrf52_keil\armgcc 这个路径这
里使用的是 nrf52 和 keil 编译器,在这个目录中有 Makefile 文件,shift+鼠标
右键在此处打开 DOS 命令,输入 make,则开始编译创建 micro_ecc_lib_nrf52.lib
库文件,生成之后编译 bootloader,第一个错误已经解决。
接下来为第二步 Key 的生成
Zip 文件的打包和 key 的生成需要用到 nrfutil 软件,注意,是新版本的 nrfutil 软件(version 1.5.0
or later)与以前不一样的是,是 Python Package,首先在 GitHub 下载 nrfutil 的相关文件,在
这里我安装了 Python2.7,使用 Python 来安装 nrfutil。
Nrfutil 相关文件下载地址:
https://github.com/NordicSemiconductor/pc-nrfutil/
1、安装 Python2.7,将 Python 的路径添加到系统的环境变量中。(方法与上面安装 WINGW
类似)
2、安装好了 Python2.7 之后 pip 已经安装上了,将 pip 的路径配置到环境变量中,打开 cmd,
输入 pip 出现命令列表则表示已经安装成功
我的 Python 和 pip 路径分别为:
3、GitHub 中下载 nrfutil 的相关文件 https://github.com/NordicSemiconductor/pc-nrfutil/
4、解压压缩包并打开有 setup.py 文件的目录,在此处打开 dos 命令(shift+右键打开)。
5、输入 python setup.py install 这步骤需要有网络的时候运行,安装可能需要等待几分钟时
间。