【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是SILICON LABS公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OTA时的参数也不同,本文指导大家使用EFR32MG实现ZigBee的OTA操作。
OTA功能在选型时就应该被考虑,选择适当大小的Flash型号,ZigBee的Stack本身在180KB左右,如果是用内部Flash的话,Flash至少需要选择512KB的型号。另外需要考虑的是可用Flash的大小,EFR32MG内部会占用一部分Flash空间用来模拟EEPROM,如下图。关于simulated eeprom更多信息,请查看“EFR32MG系列ZigBee的Simulate EEPROM使用浅谈”文章。
当使用EEPROM version 1时,占用8KB Flash;当使用EEPROM version 2时,占用36KB Flash。模拟EEPROM占用Flash的地址空间根据选择的BootLoader不同而不同,选择Application mode BootLoader,则占用Flash的最后地址,而如果选择Local Storage Bootloader,则占用Flash的中间地址。以512KB Flash的Application mode BootLoader为例,即8KB占用的是0x7E000至0x7FFFF,可用空间是0x00000至0x7DFFF(十进制516095);36KB占用的是0x77000至0x7FFFF(十进制524287),可用空间是0x00000至0x76FFF(十进制487423)。因此,我们在配置OTA时的Slot空间时,需要除去模拟EEPROM的Flash空间。下面我们以EFR32MG13P732F512GM48使用EEPROM version2为例,指导如何配置Bootloader和Application工程,实现OTA。
Bootloader工程配置
1, 新建工程,选择File -> New -> Project,选择Silicon Labs AppBuilder Project,点击Next。
2,选择Gecko Bootloader,点击Next。
3,本文使用Gecko Bootloader 1.5.0,点击Next。
4,选择Internal Storage Bootloader(single image on 512kB device)工程,点击Next。这里可以看到有很多Bootloader参考工程,实际应用中根据需求选择合适的参考工程,或者勾选start with a blank application,创建一个空Bootloader工程,自定义配置。
5,修改工程名称和工程路径,本文默认,点击Next。
6,Boards为空,Part输入EFR32MG13P732F512GM48型号,选择GNU ARM编译器,点击Finish。
7,Bootloader参考工程建好后,只需要修改Slot的Start Adress和Size,其他配置都默认就好了。之前已经了解使用EEPROM version 2的话,可用的Flash空间是0x00000至0x76FFF,换算成十进制就是0到487423。因此OTA时,Application最大不能超过243712,另外的243712用于存储新的Image。设置好后,点击Generate生成文件。
8,打开图形化配置工具,勾选DCDC,保存。
9,编译工程,并烧录到设备。
Application工程配置
1, 在ZCL Clusters一栏,展开General,找到Over-the-Air Bootloading Cluster,在Client处勾选上。
2, 在Printing and CLI一栏,勾选Enable debug printing,展开Cluster debugging,勾选Over the Air Bootloading。
3,在HAL configuration一栏,选择Application模式BootLoader。
4, 在Plugins一栏:
a,勾选OTA Bootloader Cluster Client,右边options中不勾选Set Image Stamp Attribute(35x SOC only)。
b,勾选OTA Bootloader Cluster Client Policy,固件版本先设置为1,确认Perform EBL Verfication(SOC Only)勾选。
c,如下图,勾选OTA Bootload Cluster Common Code,OTA Bootload Cluster Storage Common Code,OTA Cluster Platform Bootloader,OTA Simple Storage EEPROM Driver,OTA Simple Storage Module。
关于OTA Simple Storage EEPROM Driver的配置,确保SOC Bootloading Support勾选,EEPROM Device Read-modify-write Support选择false。如果Gecko Bootloader Storage Support选择Do not use slots的话,OTA Storage Start Offset和OTA Storage End Offset需要填入Flash的绝对地址,如上图。如果Gecko Bootloader Storage Support不是选择Do not use slots的话,OTA Storage Start Offset和OTA Storage End Offset需要填入Flash的相对地址,此相对地址根据Bootloader工程中的划分来填,并且需要勾选Slot Manager,如下图。
d,勾选EEPROM。
4, 保存配置,点击Generate生成代码,编译工程,并下载到设备运行。
5, 另外,将OTA Bootload Cluster Client Policy中的固件版本修改成2,在编译一次,生成的.ota文件保存,作为新的Image用于升级。
至此,SOC端的Bootloader工程和Application工程配置完毕,接下来配置网关HOST工程。
HOST工程配置
1, 在ZCL Clusters一栏,展开General,找到Over-the-Air Bootloading Cluster,在Server处勾选上。
2, 在Printing and CLI一栏,勾选Enable debug printing,展开Cluster debugging,勾选Over the Air Bootloading。
3, 在Plugins一栏:勾选OTA Bootload Cluster Common Code,OTA Bootload Cluster Server,OTA Bootload Cluster Server Policy,OTA Bootload Cluster Storage Common Codes,OTA POSIX Filesystem Storage Module。
4, 配置好后,点击Generator生成文件,将HOST工程在Linux系统下编译。
升级演示
1, 将版本2的.ota固件拷贝到linux系统的Z3GatewayHost/ota-files文件夹。
2, 在Z3GatewayHost文件夹路径,使用sudo ./build/exe/Z3GatewayHost.exe –n0 -p ttyACM0运行HOST工程,ttyACM0是串口号。
3, 在HOST工程中,通过CLI:plugin ota-storage-common printImages,可以查看到Images的信息。
4, 网关创建网络,使用CLI: plugin network-creator start 1,并打开允许入网,使用CLI: plugin network-creator-security open-network。
5, 设备加入网络,使用CLI: plugin network-steering start 0。
6, 设备入网后,会自动查询新的Image,网关也可以通过CLI: plugin ota-server notify通知对应的设备升级,此CLI命令后面需要参数指定升级的设备。这样设备就可以正常OTA升级了,OTA升级大概需要10分钟。
至此,OTA升级完成,在实际应用中,如果发现Application的Image大于243712的话,可以在Printing and CLI中将Enable debug printing勾选去掉,再编译。
- |
- +1 赞 0
- 收藏
- 评论 5
本文由Carol提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
评论
全部评论(5)
-
嘿我梦见了 Lv4. 资深工程师 2021-12-07学习了
-
闲云 Lv7. 资深专家 2019-07-15学习 了
-
Duke Lv4. 资深工程师 2018-12-24收藏了
-
Altium Lv5. 技术专家 2018-11-08正好在用
-
嘟嘟星魂 Lv8. 研究员 2018-11-08学习了
相关推荐
【经验】芯科科技EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤
笔者设计了一款Zigbee无线通信模块,采用Silicon Labs(芯科科技)EFR32MG21A020F512IM32无线SOC作为主芯片,包含512KB Flash、64KB RAM和丰富硬件外设,最大发射功率20dBm,支持Zigbee 3.0协议,主要用于智能家居中的网关、智能开关等产品的无线连接。本文介绍EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤。
设计经验 发布时间 : 2020-03-16
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
设计经验 发布时间 : 2020-04-09
【经验】EFR32MG21多协议无线SoC的SWO PA03如何复用为普通GPIO口呢?
EFR32MG21 系列是 Silicon Labs 推出的高性价比的多协议无线SoC,用户在进行产品开发时会遇到 GPIO 不够用的情况,此时我们可以通过复用 JTAG 管脚中的 SWO log 输出脚,作为普通 GPIO 使用。本文介绍把 PA03 配置成普通按键的方法。
设计经验 发布时间 : 2020-06-29
【选型】Silicon Labs BG22、xG24、BG27无线SoC比较及信驰达无线模块选型指南
作为安全、智能无线技术领域的前沿品牌,Silicon Labs在最近几年陆续推出了EFR32BG22、EFR32xG24、EFR32BG27等系列无线SoC。RF-star作为物联网行业领先的无线通信模组厂商,基于Silicon Labs的无线SoC推出了RF-BM-BG22x系列串口转蓝牙透传模块、RF-BM-BG24x旗舰系列低功耗蓝牙模块和RF-BM-MG24x旗舰系列并发多协议无线模块。
器件选型 发布时间 : 2023-09-07
xG26再告捷!荣获2024全球电子成就奖-RF/无线年度创新产品奖
SILICON LABS(芯科科技)旗舰级BG26蓝牙SoC和MG26多协议SoC在日前获颁2024年全球电子成就奖(WEAA)年度射频/无线/微波创新产品奖!BG26和MG26系列SoC是迄今物联网产业领先企业之最高性能的系列产品,可用于最复杂的物联网应用,如需要较强的处理能力、能效和无线性能的Matter等具备严苛要求之新兴应用,以及包括智能家居、智慧城市和工业用例。
原厂动态 发布时间 : 2024-11-13
SiWx917 Wi-Fi 6蓝牙低功耗无线SoC,助力智能手表功耗和安全性能提升
SiWx917是Silicon Labs推出的一款支持Wi-Fi 6、蓝牙LE 5.4 和低功耗特性的无线SoC(系统级芯片),专为物联网(IoT)和可穿戴设备设计。这款芯片不仅拥有强大的计算能力和先进的无线连接功能,还具有低功耗和小尺寸的优势,为智能手表市场带来了全新的技术突破。
应用方案 发布时间 : 2024-10-23
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
设计经验 发布时间 : 2019-02-13
芯科科技提供Matter一站式开发平台及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块
Silicon Labs(亦称“芯科科技”)作为Matter和互联健康解决方案的领先供应商,正全力支持及推广健康与保健工作组的项目,通过为开发人员提供完善的Matter一站式开发平台,以及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块,来加速实现此一愿景。
原厂动态 发布时间 : 2024-03-01
携手无线技术联盟扩展IoT战略-全面布局创新技术和人工智能+安全
物联网(IoT)无线连接技术时刻在发生新变化。近日,物联传媒记者在深圳物联网展会期间特别采访了Silicon Labs亚太区生态高级经理刘俊先生,此次访谈紧密围绕公司在刚结束的深圳物联网展中亮相的前沿科技成果,深入讨论了技术创新、产品优势、应用前景等话题。
原厂动态 发布时间 : 2024-10-23
【经验】芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项
最近有用户在使用PA口时发现会出现一些异常,而且主要集中在PA01/PA02/PA03/PA04几个低端口,它们在使用时会出现一些异常的波形或无法控制。本文世强来介绍芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项。
设计经验 发布时间 : 2022-09-26
【IC】芯科科技MG26多协议SoC功能全面提升,迎合Matter over Thread开发代码增长需求
SILICON LABS近期针对Matter开发的扩展需求发布了MG26多协议SoC新品,通过提升了两倍的闪存和RAM容量以及GPIO,同时添加了人工智能和机器学习(AI/ML)硬件加速器来帮助开发人员满足未来更严苛的Matter物联网应用需求,包括增加对新的设备类型和安全功能增强等的支持。
产品 发布时间 : 2024-04-25
2.4GHz无线SoC MG21助力开发SONOFF微型Zigbee USB智能适配器支持路由和快充
SILICON LABS近日宣布,其EFR32MG21(MG21)2.4GHz无线SoC获SONOFF公司选用于开发新型“ZBMicro”智能开关。该产品是SONOFF最新的微型Zigbee USB智能适配器,也是智能家居技术领域的开创性产品。从作为USB设备的智能开关到作为Zigbee路由器和支持快速充电的功能,ZBMicro提供了无与伦比的用户体验,提升了现代智能家居的连接性和便利性。
原厂动态 发布时间 : 2024-08-17
【经验】如何配置多协议无线SoC EFR32的SPI外设驱动端口映射?
Silicon Labs公司针对物联网应用推出的多协议无线SoC,客户在开发时通常会通过基于开发板的例程代码来修改成自己的产品功能,本文基于开发板的SPI例程指导如何修改客户自定义的SPI的引脚,从而实现客户自己产品的SPI功能。
设计经验 发布时间 : 2020-09-25
【经验】如何降低ZigBee设备入网时的平均电流
Silicon Labs的EFR32MG系列是支持蓝牙5、BLE MESH、ZigBee的多协议无线SOC,其具有高集成度、超低功耗等特性,被广泛应用于智能家居以及IOT市场。有些产品对于低功耗要求较高,如电池供电传感器、单火开关等,本文基于EmberZnet协议栈,指导大家使用EFR32MG系列SOC开发ZigBee产品时,如何降低ZigBee设备入网时的平均电流。
设计经验 发布时间 : 2019-05-23
最新Matter智能家居参考设计打破生态藩篱—尽在深圳物联网展
随着智能家居市场的兴起,消费者对设备间的无缝互联与高效协同提出了更高要求。在这一情形下,Matter标准应运而生。连接标准联盟推出的Matter是一项全新的智能家居互联标准,旨在打破不同品牌、不同协议间的壁垒,实现智能家居设备的统一管理和互操作。自Matter标准发布以来得到了国内外众多厂商的支持,其功能不断增强,认证产品数量快速增长,覆盖品类更加多样化。本文介绍Matter 1.3带来哪些更新。
原厂动态 发布时间 : 2024-08-16
电子商城
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥15.1445
现货: 14,989
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥44.9692
现货: 12,980
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
根据用户的接口模块,使用是德示波器及夹具查看实时眼图演示,测试USB/MIPI/DDR/SATA/HDMI协议,支持最高到1.2GHz的实时眼图协议测试。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论