可以定做手机自动升级
流程记录:
第一步:nrfutil环境安装
参考文档:SDK12空中升级详细步骤操作
所需安装包:python 2.7.7 Pip 9.0.1 setuptools pc-nrfutil-master
环境安装顺序如下:
1、 安装python 2.7.7环境
按照 SDK12空中升级详细步骤操作安装python
2、安装 setuptools
Python 安装成功后,安装 setuptools 时只需解压压缩包,CMD 进入解压目录,执行 python setup.py install 即可。
3、安装 pip
Pip 的安装跟 setuptools 安装一样,但有两种方式,第一种,只需解压压缩包 Pip
CMD 进入解压目录,执行 python setup.py install 即可。第二种 CMD 下运行 easy_install pip
进行网上下载安装
检测安装 pip 成功标志,window 和 ubuntu 上输入 pip --version 可以看到版本号
- 安装nrfutil
nrfutil安装是安装的关键。首先解压压缩包,进入到解压目录,首先是进行依赖包的安装,这个过程有点费时间,需要网上下载资料。解压目录执行pip install –r requirements.txt进行依赖包安装。完成后同样解压目录进行python setup.py install 进行安装即可。安装完毕进行检查是否安装上nrfutil切换到根目录下,执行nrfutil 执行nrfutil或者nrfutil version 可以查看版本号。
第二步:协议栈下载
下载协议栈之前首先使用nrfgostudio擦除一遍
然后用MDK下载协议栈
第三步: bootloader编译、修改并下载
解压sdk包,打开例程下的bootloader
打开然后什么都不动编译一遍然后报错如下:
然后将下载的一个叫micro-ecc-master文件夹下的四个文件拷贝到报错的路径..\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc下
拷贝的四个文件:
执行完这步操作后继续报错如下:
然后运行C:\Users\Administrator\Desktop\nRF5_SDK_13.1.0_7ca7556\external\micro-ecc目录下的批处理
生成过程参考SDK12空中升级详细步骤操作.pdf
然后生成自己的dfu_public_key.key文件,并覆盖工程目录下的该文件,生成工程使用nrfutil工具生成
完成后编译通过:
修改波特率值为9600,:
关闭流控
然后下载bootloader:
下载完成;
第三步:修改nrfutil文件中的波特率和流控
修改文件dfu_transport_serial.py
然后在pc-nrfutil-master文件下cmd
执行python setup.py build
和python setup.py install
第四步:固件打包
拷贝出自己要升级的app程序生成的hex放在一个文件夹里面,里面有之前生成的key的两个文件
然后该目录下运行CMD命令进行固件打包
生成的固件包:
第五步:固件的DFU升级
在打包的固件目录下cmd运行 nrfutil dfu serial –pkg app.zip –p COM7 –fc 0 –b 9600
等待升级完成
所遇问题
1、J-Link RTT Viewer不能正常输出
先按照某教程上说的配置下载设置:
改成
即可
2、测试PC与板子是否能进行通讯,发送hex的09 01 c0 返回60 09 03 cd即可
可以做 手机DFU升级