【经验】基于Silicon Labs EFR32MG12 平台OTA升级相关的要求及注意事项
由于目前在ZigBee无线领域,受限于硬件资源和方案限制,目前在ZigBee设备端集成OTA功能的方案很少,多数是在ZigBee网关端能集成OTA功能,而SILICON LABS EFR32系列SoC芯片则填补了此项空白,这样就在智能家居领域为ZigBee设备功能集成提供了更多选择。
本文主要是基于EFR32MG12无线入门套件描述OTA升级相关内容。此平台能提供两种方案的OTA功能,一种是用于只有单系统芯片运行的SOC模式(这种主要是指设备端),另一种是用于NCP+Host模式OTA,其中NCP(网络协同处理器)运行在EFR32MG12平台上,而Host端一般运行在Linux平台或者运行在Windows平台上的Cygwin平台上的虚拟机系统。下面描述OTA升级相关的要求:
1.硬件平台所需存储器资源
EFR32平台全系列支持OTA功能,但是一般Bootloader和应用程序所占用额存储空间处于200kB~250kB之间(具体与设备集成的cluster数量等有关系),由于要进行OTA功能,因此需要有备份区域,因此要么直接选择芯片内部存储空间超过512kB的型号(例如EFRMG12有1024kB存储空间),要么选择外部使用额外的存储设备,例如,可通过串口或者SPI外接Flash或者EEPROM。至于哪些型号可以支持外接外部存储设备,详细可参考请参阅《UG266:Silicon Labs Gecko Bootloader》这篇文章。
2.BootLoader 两种支持方式
BootLoader是一段存储在内部Flash中固定区域的程序代码,其本身一般不做升级,但其主要作用就是用于实现系统的初始化操作,以及引导系统升级和升级文件校验和搬运操作等,是OTA升级功能中必不可少的部分。如下图1所示,Silicon Labs EF32系列 BootLoader主要有两种形式:(1)Standalone BootLoader,它是一种需要通过外部通信接口(例如Uart或者SPI)获取更新的固件方式的OTA BootLoader,其中前面介绍的NCP+Host模式只支持这种BootLoader升级模式,如下图1中的ZigBee OTA Server模式,此种模式需要借助于外部的Host应用程序;(2)Application BootLoader ,它是一种支持更新固件通过存储于外部或者内部存储区域的升级程序获取更新固件的BootLoader方式,如下图1中所示的两种ZigBee OTA Client模式,这种Bootloader只适用于SoC模式,其中第一种运行需要外接EEPROM,而最后一种则运行在内部Flash中即可,设计者可以根据自己的需求或者陈本考虑,选择适合自己的方案。另外,只有当应用程序接收完成要升级的固件,并将固件存储于固定的存储区域,且升级文件校验通过后,Bootloader才能开始执行固件升级,否则退出OTA过程,重新启动原先的应用程序。
图1 Silicon Labs EFR32平台OTA架构图
图2 OTA升级文件组成部分
其他注意事项:
(1)升级文件必须为EBL格式文件,编译升级文件时,默认会生成所有格式的文件(包含EBL格式);
(2)系统具备Recovery Mode
Recovery Mode主要用于由于某种原因导致系统更新固件失败时,系统会重新启动,再次进行OTA升级,极端情况下存在更新固件和应用程序都失败的情况,此时Bootloader会进入Recovery Mode,可通过串口重新下载更新固件到存储区域,完成固件升级操作,此外,需要手动操作才能进入Recovery mode操作模式,将PA5 (nBOOTMODE)接地,通过串口进行强制升级,波特率默认115200。
(3) 串口通信参数设置
默认串口参数配置为:波特率为115200,8bit数据位,无校验位 ,1停止位 ,默认无流控 ,需要注意的是UART-based serial bootloaders 不需要流控,但是NCP模式通常会使用RTS/CTS,或者XON/XOFF,此时需要在Host端设置NCP进入 UART-based serial bootloaders模式时关闭流控操作。
本文主要基于Silicon Labs EFR32MG12平台描述填补ZigBee 设备端OTA空白方案相关内容,以便给读者选择相关方案提供参考设计,至于具体如何操作生成OTA文件或者OTA升级文件服务器端如何搭建和配置,详细操作步骤请参考文档《AN728: Over-the-Air Bootload Server and Client Setup》,文档里面有详细的操作步骤,且描述详细清楚。
- |
- +1 赞 0
- 收藏
- 评论 3
本文由Batman提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】Silicon Labs蓝牙Soc芯片EFR32BG22的蓝牙广播功率设置及注意事项
用户在使用Silicon Labs的蓝牙Soc芯片EFR32BG22实现蓝牙广播功能时,在不同的应用场景中要设置广播的发射功率,有的是为了降低产品的功耗,有的是为了增加或缩短通信的距离。那要如何设置广播时的功耗以及在设置时有哪些需要注意的事项?
设计经验 发布时间 : 2021-12-24
【经验】使用Simplicity Commander工具读写EFR32无线SoC芯片EUI和install code方法
本文以Silicon Labs EFR32FG23 Sub-G无线SoC芯片为例,介绍如何读写EFR32无线SoC芯片的EUI和install code的方法。
设计经验 发布时间 : 2023-04-21
【经验】使用串口来升级EFR32FG23无线SoC芯片固件的方法
本文主要介绍如何使用BootLoader——NCP UART XMODEM工程实现使用串口升级Silicon Labs EFR32FG23无线SoC芯片固件的方法。
设计经验 发布时间 : 2022-09-01
蓝牙SOC芯片是无线通信技术的核心力量
随着物联网(IoT)的快速发展,蓝牙SOC芯片在智能家居、可穿戴设备、健康和健身追踪器、远程控制等领域的应用越来越广泛。其低功耗和长距离通信的特性使得蓝牙技术成为连接设备的理想选择。
产品 发布时间 : 2024-05-10
【经验】配置迈斯威志WizPro200EFM烧录器实现脱机烧录无线SoC芯片EFR32MG21固件的方法
Silicon Labs的EFR32MG21无线SoC芯片,主要用于ZigBee和Matter设备。本文主要介绍如何配置迈斯威志WizPro200EFM烧录器,实现脱机烧录EFR32MG21无线SoC芯片固件的方法。
设计经验 发布时间 : 2023-01-21
如何用EFR32FG23无线SoC芯片读取平均RSSI?
本文以Silicon Labs的EFR32FG23无线SoC芯片的rail_soc_simple_trx工程为例,介绍EFR32FG23芯片读取某个信道的平均RSSI的方法。
设计经验 发布时间 : 2024-03-07
【经验】蓝牙SoC芯片EFR32BG系列BLE修改MAC地址的方法
当很多BLE设备一起使用或组网使用时,可以通过其MAC地址来区分不同的设备,这个地址是全球唯一有的,一般已固化在芯片中,无法修改,但用户可以配置不使用该MAC并使用自定义的符合 IEEE EUI64规则的MAC。在Silicon Labs蓝牙SoC芯片EFR32BG系列的BLE SDK中提供了方法,本文将进行详细说明讲解。
设计经验 发布时间 : 2020-05-16
【经验】低功耗蓝牙SoC芯片EFR32BG系列的UART串口通信参考代码与解析
EFR32BG是Silicon Labs公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.0、5.1协议和蓝牙Mesh协议,发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居;在开发EFR32BG蓝牙SoC的代码过程中,经常需要用到uart通信,本文详细介绍如何找到参考代码以及代码解析。
设计经验 发布时间 : 2020-02-10
EFR32FG23无线SoC芯片读取数据包实时RSSI值的方法
本文以Silicon Labs的EFR32FG23无线SoC芯片的rail_soc_simple_trx工程为例,介绍EFR32FG23芯片读取数据包的实时RSSI值的方法。
设计经验 发布时间 : 2024-03-07
【经验】如何在windows平台搭建Zigbee网关开发环境cygwin?
Silicon Labs 的EFR32MG多协议SoC芯片是 Silicon Labs 专门针对 IOT 推出的 ZigBee 方案,在开发 Zigbee 产品时网关是重要的一个部分,本文详细介绍了如何在Windows平台上搭建Silicon Labs提供的Zigbee网关开发环境cygwin。
设计经验 发布时间 : 2019-11-02
【经验】联盛德无线SOC芯片W801硬件设计中的注意事项
W801芯片是一款安全的IoT Wi-Fi/蓝牙双模SoC芯片。支持2.4G IEEE802.11b/g/n Wi-Fi通讯协议;性能优良、性价比高。可适用于智能家电、智能家居等物联网领域。本文主要介绍联盛德无线SOC芯片W801在硬件设计中要注意的具体事项。
设计经验 发布时间 : 2022-11-25
【IC】磐启微电子2.4G无线收发SOC芯片PAN7330,休眠电流仅0.1μA,适用于智能家居等领域
磐启微电子2.4G无线收发SOC芯片PAN7330是一款集成32位MCU和2.4GHz无线收发电路的SOC芯片,具有高可靠性和低功耗的特点,适合应用于智能家居等领域。通信速率支持2Mbps/1Mbps/250kbps。
产品 发布时间 : 2023-10-11
【应用】基于EFR32MG21作为zigbee接入单元和SGM2205作为电源转换芯片设计的智能家居zigbee网关产品
笔者有参与一款智能家居zigbee网关产品研发,zigbee单元基于芯科科技最新Gecko系列2高性价比EFR32MG21A020F512IM32-B芯片设计,WiFi单元基于专注于物联网应用的乐鑫ESP32-DOWD芯片设计,并选用圣邦微SGM2205-ADJXTDB8G/TR电源芯片实现5V转3.3V为zigbee和WiFi芯片供电。
应用方案 发布时间 : 2019-08-15
【经验】无线SoC芯片EFR32MG21手动生成OTA文件的方法与注意事项
在使用SILICON LABS无线SoC芯片EFR32MG21芯片设计ZigBee产品时,我们会用到OTA功能,这就要产生OTA文件。EmberZNet 6.x版本的项目中会自动为启用了OTA客户端插件的项目创建OTA文件,需要我们手动去创建OTA文件。
设计经验 发布时间 : 2023-05-24
【经验】无线SoC芯片EFR32MG21程序中MFG_SECURITY_CONFIG参数的设置与功能
在无线SoC芯片EFR32MG21的ZigBee默认Z3Light程序运行时我们可以通过keys print这个CLI命令打印NWK key与TC Link Key等密钥参数,打印的效果如下,那我们是否可以隐藏这些密钥无法打印呢?
设计经验 发布时间 : 2023-05-26
电子商城
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥44.9692
现货: 12,980
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
世强深圳实验室提供Robei EDA软件免费使用服务,与VCS、NC-Verilog、Modelsim等EDA工具无缝衔接,将IC设计高度抽象化,并精简到三个基本元素:模块、引脚、连接线,自动生成代码。点击预约,支持到场/视频直播使用,资深专家全程指导。
实验室地址: 深圳 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
查看全部1条回复
查看全部1条回复