下面是基础软件的安装:【抄袭他人所得】

1.安装Python软件,建议版本2.7.9及以上,不超过3.0版本【以下安装步骤需要联网】
2.安装Python的pip模块,通过命令提示符进入到Python的安装目录,在命令提示符中输入命令“python.exe -m pip install SomePackage”进行安装(如图1),如果需要更新则按照命令提示符的提示输入命令进行更新,

更新命令应该是“python.exe -m pip install --upgrade pip”,【不同版本命令不同,实际命令参照命令提示符的提示】。


图 1
我的电脑中已经安装Python和pip模块,青色部分是Python的安装路径,红色部分是安装命令。由于电脑中已经安装过pip模块并更新到了最新版本,所以此处提示安装满足需求。
3. 安装nrfutil软件,通过命令提示符进入到pip模块的安装目录(在Python安装目录下搜索pip,打开pip.exe所在目录就是pip模块的安装目录),输入命令“pip.exe install nrfutil”进行安装(如图2)。

图 2
我的电脑中,青色部分是pip模块的安装路径,红色部分是安装命令。安装完成后可能会提示PATH路径问题(如图3)。

图 3
根据提示将pip模块安装路径添加到系统和用户的PATH环境变量中即可,具体操作方式可自行百度。
4. 安装“Python SetupTools”,在该命令提示符中输入命令“pip.exe install -U setuptools”进行安装(如图4)。

图 4
5. 安装“pyinstaller”,在该命令提示符中输入命令“pip.exe install pyinstaller”进行安装(如图5)。

图 5
6. 获取nrfutil源码操作,你很容易死在这里!!,从“ https://github.com/NordicSemiconductor/pc-nrfutil/ ”下载源代码并解压到文件夹,版本更新多次,注意你的版本可能不再被支持!!!!!!。

注意:从上面看出最新的版本包是Version 5.0.0 文件版本包  ,如果你是用nrf51822 的nRFSDK 10.0 的固件包,那马你只能是选择version0.5.2 和更老的版本,不然你做的可能是好几天的无用功。

下面的是我用Version 5.0. 0的资源包的生成过程,如果你的版本选择错了,下面的步骤让你慢慢发现问题。

通过命令提示符进入到该文件夹目录,输入命令“pip install -r requirements.txt”进行安装(如图6)。(在version 0.5.2 的版本中是没有 requirements.txt 的,你可以跳过这一步)

图 6
青色部分是源代码目录,红色部分是命令。
7. 安装nrfutil软件,在源代码目录下的命令提示符中输入命令“ python setup.py install ”进行安装(如图7)。

图 7
8. 安装结束

 DOC命令集合:

可以用 nrfutil settings generate --help 获取一些帮助信息。(在version 0.5.2 的版本中是没有 此条命令)

生成密匙:(在version 0.5.2 的版本中是没有 此条命令)

1. 生成key文件,在某个目录下打开 dos 命令(shift+右键打开) 输入 nrfutil.exe keys generate private.key  就会在当前目录生成private.key文件。
2. 生成key.c文件,在有key文件的目录下打开 dos 命令(shift+右键打开) 输入 nrfutil keys display --key pk --format code private.key --out_file dfu_public_key.c 生成相关的.c文件

生成bootloader setting (在version 0.5.2 的版本中是没有 此条命令)

nrfutil.exe settings generate --family NRF51 --application application.hex --application-version 3 --bootloader-version 2 --bl-settings-version 1 bootloader_settings.hex

红色是你要支行的文件,蓝色是生成的文件。

生成zip 软件包,也就是手机app升级需要的包:(在version 0.5.2 的版本中是没有 此条命令)

nrfutil pkg generate --hw-version 51 --application-version 1 --application application.hex --sd-req 0x87 --key-file private.key application.zip

红色是你要支行的文件,蓝色是生成的文件。

再这个地方一定要查看你所安装的版本能不能生成你对应的所需文件!!!!!!!

DOC 中执行 nrfutil pkg generate --help 命令,在这里你就能发现你的源库选的对不对了。

  大大 总结!:

 下面是可以判定成功案列: 芯片是NRF51822 ,官方固件包  nRF51_SDK_10.0.0_dc26b5e,官方协议栈 s110_nrf51_8.0.0_softdevice.hex 或者 s110_nrf51822_7.0.0_softdevice.hex ,官方源 pc-nrfutil库 nrfutil-0.5.2

安装软件同上,后期有必要再添加软件。

DOC 运行: nrfutil.exe dfu genpkg --help

生成DFU升级包:

 nrfutil.exe dfu genpkg ants_app.zip --application ants.hex --application-version 0xffff --dev-revision 0xffff --dev-type 0xffff --sd-req 0x0064

红色是你要支行的文件,蓝色是生成的文件。

总结:此版本的升级方案没有密匙加密这相当不安全的!!!。

NRF51800 空中升级DFU的更多相关文章

  1. NRF52832空中升级DFU

    Secure DFU环境搭建 升级原理,加密原理在此不做描述,详情参考http://www.cnblogs.com/iini/p/9314246.html 1.工具一览 gcc-arm-none-ea ...

  2. 如何实现蓝牙空中升级BLE OTA

    如何实现BLE OTA?什么叫DFU?如何通过UART实现固件升级?又如何通过USB实现固件升级?怎么保证升级的安全性?什么叫双备份(dual bank)DFU?什么叫单备份(single bank) ...

  3. nRF Connect SDK(NCS)/Zephyr固件升级详解 – 重点讲述MCUboot和蓝牙空中升级

    如何在nRF Connect SDK(NCS)中实现蓝牙空中升级?MCUboot和B0两个Bootloader有什么区别?MCUboot升级使用的image格式是怎么样的?什么是SMP协议?CBOR编 ...

  4. BLE空中升级 谈(二)

    BLE 空中升级谈 -- CC2541 的产品开发中OAD注意事项(续) TI CC2541支持多个硬件,多个软件对它进行空中升级,可以有不同的组合,硬件有 编号 名称 Hex 用法 1 Cc2540 ...

  5. BLE空中升级 谈(一)

    BLE 空中升级谈 -- CC2541 的产品开发中OAD注意事项 现在的智能设备(可穿戴,智能家居,智能玩具等)是越来越多了,大公司的产品颜值高,功能强大而完备的应该说是比比皆是,这里不谈论它是满足 ...

  6. iOS蓝牙空中升级(固件升级)

    空中升级又叫固件升级,指你手机从服务器下载下来的包或者数据,通过蓝牙传输给你的外设升级固件.如果你能把蓝牙的基础搞懂,其实也并不是很难,我在这里只不过提供一下思路. 空中升级略难的地方在于数据处理和交 ...

  7. nRF52832 BLE_DFU空中升级OTA(三)准备升级工程(SDK14.2.0)

    准备需要加入DFU功能的工程 在工程main文件services_init函数中加入DFU服务 uint32_t err_code; // Initialize the async SVCI inte ...

  8. nRF52832 BLE_DFU空中升级OTA(二)编译下载(SDK14.2.0)

    上一篇配置好了开发环境,现在就可以试着跑一下例程了,这里需要两个例程,一个是bootloader的,一个是应用程序的,其路径分别为: bootloader:SDK_14.2.0工程\examples\ ...

  9. nRF52832 BLE_DFU空中升级OTA(一)安装软件(SDK14.2.0)

    准备工作,需要安装好几个软件,详细的过程请参考下面的文章(http://www.cnblogs.com/iini/p/9314246.html)这里说的非常详细,而且也有工具在云盘,对于初学者非常友好 ...

随机推荐

  1. 实现自适应位置--footer紧贴浏览器底部

    <!DOCTYPE HTML><html><head><meta charset="utf-8"><title>紧贴浏览 ...

  2. vue将网页中的特定部分转成pdf并下载(仅供个人学习记录)

    先安装支持 将页面html转换成图片npm install --save html2canvas 将图片生成pdfnpm install jspdf --save 组件引用: import html2 ...

  3. 关于几天来研究使用css3动画的一点总结

    1. 为避免合成线程频繁计算导致性能降低, 使用transform属性,尽量避免使用width / height / padding / left 等. 2. 侧边栏下阴影遮罩层动画, 如果用back ...

  4. my first homepage

    <!DOCTYPE html><html><head><style type="text/css">p{ text-indent:2 ...

  5. 注意Delphi 10.3.1中Trunc函数的问题

    10.3.1,Trunc(0.35*100)=34,出现这种情况!bug?

  6. Can DBC 文件翻译,不是很标准,凑合看还可以

    1 引言 DBC文件描述单个CAN网络的通信.这个信息足以监测和分析网络并模拟不是物理可用的节点(剩余的总线模拟). DBC文件也可以用来开发电子控制单元的通信软件,该控制单元应该是CAN网络的一部分 ...

  7. HslCommunication组件库使用说明 (转载)

    一个由个人开发的组件库,携带了一些众多的功能,包含了数据网络通信,文件上传下载,日志组件,PLC访问类,还有一些其他的基础类库. nuget地址:https://www.nuget.org/packa ...

  8. xcode10 出现iPhone has denied the launch request

    一般的处理这里不介绍,只要介绍因为证书的问题导致这个原因的.我的现象是,模拟器可以,iOS12以下设备可以,证书全部更新了一遍,只有一个没更新,还真是那个没更新的问题. 从钥匙串查看自己的证书配置,看 ...

  9. 【转载】 第四范式涂威威:AutoML技术现状与未来展望

    原文地址: https://www.jiqizhixin.com/articles/2018-07-12-17 -------------------------------------------- ...

  10. mayavi与X11的一些坑总结

    1. Mayavi:https://docs.enthought.com/mayavi/mayavi/ 适合渲染各种和图形有关的数据.在大批量处理数据时,一般不希望对每一个渲染好的对象都将其显示出来, ...