文章目录

  • 1. 基本结构
  • 2. 使用方法
  • 3. 总结

接触过BLE开发的盆友基本都听过Nordic蓝牙芯片,Nordic通过提供完善的SDK给开发者,降低了开发BLE应用的难度。但是对于芯片的固件下载只能通过命令行工具或者安装一整套开发工具,如果只是临时需要下载用一下就显得很不方便,并且官方的工具对于HEX文件支持比较好,而BIN文件下载就比较麻烦。

  由于Nordic芯片下载麻烦,本文基于Python开发了用于固件下载的工具,可以下载到内部Flash及外部QSPI Flash,支持HEX及BIN文件下载。使用此工具只需要安装J-Link驱动,使用起来比较方便。

  目前只实现了NRF52芯片的下载,手头只有NRF52840开发板,所以只测试了NRF52840,其他的有机会再测试。

1. 基本结构

  由于NRF52芯片是基于ARM Cortex-M内核,所以可以使用JLinkARM.dll与之通信实现固件下载,直接操作JLinkARM.dll比较麻烦。幸运的是Nordic提供了封装好的Python代码pynrfjprog,Github地址为pynrfjprog,所以现在要做的就是通过Python实现一个GUI界面,再调用pynrfjprog提供的接口即可。
下载工具结构如下:

NRF下载工具
pynrfjprog
JLinkARM.dll
NRF52芯片

  工具界面使用Python thinker开发,最后用pyinstaller打包成一个单独的EXE文件,这样可执行文件可以到其他PC上直接运行,不依赖Python、pynrfjprog等环境。当然,J-Link驱动还是需要的,否则无法与芯片通信。

2. 使用方法

  下载工具是图形化界面,所以使用非常简单:

  1. 插入设备,如果没有驱动则安装J-Link驱动。如果Segger的驱动装不上,可以试试用驱动精灵安装,我自己的电脑就是死活装不上,然后用驱动精灵装上了.

  2. 打开工具,选择需要下载的文件,可以选择HEX或BIN文件。其中BIN文件需要输入下载的起始地址,如果地址在QSPI的范围则下载的外部QSPI Flash。

  3. 点击Connect按钮

  4. 点击Download开始下载,等待进度条结束。

  5. 点击Disconnect断开

  6. Optional, Lock锁住芯片J-Link无法连接,Recover恢复芯片并擦除全片,Reset复位芯片

3. 总结

  使用图形化工具下载便捷,后续可以添加更多功能,如读取Flash数据、读寄存器等。
代码地址: NRF flash tool

Nordic蓝牙芯片下载工具相关推荐

  1. 使用 NSURLSession 开发一个支持后台下载和断点续传的下载工具

    NSURLSession 是 iOS 系统提供给我们的原生网络操作库,它提供了网络操作相关的一系列特性支持,比如缓存控制,Cookie管理,HTTP 认证处理等等,是一套整体的网络操作处理解决方案. ...

  2. Linux下的下载工具 axel

    下载地址:http://wilmer.gaast.net/main.php/axel.html Axel是命令行下的多线程下载工具,支持断点续传,速度通常情况下是Wget的几倍. 下载后使用如下命令编 ...

  3. GitHub标星1.5w+,从此我只用这款全能高速下载工具

    「免费学习 60+ 节公开课:投票页面,点击讲师头像」 作者 |  Rocky0429 来源 |  Python空间(ID:Devtogether ) 大家好,我是 Rocky0429,一个喜欢在网上 ...

  4. Ubuntu下非常给力的下载工具–aira2

    Windows下的下载工具--迅雷,之所以下载速度快,乃是它能搜索资源.为己所用,而不是仅仅从原始地址这单一资源处下载.Ubuntu下也有类似的工具,那就是aira2. aira2是一个命令行下载工具 ...

  5. http android下载工具,Android实现下载工具的简单代码

    下载应该是每个App都必须的一项功能,不采用第三方框架的话,就需要我们自己去实现下载工具了.如果我们自己实现可以怎么做呢? 首先如果服务器文件支持断点续传,则我们需要实现的主要功能点如下: 多线程.断 ...

  6. Linux 配置IP地址,子网,网关,DNS,linux远程, wget 下载工具

    查看命令识别的网卡名:nmcli connection show   配置ip,子网,网关    nmcli connection modify 'System eth0'  ipv4.method  ...

  7. curl 命令行下载工具使用方法小结

    获取curl curl 命令行下载工具 curl的官方网站为:    http://curl.haxx.se    官方下载页面为:http://curl.haxx.se/download.html ...

  8. [转]使用QT开发GoogleMap瓦片显示和下载工具

    第一节 之前做项目的时候经常遇到需要大量地图背景数据,然后没有数据被逼着去Google上下载瓦片数据在拼接成整张影像的工作,其实遥感影像晚上有很多可以下载到的,但是大部分是作为研究用的,作为GIS的背 ...

  9. python下载软件-python下载工具

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! you-get是一个基于 python 3 的下载工具. 使用 you-get ...

最新文章

  1. 李宏毅笔记机器学习(四)——Regression——Demo
  2. Weka 3.7.12源码学习、阅读、分析(1)
  3. Jazzy 文档生成器使用
  4. leetcode 795. Number of Subarrays with Bounded Maximum | 795. 区间子数组个数(Java)
  5. dw连接服务器文档类型,dw怎么连接服务器的数据库
  6. 贴出一个php的批量搜索吧
  7. 录入成绩编程平均java_java 学习第二天小练习
  8. cli vue webpack 实战_Vuejs技术栈从CLI到打包上线实战全解析
  9. php连接数据库配置优化,小蚂蚁学习mysql性能优化(9)--操作系统配置优化--mysql配置文件优化...
  10. Google-Spyder:Google搜索引擎关键词检索结果抓取
  11. VS中的debug和releasse版本的区别
  12. KEIL arm C51中常量变量函数的绝对地址设定
  13. vue中使用微信聊天表情
  14. Php 领域驱动 视频,.Net DDD 领域驱动学习视频教程
  15. 考研这么卷,换条路试试​?互联网IT校园招聘信息大全!
  16. ***没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案
  17. 思科模拟器服务器http配置文件,在思科模拟器上通过TFTP拷贝路由器的配置文件到本地...
  18. MySQL优化器选错索引情况
  19. echarts 自定义y轴高度
  20. 青蛙跳台阶问题——《剑指offer》

热门文章

  1. 如何构建基于Python的星座脚本
  2. 计算机考试试卷怎么做,雨课堂怎么新建试卷 雨课堂制作试题的方法
  3. 20155213 实验一《Java开发环境的熟悉》实验报告
  4. java 动态更新_java动态更新枚举类
  5. 聚类算法实践(2)——谱聚类、Chameleon聚类
  6. Java对象的内存结构
  7. 30 + 优秀电子商务网站设计灵感
  8. 参加SAP培训是否有用?
  9. 销售工作没效率?爱客CRM来帮你
  10. java从url下载文件_从URL下载Java文件