前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >nRF5x系列蓝牙模块DFU升级服务移植 -- 3 烧写升级

nRF5x系列蓝牙模块DFU升级服务移植 -- 3 烧写升级

原创
作者头像
DN
修改于 2020-07-02 02:03:00
修改于 2020-07-02 02:03:00
1.1K0
举报
文章被收录于专栏:JETSON NANO AIJETSON NANO AI

文章中所使用的工具和文件生成,请参考

《nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装》

《nRF5x系列蓝牙模块DFU升级服务移植 -- 2 文件生成》

说明。

3.1  程序的烧写与升级

3.1.1  程序的烧写步骤

连接上设备并在PC上打开nRFgo工具,如下图所示:

擦除所有空间存储内容,如下图所示:

在Program softDevice中烧录协议栈hex文件,文件存放路径在F:\nRF5_SDK_15.0\components\softdevice\s132\hex中,操作如下图所示:

在Program bootloader中烧录引导程序hex文件,文件存放路径在F:\key中,操作如下图所示:

在Program Application中烧录应用程序hex文件,文件存放路径在F:\key中,操作如下图所示:

查看是否升级成功。

从nRFgo工具上可以看到烧写成功提示,如下图所示:

烧写完成后,使用手机nRF Connect工具可以搜索到名称为DfuTarg广播信号,此时模块还没有进入应用广播,如下图所示:

3.1.2  DFU升级

完成烧写步骤后,还没有进行应用,所以我们需要升级一次应用,点击DfuTarg广播的连接CONNECT,进入服务,点击右上角DFU图标,如下图所示:

点击后会弹出选择文件框,由于SDK10之后的版本只支持ZIP方式升级,因此这里选择第一项,如下图所示:

使用微信文件助手进行ZIP文件发送,所以需要进入相应的目录下选择test.zip文件,如下图所示:

加载zip文件后,跳转到bootloader,且升级开始,升级过程界面如下图所示:

升级完成后,重新用nRF Connect工具进行扫描,扫描到的广播名称变成了Nordic Buttonless,表明已经进入应用服务,扫描结果如下图所示:

3.2  hex的烧写与合并

批量生产时,我们往往希望直接下载后就可以运行到应用程序,而不再空中升级一次才运行。按照以下方法操作,可以解决下载后无法直接运行应用程序的问题,以及实现只要烧写一个hex文件的操作。

3.2.1  setting文件的生成和使用

进入F:\key文件夹,在此处打开dos命令框(Shift+鼠标右键打开),在命令行中输入指令nrfutil settings generate --family NRF52 --application app.hex --application-version 1 --bootloader-version 1 --bl-settings-version 1 app_setting.hex,回车执行指令,执行结果如下图所示:

执行后可在F:\key文件夹中找到app_setting.hex文件,如下图所示:

生成文件后,就可使用nRFgo工具进行烧写,烧写步骤(详细烧写步骤请查阅3.1.1节)如下图所示:

烧写完成后,程序会直接运行应用,用nRF Connect工具可扫描到广播名为Nordic Buttonless的蓝牙设备。

3.2.2  hex文件的合并烧写

将F:\nRF5_SDK_15.0\components\softdevice\s132\hex文件夹中的s132_nrf52_6.0.0_softdevice.hex文件拷贝到F:\key文件夹中,并修改其名称为s132.hex,如下图所示:

进入F:\key文件夹,在此处打开dos命令框(Shift+鼠标右键打开),在命令行中输入指令mergerhex --merge s132.hex boot.hex app.hex --output m3.hex,回车执行指令,执行结果如下图所示:

在命令行中输入指令mergehex --merge m3.hex app_setting.hex --output dfu.hex,回车执行指令,执行结果如下图所示:

使用nRFgo工具中的Program Application烧写dfu.hex文件,如下图所示:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装
登录https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads官网,选择需要下载的版本进行下载,如下图所示:
DN
2020/07/02
1.3K0
nRF5x系列蓝牙模块DFU升级服务移植 -- 1  工具安装
nRF5x系列蓝牙模块DFU升级服务移植 -- 5 boot修改
由于车位锁项目中使用自制底板,和标准开发板存在差异,所以需要按照以下步骤对bootloader程序进行修改。
DN
2020/07/02
9730
nRF5x系列蓝牙模块DFU升级服务移植 -- 5  boot修改
nRF5x系列蓝牙模块DFU升级服务移植 -- 4 应用移植
此处使用实际的车位锁终端的工程项目进行移植说明,通过演示步骤,最终达到在任意应用程序中添加DFU升级功能。
DN
2020/07/02
2.1K0
nRF5x系列蓝牙模块DFU升级服务移植 -- 4  应用移植
nRF5x系列蓝牙模块DFU升级服务移植 -- 2 文件生成
文章中所使用的工具,请参考《nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装》说明。
DN
2020/07/02
1K0
nRF5x系列蓝牙模块DFU升级服务移植 -- 2 文件生成
BLE空口抓包方案对比
本文根据实际使用经验,介绍了每种抓包方案的环境配置与抓包方法,对比分析目前几种 BLE 的空口抓包方案(只讨论普通人用得起的,ellisys 这类神器摸都没摸过 Orz)
yichen
2022/11/11
2.7K0
BLE空口抓包方案对比
如何使用蓝牙实现OTA固件升级
作为一种低成本的近距离无线连接协议,蓝牙在现实生活中的应用非常广泛,各种嵌入式、物联网设备随处可见。基于这一特性,我们今天讲一下如何使用蓝牙实现OTA固件升级。
xiangzhihong
2022/10/31
3.7K0
Android——NORDIC nRF5x系列 DFU升级 APP实现
2、AndroidMainfest.xml中申请BLE的相关权限、读写权限、定位等。
Winter_world
2020/09/25
1.4K0
TinyML-6:移植到nrf52840淘宝开发板(带源码)
技术到了最后,都是要在实际生活中实践,才有活力;而不是曲高和寡,光是鼓吹技术多牛逼,没有切实改变生活,提高体验,产生经济价值,那样的技术都是耍流氓。
flavorfan
2021/01/24
2.3K12
TinyML-6:移植到nrf52840淘宝开发板(带源码)
H7-TOOL的APP固件升级至V2.03,BOOT升级至V2.02,上位机升级至V2.03,新增nRF52系列脱机烧录支持(2021-04-16)
说明: 1、App,Boot和上位机全部进行了更新。 2、USB HID帧大小改为1024,125us一帧,加速上位机和下位机通信速度。 3、文件浏览器增加图标显示,方便区分文件夹和lua文件。 4、解决屏保超时参数第1次上电不起作用的问题。 5、主板RTC VBat功能异常时允许进入界面(BOOT也要修正,更正到V2.02)。 6、I2C总线控制,新增几个lua接口 7、脱机下载功能优化 - TOOL上显示滚码支持HEX显示和10进制显示,显示的滚码为下次将要烧录的滚码 - 文件选择界面,可显示的行数多了一行,已修正 - lua 读ID操作时,增加swd初始化 - SwdProngFile,编程前增加初始化 - lua增加DP AP寄存器的读写接口 - 新增nRF52系列芯片的解密和烧录 - 优化烧录计数器文件的读写机制,避免读文件失败计数值清零问题
Simon223
2021/04/22
7810
一个给蓝牙模块升级的Android应用小工具
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com
呱牛笔记
2023/11/28
4180
一个给蓝牙模块升级的Android应用小工具
低成本制作一条BadUSB数据线
在badusb的攻击方式被使用以来大多都是伪装成U盘或没有伪装就是一个裸板,毫无疑问裸板是最明显的了,谁会将一个莫明奇妙的线路板(例如digispark)插在电脑上。随着安全知识的普及,U盘这种伪装也越来越不可行了。所以“数据线”就成了一个好思路,伪装成数据线的badusb工具有很多,那些都是有蓝牙远程注入的功能,功能很强,成本稍高,价格也就稍高了些。如果不需要远程的功能,那就自己DIY一个超级小的digispark安装到数据线里吧!
FB客服
2020/06/22
1.3K0
如何使用CubeMx生成一个DFU工程
素材来源:https://blog.csdn.net/flydream0/article/details/54142208
李肖遥
2022/12/22
4350
如何使用CubeMx生成一个DFU工程
STM32F103实现IAP在线升级应用程序
https://download.csdn.net/download/xiaolong1126626497/25652410
DS小龙哥
2022/01/12
1.7K0
STM32F103实现IAP在线升级应用程序
AIoT应用创新大赛-基于TencentOS Tiny 蓝牙方案llsync(一)
llsync是一款智能家居产品,用于蓝牙相关的,通过蓝牙接入腾讯连连小程序的一款SDK。可以通过蓝牙来点灯,与其他的蓝牙example不同的是,这个可以移植到很多其他平台而不需要过多的porting,后续整理其他feature的时候,也可以尽量规范通用一些。
用户9526019
2022/03/12
7620
i.MX6ULL嵌入式Linux开发1——uboot移植初探
本系列教程以「i.MX6ULL」处理器的ARM开发板为实验基础,学习记录嵌入式Linux开发的各种知识与经验,主要内容包括嵌入式Linux移植,嵌入式Linux驱动开发,嵌入式Linux应用开发等。
xxpcb
2021/07/20
2.6K0
《安富莱嵌入式周报》第208期:2021.04.12--2021.04.18
韩国和日本公司在无晶圆厂IC领域的实力极其薄弱,而中国台湾和大陆在IDM IC市场中的份额却很低。总体而言,总部位于美国的公司在IDM,无晶圆厂和整个IC行业市场份额方面表现出最大的平衡。 如图2所示,在1990年,日本公司几乎占据了全球IC市场份额的一半,而在过去30年中,该份额急剧下降,到2020年仅下降了6%。日本公司,欧洲公司去年在全球IC市场中所占的份额也仅占6%,而1990年为9%。
Simon223
2021/04/22
6790
nRF5340(入门篇)之1.0 window下开发环境搭建
7. Segger Embedded studio(个人感觉从V2.0.0之后nrf官方不推SES开发方式了)
心跳包
2022/09/22
4.7K1
nRF5340(入门篇)之1.0 window下开发环境搭建
抛弃IDE — 在window下使用VScode搭建ARM开发环境
安装 gcc-arm-none-eabi-5_4-2016q3-20160926-win32(这只是当时我配置时候用的版本,其他版本也是可以的) 记得最后的第3选项打钩,因为自动添加环境变量( 估计是因为自动添加,所以会添加到用户的环境变量下面去,一样可以用,如果自己添加,可以添加到系统的环境变量中去 ) 最后,只要是在你的终端(终端可以使window自带的cmd,也可以是你配置过的模拟linux的终端) ,能够查询到arm gcc的版本,就算是正常安装了,如下所示:
李肖遥
2022/12/22
3.8K0
抛弃IDE — 在window下使用VScode搭建ARM开发环境
1颗顶8颗!高效率PMIC nPM1300评估套件上手体验
最近收到了面包板社区寄来的一块板子,基于Nordic最新出品的nPM1300电源管理芯片的评估套件。关于电源管理芯片,大家可能熟知的是一些分立的芯片,比如升降压、电源监控、POR复位、充放电管理等功能,但是把这些功能都集成到一颗芯片上的却很少见。本篇文章我们一起来体验有史以来第一款集成了所有必要功能的电源管理IC(PMIC)——nPM1300。
单片机点灯小能手
2024/04/30
3030
1颗顶8颗!高效率PMIC nPM1300评估套件上手体验
【STM32H7教程】第68章 STM32H7的系统bootloader之USB DFU方式固件升级
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第68章       STM32H7的系统bootloader之USB
Simon223
2020/03/06
2K0
推荐阅读
相关推荐
nRF5x系列蓝牙模块DFU升级服务移植 -- 1 工具安装
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档