【经验】手把手教—EFR32BG SoC如何通过Gecko Bootloader进行串口DFU固件升级


一、测试前准备
EFR32BG系列的低功耗蓝牙SoC芯片的SDK,在2.3版本以后,simplicity studio V4生成的代码工程里面默认是没有uart bootloader功能的。但是提供了一份独立的Gecko Bootloader工程。本文将描述如何生成Gecko Bootloader工程和测试EFR32BG 低功耗蓝牙SoC的DFU串口升级功能,简单的说就是通过uart口更新EFR32BG固件。
在测试以前需要准备以下软件或者材料:
1)安装simplicity studio V4
2)安装 BLE SDK 2.3.2.0.
3)IAR 7.8版本以上
4)安装MinGW 编译环境。
说明:本文中,我测试使用的SSv4和MinGW都是安装在了D盘,测试时请根据实际安装路径操作。
二、MinGW安装
MinGW下载链接:https://sourceforge.net/projects/mingw-w64/files/latest/download?source=recommended
下载以后,运行“ mingw-w64-install.exe”安装时请选择如下,这个是我测试时使用的安装选项,可以正确编译和完成DFU测试:
选择好安装路径以后就会开始安装,整个过程会先下载一些文件,然后自动完成安装,全程无需再设置或者干预安装。
安装完成以后,可以测试一下MinGW是否运行正常。双击安装目录下的bat文件即可运行MinGW:D:\Program Files (x86)\mingw-w64-layne\x86_64-6.2.0-win32-seh-rt_v5-rev1
在弹出的命令行界面输入命令:gcc -v(注意空格),会看到最后出来gcc的版本是和安装的一样6.2版本。说明MinGW的gcc编译器运行正常,如下图
三、commander软件准备
1)请确认commander软件是最新的版本,可以在这个路径下找到:
D:\SiliconLabs\SimplicityStudio\v4\developer\adapter_packs\commander
运行commander.exe后可以查看版本信息,如果版本过低,请下载最新的ssv4,并完成更新:
四、生成Gecko Bootloader工程代码和目标文件
1)在SSv4主页面中输入使用的芯片正确型号,并选中这个型号。如下图所示,本次测试使用的芯片型号是EFR32BG1B132F256GM32,以此为例。
2)确认SSv4首页面中已经选中了SDK 2.3.2,如果不是,请重新选择,如下图所示。
SDK 2.3.2确认以后,就可以开始新建Gecko Bootloader工程了。
3)选择Gecko Bootloader,点击"next"。
4)选择BGAPI UART DFU Bootloader,点击"next"。
如有需要,可以下图的project name 框内重新命名工程名称:
进入到下面的页面后,请只勾选IAR编译工具,本次测试使用IAR编译器来编译工程代码,并再次确认芯片型号无误后,点击"finish"按钮,生成代码工程:
5)在生成的代码工程后,打开工程里面的.isc文件。设置bootloader 相关的参数。
Uart参数设置如下:可以设置uart 波特率,TX和RX的引脚分配。
设置uart 使能引脚,本次测试作为bootloader的uart一直是使能的,不采用使能引脚,因此这项勾线,在此取消了。
可以设置引脚来出发进入uart dfu,如果不用,这个勾选可以去掉。如下图:
6)全部设置完成以后,点击下图"Generate"按钮,生成源代码,并编译源代码,会得到uart dfu bootloader的目标文件:
得到的目标文件如下,在工程所在路径下的IAR ARM - Default文件夹可以找到,bootloader-uart-bgapi_2-combined.s37 文件就是我们测试需要的Gecko Bootloader目标文件:
五、
生成1份NCP Empty用户代码,然后修改device name为两个不同的名字,并编译,这样就可以得到两个不同的名称的蓝牙设备名称的应用代码目标文件。用于测试UART DFU升级使用。每次使用不同的用户代码目标文件来升级,会发现EFR32BG广播出来的设备名称改变了。就说明升级成功了。详细操作如下:
1)生成NCP Empty工程代码:
在SSv4主界面上选中芯片型号或者EVB的型号之后,"New project" >> "Bluetooth SDK" >>"next" >>" Bluetooth SDK 2.3.2" >> "next" >> "NCP target- Empty" >> " next" >> "next" >> " 到达这个页面后,检查芯片型号和IAR编译器是否选择正确" >> "finish"
2)在工程代码里面,打开efr32bg1b132f256gm32.hwconf文件。默认生成的NCP代码使用的uart会使能硬件流控。如果不希望用硬件流控,可以到这个文件里面去取消相关设置。
3)在生成的工程里面,打开*isc文件。在页面上修改device name,然后点击"Generate"生成源代码。在源代码的main函数中,添加自动发送广播的命令。这样DFU升级完成以后就会自动开始广播了。
代码添加如下:
4)上一步完成之后,开始编译代码,编译之后,得到的目标文件有以下几种文件格式,但是gecko bootloader升级使用的文件格式是gbl文件。在NCP工程代码目标下的IAR ARM – Default文件夹都找不到这个格式的文件。
这时候,在工程目录下有另外一个create_ebl_files.bat文件。双击之后就能自动生成gbl文件了,存放在output_gbl文件夹中。如下:
在output_gbl文件夹中会看到3个文件。我们选取其中的full.gbl文件用于升级使用。
然后重复第3步骤,修改device name,重新generate一下,并得到新的full.gbl文件。
到此我们就得到了2份具有不同广播设备名称的NCP用户程序了。还有1份Gecko bootloader目标文件。
六、生成uart-dfu.exe上位机软件
运行MinGW,在命令行中输入:
Cd d:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v1.0\app\bluetooth_2.3\examples_ncp_host\uart_dfu
运行mingw32-make命令,编译工程,得到uart-dfu.exe可执行文件。该文件存放在d:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v1.0\app\bluetooth_2.3\examples_ncp_host\uart_dfu\ exe
编译结果如下:
这个编译过程无任何报错,也无需修改uart_dfu文件夹中的任何文件。编译得到uart-dfu.exe文件后,把 uart-dfu.exe 和之前生成两个full.gbl文件,以及gecko bootloader的bootloader-uart-bgapi_2-combined.s37文件一起放到一个文件夹中。如下:
七、DFU 串口升级测试
1)先用commander软件烧录bootloader-uart-bgapi_2-combined.s37文件到目标板中。
开始DFU升级,命令行路径切换路径到EFR32BG Gecko Bootloader test文件夹下运行uart-dfu.exe COM34 115200 full_ncp_adv1.gbl命令,开始DFU升级,升级完成会提示finish。如下:
特别说明:COM34要根据电脑实际识别到的串口号来修改。
看到finish出现,表明DFU升级完成,打开手机APP软件。搜索到这个蓝牙广播的名称,就说明DFU升级成功了。然后可以尝试使用另外一份不同设备名称gbl文件再次升级测试。
八、扩展思维:
以上测试全部使用的是NCP的目标代码,请问使用SSv4生成的SoC的应用代码,是否可以使用gecko bootloader来升级呢?如果想得到更多的答案,请下载"世强元件电商"手机APP软件,成为VIP用户就可以找到答案。
相关技术文档:
SILICON LABS EFR32BG13 EFR32 Blue Gecko SoC数据手册 详情>>>
看到这里您是否又有项目灵感需实现,点击下面开发软件帮你忙。
Silicon Labs Simplicity Studio平台开发工具
- |
- +1 赞 0
- 收藏
- 评论 5
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】EFR32BG低功耗蓝牙SoC串口DFU固件升级上位机实现过程详解
EFR32BG的串口DFU过程是完全参照《Bluetooth Smart Software API Reference Manual》中的API命令来实现。
【应用】支持PTA共存机制的WIFI、ZigBee、BlueTooth和4G多协议智能家居网关应用方案
早期的多协议智能家居网关大多不支持共存机制,在拥挤的2.4GHz频段中,存在着相互干扰的问题,影响通讯效果。为解决上述问题,本方案采用支持PTA共存机制的WIFI、ZigBee、BlueTooth的SOC芯片和全网通4G模块,并搭配高性价比的电源和高精度晶振,实现支持共存机制的多协议智能家居网关应用方案。
蓝牙®Mesh ADK 6.0.5.0
本资料介绍了Silicon Labs公司发布的蓝牙Mesh ADK 6.0.5.0版本,该版本支持蓝牙Mesh和蓝牙5功能,适用于创建大规模设备网络。主要特点包括支持网络照明控制(NLC)配置文件,支持iOS和Android系统,以及提供详细的安装和使用说明。此外,资料还涵盖了新功能、改进、已知问题和兼容性信息。
SILICON LABS - BLUETOOTH MESH,蓝牙MESH,CONNECTED LIGHTS,资产追踪,GATT CONNECTIONS,BLUETOOTH BEACONING,资产跟踪系统,低功耗蓝牙(LE)设备,平板,信标扫描,ASSET TRACKING SYSTEMS,楼宇自动化,BUILDING AUTOMATION,SENSOR NETWORKS,SMART PHONES,传感器网络,HOME AUTOMATION,GATT连接,智能手机,BEACON SCANNING,连接的灯,BLUETOOTH LOW ENERGY (LE) DEVICES,家庭自动化,ASSET TRACKING,TABLETS,蓝牙信标
BGM220P 无线 Gecko Bluetooth 模块数据表
BGM220P是一款基于EFR32BG22 SoC的无线蓝牙模块,专为电池供电的物联网(IoT)产品设计。该模块支持蓝牙5.2标准,具备高性能射频范围和低能耗特性,同时内置天线和高传输功率。它集成了丰富的外设和多种时钟管理选项,并提供了全面的可升级软件栈和全球法规认证,适用于资产追踪、运动健身设备、便携式医疗设备、智能家居、工业和楼宇自动化等领域。
SILICON LABS - 无线 GECKO BLUETOOTH 模块,无线GECKO蓝牙模块,模块,WIRELESS GECKO BLUETOOTH MODULE,MODULE,BGM220PC22WGA2,BGM220PC22HNA2,BGM220P22A,BGM220P,运动器材,健身器材,联网家居,工业自动化,BLUETOOTH 网状网络低功耗节点,康体器材,资产标记,楼宇自动化,便携式医疗设备,信标
BGM220S 无线 Gecko Bluetooth® 模块数据表
SILICON LABS - 无线 GECKO BLUETOOTH® 模块,BGM220SC22WGA2,BGM220S,BGM220SC22HNA2,BGM220S12A,BGM220SC12WGA2,BGM220S22A,运动器材,健身器材,联网家居,工业自动化,BLUETOOTH 网状网络低功耗节点,康体器材,资产标记,楼宇自动化,便携式医疗设备,信标
Bluetooth®Mesh SDK 6.1.3.0 GA Gecko SDK套件4.4
本资料介绍了Silicon Labs的蓝牙mesh SDK 6.1.3.0 GA Gecko SDK Suite 4.4版本,该版本支持蓝牙mesh 1.1规范,并增加了网络照明控制(NLC)配置文件。SDK支持多种编译器,包括IAR Embedded Workbench for ARM和GCC。资料详细说明了新功能、API、改进、已知问题和已修复问题,并提供了安装和使用指南。
SILICON LABS - BLUETOOTH MESH,蓝牙MESH,BRD4182,BRD4312,BRD4311,CONNECTED LIGHTS,资产追踪,GATT CONNECTIONS,BLUETOOTH BEACONING,资产跟踪系统,低功耗蓝牙(LE)设备,平板,信标扫描,ASSET TRACKING SYSTEMS,楼宇自动化,BUILDING AUTOMATION,SENSOR NETWORKS,SMART PHONES,传感器网络,HOME AUTOMATION,GATT连接,智能手机,BEACON SCANNING,连接的灯,BLUETOOTH LOW ENERGY (LE) DEVICES,家庭自动化,ASSET TRACKING,TABLETS,蓝牙信标
Silicon Labs(芯科科技) BT121 Bluetooth Smart功能模块 数据手册
该文档详细介绍了BT121蓝牙智能模块的技术规格和应用指南。BT121是一款集成了高性能蓝牙无线电、低功耗ARM Cortex微控制器和Bluegiga蓝牙智能堆栈软件的模块,适用于需要同时支持蓝牙智能和经典连接的应用。它具有多种硬件接口,包括UART、SPI、I2C等,并支持多种蓝牙协议。
SILICON LABS - BLUETOOTH,BLUETOOTH SMART READY MODULE,蓝牙智能就绪开发套件,蓝牙智能就绪模块,蓝牙,BLUETOOTH SMART READY DEVELOPMENT KIT,BT121-A-V2C,BT121,BT121-A-V2-IAP,DKBT,BT121-A-V1-IAP,BT121-A-V1,BT121-A-V2,BT121-A,室内照明,安防,工业自动化,工业伺服,智能家居,BT121 CAN BE USED IN A WIDE VARIETY OF APPLICATIONS SUCH AS CABLE REPLACEMENT, HID DEVICES, HEALTH AND FITNESS, POS (POINT-OF-SALES), M2M CONNECTIVITY, AUTOMOTIVE AFTERMARKET, INDUSTRIAL AND HOME AUTOMATION GATEWAYS AND OTHERS.,楼宇自动化,BT121可用于多种应用,如电缆更换、HID设备、健康和健身、POS(销售点)、M2M连接、汽车售后市场、工业和家庭自动化网关等。
智能家居体验大升级!新型传感器日光下感测距离达2米
Silicon Labs新一代光学传感器Si1153能够用于强环境光条件下的户外环境,且接近感应距离最大可达2米,特别适于室外环境中的手势控制和接近检测等应用,可谓智能家居用户界面的新主宰!
Bluetooth®Mesh SDK 7.0.2.0 GA Simplicity SDK套件2024.6.2
本资料介绍了Silicon Labs的Bluetooth mesh SDK 7.0.2.0 GA版本,该版本支持蓝牙mesh网络功能,适用于构建大规模设备网络。主要内容包括:迁移至Simplicity SDK Suite,移除对Series 0/1的支持,支持delta-compressed固件更新。此外,还介绍了兼容的编译器、新特性、新API、改进、已知问题、弃用项目和移除项目等信息。
SILICON LABS - SIMPLICITY SDK SUITE,MESH SDK,SIMPLICITY SDK套件,网格SDK,CONNECTED LIGHTS,资产追踪,资产跟踪系统,低功耗蓝牙设备,BLUETOOTH LE DEVICES,平板,ASSET TRACKING SYSTEMS,楼宇自动化,BUILDING AUTOMATION,SENSOR NETWORKS,SMART PHONES,传感器网络,LE DEVICES,HOME AUTOMATION,LE设备,智能手机,连接的灯,家庭自动化,ASSET TRACKING,TABLETS,蓝牙LE设备,BLUETOOTH LOW ENERGY DEVICES
用手机当钥匙,看BLE方案如何同智能家居擦出火花!
相比于家庭中常用的WIFI,BLE拥有绝对的低功耗优势;相比于智能家居使用比较多的Zigbee,BLE拥有组网简单以及可以直连手机的优势。
BLE113 Bluetooth®低功耗模块
该文档为Silicon Labs公司的BLE113蓝牙低能耗模块的数据手册。它详细介绍了BLE113模块的功能、特性、引脚说明、电气特性、射频特性、天线特性、物理尺寸、设计指南、焊接建议、块图、封装标记和认证信息。
SILICON LABS - BLUETOOTH® LOW ENERGY MODULE,BLUETOOTH®低能耗模块,BLE113-A-M256K,BLE113-A,BLE113,IPHONE,IPAD配件,KEY FOBS,COLLECTORS,安防,HID键盘,医用传感器,SECURITY,SMART HOME SENSORS,电子钥匙链,健康和健身传感器,苹果智能手机,无线钥匙,HEALTH AND FITNESS SENSORS,老鼠,收藏家,IPAD ACCESSORIES,MEDICAL SENSORS,智能家居传感器,接近标签,HID KEYBOARDS,MICE,PROXIMITY TAGS,WIRELESS KEYS
蓝牙®Mesh ADK 6.0.2.0
本资料介绍了Silicon Labs公司发布的蓝牙Mesh ADK 6.0.2.0版本,该版本支持蓝牙Mesh和蓝牙5功能。主要内容包括:支持网络照明控制(NLC)配置文件,支持iOS和Android系统,以及详细的技术更新和问题修复。资料还提供了安装和使用指南,以及技术支持信息。
SILICON LABS - BLUETOOTH® MESH ADK,BLUETOOTH®MESH ADK,CONNECTED LIGHTS,资产追踪,资产跟踪系统,低功耗蓝牙设备,BLUETOOTH LE DEVICES,平板,ASSET TRACKING SYSTEMS,楼宇自动化,BUILDING AUTOMATION,SENSOR NETWORKS,SMART PHONES,传感器网络,LE DEVICES,HOME AUTOMATION,LE设备,智能手机,连接的灯,家庭自动化,ASSET TRACKING,TABLETS,蓝牙LE设备,BLUETOOTH LOW ENERGY DEVICES
低功耗蓝牙
本文档介绍了硅实验室(Silicon Labs)的蓝牙低能耗技术,重点在于其最新版本——蓝牙5.4。该技术适用于需要长电池寿命且数据传输量不大的应用场景。文档详细阐述了蓝牙低能耗架构、核心功能、可扩展性、安全认证以及不同模式下的工作方式。同时,还提供了硬件支持、软件工具和开发套件等相关信息。
SILICON LABS - 蓝牙LE开发套件,BLUETOOTH LE DEVELOPMENT KITS,BLUETOOTH LOW ENERGY SDK,BLUETOOTH DEVELOPMENT KITS,蓝牙低功耗SDK,蓝牙开发套件,BG27,BG24,BG22,BG21,EFR32,医学,暖通空调,物联网应用,SWITCHES,智能标记,IOT APPLICATIONS,DIRECTION FINDING,便携式产品,网关,线路供电设备,HVAC,蓝牙MESH应用,LINE-POWERED DEVICES,SENSORS,ESL,LED灯泡,GATEWAYS,HEALTH,楼宇自动化,测向,BUILDING AUTOMATION,PORTABLE PRODUCTS,智能家居类,SMART HOME,LED BULBS,蓝牙LE应用,SMART TAGS,开关,健康,MEDICAL,BLUETOOTH MESH APPLICATIONS,传感器,BLUETOOTH LE APPLICATIONS
BGM13S Blue Gecko Bluetooth®SiP模块产品介绍
该资料介绍了Silicon Labs的BGM13S蓝牙5.0 SiP模块,这是该公司首款SiP模块解决方案。它支持2 Mbps、1 Mbps和编码LE蓝牙PHY,适用于各种电池供电应用,具有低功耗、高性能射频性能和小型封装等特点。
SILICON LABS - BLUE GECKO BLUETOOTH® SIP MODULE,BLUE GECKO BLUETOOTH®SIP模块,BGM13S22F512GA-V3,BGM13S32,BGM13S22F512GN-V3R,BGM13S22,BGM13S32F512GA-V3,BGM13S,BGM13S22F512GN-V3,BGM13S32F512GA-V3R,BGM13S22F512GA-V3R,BGM13S32F512GN-V3,BGM13S32F512GN-V3R,智能电话,信标,TABLET,物联网终端节点设备,INDUSTRIAL AUTOMATION,WELLNESS,IOT END-NODE GATEWAYS,家庭自动化,物联网终端节点网关,SMART PHONE,SPORTS,HEALTH,PC ACCESSORIES,楼宇自动化,BUILDING AUTOMATION,平板电脑,IOT END-NODE DEVICES,HOME AUTOMATION,工业自动化,BEACONS,体育,WEARABLES,电脑配件,健康,可穿戴设备
蓝牙®Mesh ADK 6.0.4.0
本资料介绍了蓝牙Mesh ADK 6.0.4.0版本,包括其功能、兼容性、新特性、改进点、已知问题及解决方法。该软件支持多对多的通信,适用于大规模设备网络构建,特别适合于建筑自动化、传感器网络和资产跟踪等领域。资料还涵盖了安装和使用指南,以及如何获取技术支持和产品信息。
SILICON LABS - BLUETOOTH MESH ADK,蓝牙网状ADK,CONNECTED LIGHTS,资产追踪,资产跟踪系统,低功耗蓝牙设备,BLUETOOTH LE DEVICES,平板,ASSET TRACKING SYSTEMS,楼宇自动化,BUILDING AUTOMATION,SENSOR NETWORKS,SMART PHONES,传感器网络,LE DEVICES,HOME AUTOMATION,LE设备,智能手机,连接的灯,家庭自动化,ASSET TRACKING,TABLETS,蓝牙LE设备,BLUETOOTH LOW ENERGY DEVICES
电子商城
现货市场
服务

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

根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
查看全部1条回复
查看全部2条回复