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包管理,能够从指定的服务器自动下载 ...
随机推荐
- Vscode rg.exe cpu 占用过高
文件-> 首选项 -> 设置 -> 搜索search.followSymlinks 或者 修改settings.json 添加 "search.followSymlinks ...
- Angular实现多标签页效果(路由重用)
1.需求 做了几年的MES系统,从ASP.NET WebForm至MVC,系统决定了用户界面必须为标签页方式实现,因为用户在进行一项操作的时候很有可能会进行其它的操作,比如查询之类的.如果按MVC的方 ...
- December 09th 2016 Week 50th Friday
In books lies the soul of the whole past time. 书中有所有先贤的全部灵魂. I must know that if I run my business i ...
- [EffectiveC++]item06:若不想使用编译器自动生成的函数,就该明确决绝
- iOS模拟器命令xcrun simctl系列(自动化测试)
1. 列出安装的可用的模拟器: xcrun instruments -s [如:iPhone 5s (9.0) [00AB3BB6-C5DC-45C7-804F-6B88F57C2AFF] (Simu ...
- 41、Thead线程 System.Thread与互斥体Mutex
Thead线程 System.Thread 使用Thread类可以创建和控制线程.下面的代码是创建和启动一个新线程的简单例子.Thread 类的构造函数重载为接受ThreadStart和Paramet ...
- PhoneGap的通知
一.通知类型列表 1.notification.alert 提示警告框 2.notification.confirm 确认对话框 3.notifica ...
- Eclipse html 编辑器插件下载安装
需要在eclipse里面编辑html和jsp,语法高亮和语法提示,自动补全等. 一.下载GEF(依赖包): 1.下载地址:http://www.eclipse.org/downloads/downlo ...
- Python常用库之三:Matplotlib
导入模块 import matplotlib.pyplot as plt import seaborn as sb 绘制条形图 countplot(data:数据集, x:x坐标轴, color:条形 ...
- 日常踩坑——rand()总是出现重复数据
写了一个生成随机数组的函数,然后跑出来,结果总是…… 然后,很奇怪的是一步一步调试,它就没问题了,WTF??? 问题出在:重复写了srand(time(NULL)),只保留一个就好了. int* ge ...