nRF52832 BLE_DFU空中升级OTA(一)安装软件(SDK14.2.0)
准备工作,需要安装好几个软件,详细的过程请参考下面的文章(http://www.cnblogs.com/iini/p/9314246.html)这里说的非常详细,而且也有工具在云盘,对于初学者非常友好。我这里只是把步骤列出来,仅供参考
安装软件:
安装"make"编译环境
1,双击"make-3.81.exe"安装(下载地址http://gnuwin32.sourceforge.net/packages/make.htm)
2,双击"coreutils-5.3.0.exe"安装(下载地址http://gnuwin32.sourceforge.net/packages/coreutils.htm)
3,双击"gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe"安装(下载地址https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update)
4,双击"python-2.7.12.amd64.msi"安装(下载地址https://www.python.org/downloads/)
加入环境变量
5,在计算机上右击属性->高级系统设置->环境变量->系统变量->Path->编辑
6,依次加入以下路径(默认安装路径,如果安装软件时更改适当调整,记得用";"和前面的路径隔开,所有路径之间都需要用";"隔开)
C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\arm-none-eabi\bin;
C:\Program Files (x86)\GnuWin32\bin;
C:\Python 2.7.12;
C:\Python 2.7.12\Scripts
安装nrfutil
7,在C:\Python 2.7.12路径shift+右击打开命令行输入:python -m pip install nrfutil(cmd命令行输入nrfutil判断是否可用)
8,解压"micro-ecc.zip"里面micro-ecc文件夹到nRF5_SDK_14xxxx\external\micro-ecc目录下(下载地址https://github.com/kmackay/micro-ecc)
9,双击批处理文件nRF5_SDK_14xxxx\external\micro-ecc\build_all.bat生成lib文件(如果有就不用)
可能遇到的问题
10,nrfutil无法使用,可能版本不兼容(CMD命令行输入:nrfutil version查看版本号,其版本应该在3.2.0以上),可以用工具中的"nrfutil.exe"直接替换C:\Python 2.7.12\Scripts里面的(下载地址https://github.com/NordicSemiconductor/pc-nrfutil/releases)
11,nrfutil无法使用,可能缺少库,可安装工具中的"vcredist_x64.exe"(下载地址https://www.microsoft.com/en-us/download/details.aspx?id=40784)
另外需要用到的两个软件
"nrfjprog.exe"和"mergehex.exe"
这两个软件是用来擦除和编程芯片以及合并hex文件的
一般安装了"nRFgo Studio " 这个软件就有这两个程序
两个软件的路径一般在"C:\Program Files (x86)\Nordic Semiconductor\nrf5x\bin"
附上验证
CMD命令行输入nrfjprog

CMD命令行输入mergehex

CMD命令行输入nrfutil

以上验证都能通过的话,开发的环境基本配置好了,接下来就是编译工程并下载了。
nRF52832 BLE_DFU空中升级OTA(一)安装软件(SDK14.2.0)的更多相关文章
- nRF52832 BLE_DFU空中升级OTA(三)准备升级工程(SDK14.2.0)
准备需要加入DFU功能的工程 在工程main文件services_init函数中加入DFU服务 uint32_t err_code; // Initialize the async SVCI inte ...
- nRF52832 BLE_DFU空中升级OTA(二)编译下载(SDK14.2.0)
上一篇配置好了开发环境,现在就可以试着跑一下例程了,这里需要两个例程,一个是bootloader的,一个是应用程序的,其路径分别为: bootloader:SDK_14.2.0工程\examples\ ...
- Jenkins升级;yum 安装软件升级
1.使用yum安装的jenkins升级方法: 先升级yum yum update 后升级jenkins yum update jenkins 但是上面的方法,限制于yum的版本,不能更新到jenkin ...
- 如何实现蓝牙空中升级BLE OTA
如何实现BLE OTA?什么叫DFU?如何通过UART实现固件升级?又如何通过USB实现固件升级?怎么保证升级的安全性?什么叫双备份(dual bank)DFU?什么叫单备份(single bank) ...
- nrf52——DFU升级OTA升级方式详解(基于SDK开发例程)
在我们开始前,默认你已经安装好了一些基础工具,如nrfutil,如果你没有安装过请根据官方中文博客去安装好这些基础工具,连接如下:Nordic nRF5 SDK开发环境搭建(nRF51/nRF52芯片 ...
- nRF Connect SDK(NCS)/Zephyr固件升级详解 – 重点讲述MCUboot和蓝牙空中升级
如何在nRF Connect SDK(NCS)中实现蓝牙空中升级?MCUboot和B0两个Bootloader有什么区别?MCUboot升级使用的image格式是怎么样的?什么是SMP协议?CBOR编 ...
- Linux安装软件总结(二.几种安装命令介绍)
一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...
- Linux 下如何安装软件
一.解析Linux应用软件安装包 通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. 2) rpm包 ...
- linux安装软件的学习
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...
随机推荐
- 关于Angular中时间戳的计算
前言 使用的是Moment.js 插件,插件的安装详情请参考官方网址(https://momentjs.com/) 正文 步骤一:引用import * as moment from 'moment'; ...
- vs安装部署“必备”组件里面正常情况没有出现office2010 PIA组件
vs安装部署“必备”组件里面正常情况没有出现office2010 pia组件时,将 Office2010PIARedist 文件夹放在C:\Program Files\Microsoft SDKs\W ...
- Python初学者第十八天 函数(2)
18day 函数 1.函数的返回值:return a.函数外的代码想要获取函数的返回结果时,即可使用return语句 b.函数中如遇到return后,会停止执行,并返回结果.所以若函数未使用retur ...
- Exchange 2016 CU6 安装后,发生错误 出现意外错误,无法处理您的请求
公司的Exchange2016环境准备上线了,今天owa打不开了.出现如下图的错误,更多详细信息没有截图,但最关键的一句记下来了. X-OWA-Error Microsoft.Exchange.Dia ...
- August 19th 2017 Week 33rd Saturday
Live for today and stop stressing out about tomorrow. 为今天而活,不必为明天过分担心. Stop bewailing the past misfo ...
- Lua操作mysql
require "luasql.mysql" --创建环境对象 env = luasql.mysql() --连接数据库 conn = env:connect("数据库名 ...
- Python语言特性
1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...
- Debian 静态网络配置
allow-hotplug enp6s0 iface enp6s0 inet static address gateway 192.168.2.1 # dns-* options are implem ...
- 3、Python文件操作工具 xlwt 工具
# _*_ encoding:utf-8 _*_ import xlrdimport xlwt #新建excel文件excel = xlwt.Workbook(encoding='utf-8')#添加 ...
- git回滚线上代码
由于之前自己推代码的时候操作失误,push代码的时候没有push到线上的dev分支,而是push到了线上master分支(主要是因为没有在命令后写分支名,直接推到默认master分支上了),覆 ...