silicon labs EFR32BG22蓝牙固件OTA升级流程解析

2023-11-08 世强
蓝牙SOC,EFR32BG22,SILICON LABS 蓝牙SOC,EFR32BG22,SILICON LABS 蓝牙SOC,EFR32BG22,SILICON LABS 蓝牙SOC,EFR32BG22,SILICON LABS

SILICON LABS EFR32BG22 蓝牙OTA升级支持两种模式:

1)Application OTA DFU,这个也我们常说的备份式升级。在simplicity studio 5中的组件中描述如下

Component that provides over-the-air (OTA) device firmware update (DFU) functionality in user application during runtime. No need to enter a specialized OTA state to update, and no AppLoader utility required. No code is required from user to enable this component.

 

2)in-place update,是一种非备份式升级,升级过程采用带AppLoader 的bootloader实现, “Bluetooth AppLoader OTA DFU”,应用代码会跳转到AppLoader 中运行蓝牙功能,实现新固件的传输和写入。这个写入是直接覆盖旧的固件。在simplicity studio 5中“Bluetooth AppLoader OTA DFU”参考代码中描述如下:

Standalone Bootloader using the Bluetooth AppLoader OTA DFU. This bootloader allows to update application using in-place update where the old application is directly overwritten with the new one.

 

以上两种蓝牙OTA升级的流程大致都是一样的。下面详细介绍“Bluetooth AppLoader OTA DFU”升级过程:

1、Windows or APP 蓝牙连接上需要升级的蓝牙设备。

2、向蓝牙设备的Control Characteristic中写入数据0,蓝牙设备会进入bootloader模式。

如果是“Bluetooth AppLoader OTA DFU”模式,设备进入bootloader之后,会以“OTA”的蓝牙名称广播。不过蓝牙的MAC地址还是和之前的一样。

3、Windows or APP通过蓝牙传输 .gbl 文件数据,每次发送 N bytes到蓝牙Data Characteristic中。

新固件的.gbl 文件数据全部传输完成之后,Windows or APP 向Control Characteristic

4、写入数据3,固件传输阶段完成。然后,设备重新启动到Gecko Bootloader中,并将存储的.gbl文件写入应用程序空间,从而升级设备的固件。下图是silicon labs OTA定义的Control Characteristic,和Data Characteristic,有silicon labs固定的UUID。

 

前面了解了升级的流程。下面介绍“Bluetooth AppLoader OTA DFU”,对应手机APP的参考代码或者window端的参考代码和实际操作结果。

1、 蓝牙设备端,可以编译对应的“Bluetooth AppLoader OTA DFU”和“Bluetooth - SoC Empty”参考代码,编译后把hex或者s37文件烧录到EFR32BG22芯片中。

2、 在工程目录下,双击“create_bl_files.bat”文件,生成升级需要的.gbl 文件,生成后的文件会存放在output_gbl文件夹。如果使用手机APP升级时候,拷贝存放到手机中。如果是window端,可以拷贝存放到任何期望的路径下。

3、 可以修改蓝牙设备名称,编译后重新生成.gbl 文件,这样可以获得两个蓝牙名称不一样的升级固件。测试升级完成后,能看到不一样的蓝牙名称广播出来。


以上准备好了蓝牙设备端的升级文件。接下来可以使用silicon labs 提供的手机APP:EFRConnect测试升级。APP在ios系统可以搜索“EFRConnect”安装,安卓系统可以到下方链接下载源代码,安卓安装包在build文件夹中。

EFRConnect-android :https://github.com/SiliconLabs/EFRConnect-android

世强平台的安卓安装包下载链接:https://www.sekorm.com/doc/3833028.html

 

 

Windows 端的参考代码可以在GSDK所在目录下找到。这份代码是最具参考性的,比较简洁OTA升级过程的C语言代码。对于用户实现自己的蓝牙OTA主端设备的功能代码最具参考性。


以GSDK 4.3.2 为例,路径为:\ gecko_sdk_4.3.2\app\bluetooth\example_host\bt_host_ota_dfu

可以在windows环境下用mingw64,Cygwin64编译,并运行和测试。可以使用EFR32BG21,EFR32BG22,MG21,MG22 或者其他silicon labs EFR32 系列2的无线芯片或者评估板。通过串口转USB工具,连接到电脑的USB接口。BG2x系列芯片烧录“Bluetooth - NCP”代码。


以下是测试log,也可以通过log对应到bt_host_ota_dfu代码理解升级过程。

备注:命令格式:

#define USAGE "Usage: %s [serial port] [baud rate] [ota file] [remote address] [(optional) force write without response: 0 / 1] [optional max mtu]\n\n"

 

my@pc MINGW64 /d/Users/SimplicityStudio/SDKs/gecko_sdk_4.3.2/app/bluetooth/example_host/bt_host_ota_dfu/exe

$ ./bt_host_ota_dfu.exe com3 115200 bt_soc_empty_BG22.gbl 68:0A:E2:28:7F:84 0 247

MTU set to 247

System rebooted

NCP version: v5.1.2-b215

Local public device address: 00:0d:6f:ad:3e:0d

Bytes to send:184608

Scanning...OK

Device address found, connecting.

Connecting...OK

Discovering services...ATT MTU exchanged: 247

OK

Discovering characteristics...

Restarting target.

Connection closed, retrying. (Remote device booting in DFU mode)

Scanning...OK

Device address found, connecting.

Connecting...OK

Discovering services...ATT MTU exchanged: 247

OK

Discovering characteristics...OK

    Control handle:10

    Data handle:12

    OTA protocol version:0x03

    Apploader version:5.1.2.215

    Bootloader version:0x02020002

    Application version:0x00000001

    OTA Data characteristic properties:0x0c

DFU mode...OK

OTA DFU - write with response

100% 36.02kbit/s

time: 41.00s

Finishing DFU block...OK

Closing connection...OK

 

本文参考链接:

https://github.com/SiliconLabs/bluetooth_stack_features/tree/master/firmware_upgrade

 

https://github.com/SiliconLabs/bluetooth_stack_features/tree/master/firmware_upgrade/bluetooth_host_ota_target_controlled

 

https://github.com/SiliconLabs/bluetooth_stack_features/tree/master/firmware_upgrade/bluetooth_ota_from_windows

 

https://github.com/SiliconLabs/bluetooth_stack_features/tree/master/firmware_upgrade/ota_dfu_options_for_ncp_based_designs

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由John提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例

在蓝牙的实际应用中,往往需要自定义的蓝牙广播包来适应不同的应用环境,本文主要介绍基于SILICON LABS的EFR32BG22蓝牙SOC实现自定义广播数据包的方法。

设计经验    发布时间 : 2023-03-16

【经验】STUDIO V5中蓝牙SoC EFR32BG22添加串口LOG打印的方法

在调试Silicon Labs蓝牙SoC EFR32BG22时,一般需要添加LOG打印信息,通过串口的方式来判断代码运行是否正常。由于使用RTT功能在打印信息时无法再次在线调试和代码下载,所以直接采用串口的方式更加便捷。

设计经验    发布时间 : 2021-06-30

【经验】Silicon Labs的蓝牙SoC EFR32BG22如何进行在线的OTA升级?

Silicon Labs的蓝牙SOC EFR32BG目前已经能够支持到蓝牙5.2,工艺升级后的EFR32BG22的功耗能够达到接收4.1mA,0dbm发射功耗3.6mA,休眠功耗低至1.4uA,如此低的功耗,能够大幅延长蓝牙设备的电池续航时间。本文介绍蓝牙SoC EFR32BG22如何进行在线的OTA升级。

设计经验    发布时间 : 2020-06-07

xG26再告捷!荣获2024全球电子成就奖-RF/无线年度创新产品奖

SILICON LABS(芯科科技)旗舰级BG26蓝牙SoC和MG26多协议SoC在日前获颁2024年全球电子成就奖(WEAA)年度射频/无线/微波创新产品奖!BG26和MG26系列SoC是迄今物联网产业领先企业之最高性能的系列产品,可用于最复杂的物联网应用,如需要较强的处理能力、能效和无线性能的Matter等具备严苛要求之新兴应用,以及包括智能家居、智慧城市和工业用例。

原厂动态    发布时间 : 2024-11-13

【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法

EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。

设计经验    发布时间 : 2020-11-28

基于芯科科技BG2x SoC的蓝牙信道探测和能量收集参考设计演示 – 尽在芯科科技/深圳物联网展

Silicon Labs(亦称“芯科科技”)在8月28至30日举办的“2024年深圳物联网展(IOTE Shenzhen)”展出现下最火的蓝牙信道探测(Channel Sounding)和能量收集(Energy Harvesting)参考设计,从而推动更多物联网创新应用。芯科科技的现场全面展示其BG2x低功耗蓝牙SoC和模块系列在蓝牙信道探测和能量收集技术方面的最新进展。

原厂动态    发布时间 : 2024-09-03

【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导

很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。

设计经验    发布时间 : 2020-02-20

【经验】芯科科技EFR32BG22系列蓝牙SOC低功耗优化的相关配置

本文主要介绍Silicon Labs(芯科科技)EFR32BG22系列蓝牙SOC目前所有的低功耗优化的相关配置,实现目标: VDD=3V,VSCALE0=0.9V,温度25℃,EM2模式下深度休眠为1.4μA。

设计经验    发布时间 : 2021-09-27

最新Matter智能家居参考设计打破生态藩篱—尽在深圳物联网展

随着智能家居市场的兴起,消费者对设备间的无缝互联与高效协同提出了更高要求。在这一情形下,Matter标准应运而生。连接标准联盟推出的Matter是一项全新的智能家居互联标准,旨在打破不同品牌、不同协议间的壁垒,实现智能家居设备的统一管理和互操作。自Matter标准发布以来得到了国内外众多厂商的支持,其功能不断增强,认证产品数量快速增长,覆盖品类更加多样化。本文介绍Matter 1.3带来哪些更新。

原厂动态    发布时间 : 2024-08-16

【经验】蓝牙SoC EFR32BG22增加Button功能并发送Notify数据包的方法

本文以Silicon Labs蓝牙SoC EFR32BG22的Thunderboard模块为例,介绍如何使用Simplicity Studio v5软件在蓝牙soc_empty工程中添加Button功能,并向手机发送Notify数据包的方法。

设计经验    发布时间 : 2021-03-14

【应用】Silicon Labs车规级蓝牙SOC EFR32BG22用于汽车数字钥匙,工作频率高达76.8MHz

某客户的数字钥匙上需要用到两款LDO,目前有蓝牙SOC的需求,要求满足车规级,能够兼容手机蓝牙,给客户推荐了芯科的蓝牙SOC EFR32BG22,最高工作频率达到76.8MHz,非常符合客户的实际应该需求。

应用方案    发布时间 : 2022-11-10

完美结合无线连接、人工智能和安全性的智能家居解决方案

智能家居应用正在快速发展,其中推动智能设备的发展关键因素在于易于使用,而实现这一目标的最佳方法,便是让设备通过人工智能和机器学习技术进行自我思考。本文将为您介绍人工智能将如何强化智能家居设备的功能,以及由芯科科技(Silicon Labs)所推出的解决方案,将如何增强智能家居设备的功能性与安全性。

应用方案    发布时间 : 2024-06-23

【经验】蓝牙SoC EFR32BG22的高精度ADC配置步骤与注意事项

Silicon Labs的EFR32BG22系列蓝牙SoC内部集成高精度ADC功能,采用内部1.21V作为Vref,ADC真实有效位数可达13.5bit,使用外部1.25V基准源作为Vref,精度可达14.3bit。本文介绍ADC配置相关步骤以及注意项目。

设计经验    发布时间 : 2020-11-04

【经验】基于Simplicity Studio5创建EFR32BG22蓝牙SoC工程

Simplicity Studio5是Silicon Labs的新开发平台,优化了开发界面以及代码的构架,开发过程更加便捷。本文介绍基于新平台studio5的蓝牙SoC EFR32BG22的工程创建以及步骤。

设计经验    发布时间 : 2020-11-22

BG24蓝牙SoC具备低功耗、小型化等特性,为CoreHW提供蓝牙RTLS的先进解决方案

Silicon Labs(亦称“芯科科技”)的BG24蓝牙SoC具备低功耗、小型化等特性,并支持蓝牙定位技术包括蓝牙到达角(AoA)和蓝牙信道探测(Channel Sounding),为CoreHW公司提供了最先进的实时定位服务(RTLS) 解决方案,以开发出创新的CoreTag和CoreLocator定位应用产品。

应用方案    发布时间 : 2024-06-21

展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 104,128

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:开发工具

价格:¥331.7858

现货: 0

品牌:SILICON LABS

品类:评估工具

价格:¥111.8652

现货: 0

品牌:芯海

品类:蓝牙芯片

价格:¥3.3334

现货: 77,827

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥6.1334

现货: 5,951

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥6.4706

现货: 5,151

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:126,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Wireless SoC

价格:¥15.1400

现货:1,455

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

蓝牙射频及通信协议测试

根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。

实验室地址: 深圳 提交需求>

语音/录音芯片定制

提供语音芯片、MP3芯片、录音芯片、音频蓝牙芯片等IC定制,语音时长:40秒~3小时(外挂flash),可以外挂TF卡或U盘扩容。

最小起订量: 1pcs 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面