Wi-SUN入门指导8:生成Wi-SUN SoC Meter OTA DFU升级所需的固件

2024-10-14 世强
无线SoC芯片,开发板,EFR32FG25,EFR32FG25A121F1152IM56 无线SoC芯片,开发板,EFR32FG25,EFR32FG25A121F1152IM56 无线SoC芯片,开发板,EFR32FG25,EFR32FG25A121F1152IM56 无线SoC芯片,开发板,EFR32FG25,EFR32FG25A121F1152IM56

由于我们的 EFR32FG25 USB Dongle 使用的是 EFR32FG25A121F1152IM56 无线SoC芯片,它的 flash 只有 1152 kB,不能实现固件备份式的 OTA 升级,因此我们使用 EFR32FG25 的 BRD4270B 开发板来测试 OTA 功能。BRD4270B 开发板使用的芯片是 EFR32FG25B222F1920IM56 芯片,它的 flash 大小为 1920 kB,足够放下 bootloader、应用固件和升级固件。本文主要以 BRD4270B 开发板为例,介绍生成 Wi-SUN SoC Meter OTA DFU 升级所需固件的方法。

1、在对 Meter 执行 OTA 升级之前,需要先给 Meter 烧录 bootloader 固件,所以我们先新建 bootloader工程。在 Simplicity Studio v5 软件的菜单栏点击 File,点击 New,再点击 SILICON LABS Project Wizard。

在 New Project Wizard 页面,为了方便给使用 EFR32FG25 芯片自己做板子的客户提供参考,我们没有使用 BRD4270B 开发板直接创建工程,而是使用 EFR32FG25B222F1920IM56 芯片来创建工程,所以 Target Boards 不用选择;Target Device 输入并选中 BRD4270B 开发板所使用的芯片型号:EFR32FG25B222F1920IM56,SDK 选择 Simplicity SDK Suite v2024.6.1;IDE/Toolchain 选择 GNU ARM v12.2.1;点击 NEXT。

在 MCU 下面勾选 Bootloader,点击搜索到的 Bootloader - SoC Internal Storage (single image on 1920kB device) 工程,点击 NEXT。

勾选 Copy contents,点击 FINISH。

2、默认的 bootloader 工程没有使用压缩算法,所以用于升级的 gbl 固件比较大,升级所需的时间比较长。建议使用 lzma 压缩算法,使用 lzma 压缩后的 gbl 固件大小只有没压缩 gbl 固件的 61%。


为了使用 lzma 压缩算法,我们需要安装 GBL Compression (LZMA) 组件。点击 bootloader-storage-internal-single-1920k.slcp,点击 SOFTWARE COMPONENTS,在搜索栏输入 lzma,点击搜索到的 GBL Compression (LZMA),点击 Install。

3、编译 bootloader-storage-internal-single-1920k 工程,把编译后的 hex 或者 s37 固件下载到 BRD4270B 开发板。

4、按照上面创建 bootloader 工程的方法,再使用 EFR32FG25B222F1920IM56 芯片创建 Wi-SUN - SoC Meter 工程。

为了方便跟之前使用 EFR32FG25 Wi-SUN Dongle 创建的 Meter 工程做区分,我们把工程名称改为 wisun_soc_meter_brd4270b,勾选 Copy contents,点击 FINISH。

5、点击 wisun_soc_meter_brd4270b.slcp 文件,点击 SOFTWARE COMPONENTS,在搜索栏输入 clock manager,点击搜索到的 Clock Manager 组件,点击 Configure。

勾选 HFXO Settings (if High Frequency crystal is used),

将 Clock Tree Settings 的 Default Clock Source Selection for HF clock branches 改为 HFXO。

6、点击 wisun_soc_meter_brd4270b.slcp 文件,点击 SOFTWARE COMPONENTS,在搜索栏输入 eusart,点击搜索到的 IO Stream: EUSART 组件,点击 Install。

把 INSTANCE NAME 改为 vcom,点击 Done。

等待组件安装完成后,点击 Configure,

选择串口外设,配置串口引脚。

7、接下来需要在 wisun_soc_meter_brd4270b 工程安装 OTA 所需要的 OTA DFU 组件,点击 wisun_soc_meter_brd4270b.slcp 文件,点击 SOFTWARE COMPONENTS,在搜索栏输入 ota dfu,点击搜索到的 Wi-SUN Over-The-Air Device Firmware Upgrade (OTA DFU) 组件,点击 Install。


勾选 Enable verbose mode 使用详细模式,方便在测试时打印详细的 OTA DFU log。一旦您熟悉了 OTA DFU,您就可以禁用详细模式。

把 TFTP service listening address 改为:fd00:6172:6d00::1;

把 OTA DFU notification server address 改为:fd00:6172:6d00::2。

Firmware image (gbl) file name on TFTP server 可以保持 wisun_firmware.gbl 不变,我们在 WSBRD 中也要使用同样的文件名。

8、在 wisun_soc_meter_brd4270b 工程的 app.c 文件中,为了区分 Meter 固件版本号,在 app_task() 函数的 sl_wisun_app_core_util_connect_and_wait() 这行代码前面,添加如下打印版本号和是否支持 OTA DFU 的代码:

printf("Version 1. Compiled on %s at %s\n", __DATE__, __TIME__);


#ifdef SL_CATALOG_WISUN_OTA_DFU_PRESENT

  printf("OTA DFU is supported\n");

#endif

9、安装 OTA DFU 组件后,Simplicity Studio v5 软件会自动生成 led0 和 led1 的代码,如果我们不对这两个 led 的 GPIO 进行配置,编译程序会报如下错误。

在 SOFTWARE COMPONENTS 的搜索栏输入 led,点击搜索到的 Simple LED 组件,点击右边的 Add New Instances。

在 INSTANCE NAME 输入 led0,点击 Done。

led0 组件安装完成后,点击 Simple LED 组件左边的三角形图标,点击 led0,再点击 Configure。

在 SL_SIMPLE_LED_LED0 的 Selected Module 选择 BRD4270B 开发板 LED0 对应的 GPIO:PC06。

10、点击 wisun_soc_meter_brd4270b.slcp,再次点击 Simple LED 组件,点击 Add New Instances。

在 INSTANCE NAME 输入 led1,点击 Done。

led1 组件安装完成后,点击 led1,再点击 Configure。

在 SL_SIMPLE_LED_LED1 的 Selected Module 选择 BRD4270B 开发板 LED1 对应的 GPIO:PC07。

11、此时编译 wisun_soc_meter_brd4270b 工程,它会报 sl_wisun_meter_process 和 sl_wisun_meter_init 函数没有定义的错误。

因为安装 OTA DFU 组件之后,工程会启用 CoAP 优化模式,不需要使用这两个函数,所以这两个函数的源代码就被屏蔽了。

我们在 app.c 文件的 app_task() 函数里面,屏蔽 sl_wisun_meter_process(); 这行代码。

然后在 app_init.c 文件的 app_init() 函数里面,屏蔽 sl_wisun_meter_init(); 这行代码。

12、编译 wisun_soc_meter_brd4270b 工程,此时工程就能编译通过了。

13、为了区分不同版本的固件,点击 wisun_soc_meter_brd4270b 工程的 Binaries,在 wisun_soc_meter_brd4270b.s37 固件点击右键,点击 Rename。

将固件名称改为 wisun_soc_meter_brd4270b_version_1.s37,点击OK。

14、在 app.c 的 app_task() 函数中,将版本打印信息由 Version 1 改为 Version 2,重新编译 wisun_soc_meter_brd4270b 工程。

使用同样的方式,把刚编译好的固件名称改为 wisun_soc_meter_brd4270b_version_2.s37。

15、由于我们直接使用 EFR32FG25B222F1920IM56 芯片来创建 Meter 工程,没有使用 BRD4270B 开发板创建工程,所以没有使用虚拟串口。因此我们需要在开发板底板的 20pin 拓展接口上连接USB转串口工具,用来使用串口命令跟 Meter 通信,并且打印 Meter 的 log。

16、把 wisun_soc_meter_brd4270b_version_1.s37 固件烧录到 BRD4270B 开发板,EFR32FG25 芯片复位后会打印如下信息。可以看到 EFR32FG25 芯片现在使用的 Meter 固件版本号和程序编译时间。

17、找到 wisun_soc_meter_brd4270b_version_2.s37 固件的存放路径,并复制这个固件。

把 wisun_soc_meter_brd4270b_version_2.s37 固件粘贴到 commander.exe 所在的文件夹。

18、打开电脑的命令行页面,先进入到 commander.exe 所在的文件夹,再使用如下命令将 wisun_soc_meter_brd4270b_version_2.s37 固件转换为 wisun_soc_meter_brd4270b_version_2_lzma.gbl 固件,并且使用了 lzma 压缩算法。

commander gbl create  --app wisun_soc_meter_brd4270b_version_2.s37 wisun_soc_meter_brd4270b_version_2_lzma.gbl --compress lzma


现在可以在 commander 文件夹中看到刚生成的 wisun_soc_meter_brd4270b_version_2_lzma.gbl 固件,后面对 Meter 做 OTA 升级时,需要把这个 gbl 固件发送到树莓派。



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

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

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】基于Silicon Labs无线SoC芯片MG24开发套件的Matter入门指导文章汇总

本文主要介绍基于Silicon Labs MG24开发套件的Matter入门指导文章汇总。

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

【经验】使用Simplicity Commander工具读写EFR32无线SoC芯片EUI和install code方法

本文以Silicon Labs EFR32FG23 Sub-G无线SoC芯片为例,介绍如何读写EFR32无线SoC芯片的EUI和install code的方法。

设计经验    发布时间 : 2023-04-21

Wi-SUN入门指导5:使用EFR32FG25 Wi-SUN Dongle创建Wi-SUN-SoC Meter工程

本文主要介绍如何使用EFR32FG25 Wi-SUN Dongle创建Wi-SUN - SoC Meter工程,并测试Meter跟WSBRD是否通信正常。

设计经验    发布时间 : 2024-09-24

【经验】使用串口来升级EFR32FG23无线SoC芯片固件的方法

本文主要介绍如何使用BootLoader——NCP UART XMODEM工程实现使用串口升级Silicon Labs EFR32FG23无线SoC芯片固件的方法。

设计经验    发布时间 : 2022-09-01

【经验】配置迈斯威志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

【经验】如何使用RAILTEST程序测试无线SoC芯片EFR32MG的蓝牙性能?

使用过Silicon Labs无线SoC芯片EFR32MG的Zigbee功能的工程师多数已经习惯使用Railtest软件对Zigbee性能做测试,而在Railtest软件下也可以对BLE性能做测试。本文将介绍具体的设置步骤与注意事项。

设计经验    发布时间 : 2020-09-26

【经验】Matter入门指导6:用Simplicity Commander给Breakout开发板烧录固件的方法

我们在前面的Matter入门指导中已经编译好了Matter over Thread的Light、Switch和bootLoader固件。本文主要介绍使用Simplicity Commander工具给EFR32MG24 Breakout开发板烧录固件的方法。

设计经验    发布时间 : 2023-05-21

EFR32FG23无线SoC芯片读取数据包实时RSSI值的方法

本文以Silicon Labs的EFR32FG23无线SoC芯片的rail_soc_simple_trx工程为例,介绍EFR32FG23芯片读取数据包的实时RSSI值的方法。

设计经验    发布时间 : 2024-03-07

【经验】使用Simplicity Commander工具对无线SoC芯片EFR32FG23执行recover的方法

在使用芯科科技EFR32FG23时,有时一些错误的操作会导致芯片烧录一次固件之后就不能重新烧录,或无法识别到芯片等问题,需要对芯片执行recover。本文主要介绍使用Simplicity Commander工具对EFR32FG23执行recover的方法。

设计经验    发布时间 : 2022-01-15

【经验】无线SoC芯片EFR32MG21手动生成OTA文件的方法与注意事项

在使用SILICON LABS无线SoC芯片EFR32MG21芯片设计ZigBee产品时,我们会用到OTA功能,这就要产生OTA文件。EmberZNet 6.x版本的项目中会自动为启用了OTA客户端插件的项目创建OTA文件,需要我们手动去创建OTA文件。

设计经验    发布时间 : 2023-05-24

xG24开发板新增支持CircuitPython,加速物联网原型设计和开发过程

Silicon Labs致力于提升物联网无线连接技术能力,为xG24无线SoC系列开发板引入CircuitPython支持。其是针对微控制器优化的Python的开源版本,有助于扩展xG24 Explorer套件,xG24评估套件和Sparkfun Thingplus Matter - MGM240P开发板的功能,允许用户利用CircuitPython的简易性和灵活性,利用芯科科技板载的高级功能。

原厂动态    发布时间 : 2023-08-22

【经验】校准使用TCXO晶振的无线SoC芯片EFR32FG23频偏的方法

当无线SoC芯片EFR32FG23使用TCXO晶振时,无法通过修改Ctune值的方式来校准频偏。本文主要介绍通过设置频率offset值的方式,来校准使用TCXO晶振的EFR32FG23芯片频偏的方法。

设计经验    发布时间 : 2022-09-25

【经验】Simplicity Studio 5软件配置使用EFR32FG14无线SoC芯片USART串口的方法

Simplicity Studio 5(SSv5)是Silicon Labs新推出的开发软件,软件界面和使用方法跟SSv4版本有较大的区别。本文以EFR32FG14使用simple_trx工程为例,介绍Simplicity Studio 5 软件如何配置和使用EFR32FG14无线SoC芯片USART串口的方法。

设计经验    发布时间 : 2021-01-16

【经验】无线SoC芯片EFR32MG21程序中MFG_SECURITY_CONFIG参数的设置与功能

在无线SoC芯片EFR32MG21的ZigBee默认Z3Light程序运行时我们可以通过keys print这个CLI命令打印NWK key与TC Link Key等密钥参数,打印的效果如下,那我们是否可以隐藏这些密钥无法打印呢?

设计经验    发布时间 : 2023-05-26

展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Flex Gecko Wireless SoC

价格:¥78.9741

现货: 2,495

品牌:SILICON LABS

品类:Flex Gecko Wireless SoC

价格:¥95.7918

现货: 20

品牌:SILICON LABS

品类:Flex Gecko Wireless SoC

价格:¥58.3484

现货: 18

品牌:SILICON LABS

品类:Zigbee RTOS低成本网关的开发板

价格:¥151.1111

现货: 14

品牌:SILICON LABS

品类:开发板

价格:¥477.8415

现货: 10

品牌:SILICON LABS

品类:Radio Board

价格:¥400.6332

现货: 9

品牌:SILICON LABS

品类:Radio Board

价格:¥289.8830

现货: 9

品牌:SILICON LABS

品类:Radio Board

价格:¥364.2120

现货: 8

品牌:SILICON LABS

品类:开发板

价格:¥329.6019

现货: 6

品牌:SILICON LABS

品类:开发板

价格:¥550.9630

现货: 5

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:开发板

价格:¥259.1316

现货:48

品牌:RENESAS

品类:开发板

价格:¥4,100.0000

现货:20

品牌:迅为

品类:开发板

价格:¥378.2000

现货:15

品牌:RENESAS

品类:开发板

价格:¥5,052.4560

现货:8

品牌:RENESAS

品类:EVALUATION BOARD

价格:¥9,620.4300

现货:7

品牌:RENESAS

品类:开发工具

价格:¥19.9940

现货:7

品牌:RENESAS

品类:DEMO BOARD

价格:¥634.3680

现货:7

品牌:华普微电子

品类:开发板

价格:¥200.0000

现货:5

品牌:RENESAS

品类:开发板

价格:¥2,200.0000

现货:5

品牌:RENESAS

品类:开发板

价格:¥4,000.0000

现货:5

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

物联网天线方案设计/虚拟天线芯片方案设计

Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。

最小起订量: 2500 提交需求>

EDA芯片设计软件免费使用

世强深圳实验室提供Robei EDA软件免费使用服务,与VCS、NC-Verilog、Modelsim等EDA工具无缝衔接,将IC设计高度抽象化,并精简到三个基本元素:模块、引脚、连接线,自动生成代码。点击预约,支持到场/视频直播使用,资深专家全程指导。

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

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面