【经验】EFR32BG21系列蓝牙BootLoader生成与烧录的操作流程和注意细节
SILICON LABS公司推出了Series 2产品包括支持多协议、Zigbee®、Thread和Bluetooth®网状网络的EFR32MG21 SoC,以及专用于低功耗蓝牙和蓝牙Mesh网络的EFR32BG21 SoC。Silicon Labs 蓝牙SOC EFR32BG21系列芯片支持蓝牙5.0、蓝牙5.1及蓝牙MESH功能,芯片采用Cortex-M33内核,工作主频可以达到80MHz,蓝牙的最大发射功率可以达到+20 dBm,接收灵敏度可达-104dBm,可实现蓝牙远距离通信。这些SoC可为物联网产品的理想解决方案,例如网关、集线器、照明、语音助理和智能电表等。
Silicon Labs公司针对蓝牙应用的开发,提供了非常多的软件代码,其中也包含了蓝牙经常用到的UART bootloader或者也叫Gecko bootloader。但并不是默认加入到蓝牙工程中的,应用程序的代码编译后不是从0x0000开始,芯片上电以后应用代码是无法运行的。所以每一个蓝牙的工程都需要烧录一个Gecko bootloader。
·对于EFR32xG1系列的设备,其存放的起始地址是0x0000
·对于EFR32xG12和EFR32xG13系列的设备,其存放在一块特定的地址区域,并不占用内部Flash空间,应用的起始地址是0x0000.
接下来,我们基于Simplicity Studio v4开发环境,一步一步操作生成一份EFR32BG21系列芯片的Gecko bootloader。
本文操作使用的芯片是EFR32BG21A010F512为例子,蓝牙SDK版本是2.13.0。
1、选择正确的芯片型号,注意如果选择1024KB Flash的芯片生成的BootLoader,烧录到512KB Flash的芯片上是不能正确运行,需要根据电路板中实际使用的芯片型号生成BootLoader:
2、创建DFU BootLoader工程代码。选择首页面上的“New Project”,找到“BGAPI UART DFU Bootloader”参考代码。如下图,并按照操作指引,一步一步完成工程代码的生成:
3、配置BootLoader的“Plugin”参数。需要配置DFU串口升级使用的uart串口参数,以及触发进入BootLoader的GPIO。打开BootLoader工程代码中以“.isc”后缀的文件。
1)配置进入BootLoader的GPIO触发引脚。使用EFR32xG21的评估板,有默认分配的引脚。但是自己的芯片,工程代码就没有默认分配引脚,务必手动分配一个引脚,用于触发进入BootLoader。例如PC02,PA03等等,具体引脚看电路设计规划的。
2)配置DFU 串口引脚和参数,BootLoader配置页面已经默认了串口的参数是115200,8N1,其实只需要分配引脚就可以了,如果是评估板生成的BootLoader,默认按照评估板的设计已经分配好了uart引脚,但是自己的芯片,默认是没有分配引脚的,需要手动分配一下,不然编译无法通过:
然后分配UART通信引脚,例如前面我们选用了UART1口,就使能和配置UART1串口的TX和RX引脚就可以:
UART的TX和RX一定要分配引脚,否则编译无法通过。
4、GPIO引脚和UART的TX和RX引脚配置好了以后,点击“Generate”按钮生成BootLoader代码。
5、编译生成的BootLoader工程代码,然后会生成如下的目标文件,可以把bin,hex,s37文件任选一个烧录到EFR32BG21的芯片中,然后不擦除芯片,再烧录自己的蓝牙应用代码就可以正常运行了。
6、量产时,可以使用commander 软件把BootLoader和自己的蓝牙应用目标文件合并,操作一次烧录就可以了。
合并bootloader和应用,在命令行输入: commander convert bootloader-uart-bgapi_BG21_test.s37 your_application.s37 -o app+bootloader.s37
更多commander操作命令,详见UG162: Simplicity Commander Reference Guide:
commander软件在SimplicityStudio安装目录下可以找到,路径为:SiliconLabs\SimplicityStudio\v4\developer\adapter_packs\commander
合并bootloader和应用的命令在UG162文档描述如下:
5.5.1 Combine Two Files
Converts two files with different file formats into one specified output file. Command Line Syntax:
$ commander convert <filename> <filename> [--address <address>] --outfile <filename>
注意:需要指定转换文件的路径,如果不指定路径,需要把转换的文件放到commander软件同一路径下。
- |
- +1 赞 0
- 收藏
- 评论 1
本文由紫云提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
Silicon Labs EFR32BG21 蓝牙SoC RCP模式测试-扫描设备
本文介绍测试EFR32BG21 蓝牙RCP模式工作在主模式,用于扫描蓝牙从设备,建立蓝牙连接和收发数据。首先需要准备一台电脑并且已经安装好了linux系统。也可以是windows系统下安装的linux虚拟机。并且已经安装好了蓝牙BlueZ协议栈。
【经验】支持3线PTA的Bluetooth SDK,解决蓝牙与WIFI共存难题
在设计蓝牙产品时不可避免的要与WIFI一同使用,由于蓝牙与WIFI都是2.4GHz的频段,如何解决同频干扰是我们不得不面对的一个难题。Silicon Labs提供的Bluetooth SDK从V2.6.0版本开始引入了3线的PTA,可以解决蓝牙与WIFI共存的难题。Bluetooth SDK适用于Silicon Labs EFR32BG与EFR32MG系列的无线蓝牙SOC产品。
【经验】Silicon Labs 蓝牙SOC EFR32BG系列IADC与ADC的区别
Silicon Labs蓝牙SOC EFR32BG系列包括有EFR32BG12/13和EFR32BG21两个子系列,其中EFR32BG12/13采用的是Cortex-M4内核,EFR32BG21采用的是Cortex-M33内核,二者的内核不同,另外,EFR32BG12/13集成有IADC,EFR32BG21集成的是ADC,两个ADC还是有一些区别的,在使用时需要注意一下,本文介绍其区别。
【技术】蓝牙5与蓝牙MESH,增加蓝牙传输距离并将蓝牙设备进行组网通讯
Silicon Labs公司作为世界顶级的物联网芯片、软件、解决方案供应商,推出支持蓝牙5.0的SOC芯片EFR32BG系列和通过认证、集成天线、远距离传输、小封装的蓝牙模块BGM系列。Silicon Labs公公司针对蓝牙产品,提供整套完善的开发工具,蓝牙Mesh网络开发包,例程和手机APP代码。运用Silicon Labs公司提供的丰富资源,可以提高设计产品的稳定性,加快上市时间。
探索蓝牙新安全功能,基于证书的身份验证和配对 (CBAP)
“基于证书的身份验证和配对(CBAP)”有助于简化低功耗蓝牙(Bluetooth LE)设备的身份验证和配对过程。芯科科技是低功耗蓝牙解决方案的行业领导者,可以帮助您实施基于证书的身份验证和配对,以确保设备具有最高安全性,而无需任何用户交互。目前,Secure Vault-High 和 Secure Vault-Mid 设备上支持基于证书的身份验证和配对。
【经验】蓝牙MESH网关程序中的Vendor Model的OpCode的设置
在使用FR32BG21开发蓝牙MESH网关的程序时,我们有时需要使用Vendor Model功能,这时我们需要定义OpCode,在程序中我们可以查到默认定义了两个Opcode:0X00,0X01,这个定义与SIG标准有些冲突,这是什么原因?我们要如何定义OpCode?
【经验】EFR32BG21蓝牙绑定的操作流程
我们在使用EFR32BG21做产品时,有时会遇到需要配对、绑定的一些操作,做这些操作时要调用哪些API函数去实现呢?本文就用Silicon Labs的两块蓝牙SOC EFR32BG21的开发板测试一下这个功能。
Silicon Labs EFR32BG21 蓝牙SoC RCP模式测试-广播设备
本文介绍测试EFR32BG21 蓝牙RCP模式工作在从模式,BG21 RCP会发出蓝牙广播,被手机的蓝牙扫描,连接。首先需要准备一台电脑并且已经安装好了linux系统。也可以是windows系统下安装的linux虚拟机。并且已经安装好了蓝牙BlueZ协议栈。
【经验】蓝牙SoC芯片EFR32BG22使用SSV5生成Bootloader的方法
如果用户拿到一颗新的Silicon Labs EFR32BG22 蓝牙SoC芯片,使用Bluetooth例程soc-empty编译完成烧录后,程序没有运行起来,最可能的情况是新的芯片内部没有Bootloader。本文讲解如何使用Simplicity Studio生成Bootloader例程并下载到目标芯片使芯片可以正常使用。
【经验】如何在Simplicity Studio v5中修改EFR32系列无线SoC的Bootloader跳转地址
EFR32MG24B220F1536IM48这个芯片内部有1536kB的Flash,在运行蓝牙程序时,需要烧录bootloader和BLE app两个部分才能够正常运行。有时候为了扩展bootloader的功能。
EFR32BG2x系列蓝牙SoC如何配置外接FEM引脚,驱动FEM?
Silicon Labs公司的EFR32BG21或者EFR32BG2x系列的蓝牙SoC最大可以支持20dBm的发射功率,以及非常优秀的接收灵敏度。本文以BG21评估板SLWRB4181A,基于GSDK 4.4.1,介绍如何快速配置BG21实现FEM适配。
【经验】如何利用EFM8系列MCU的BootLoader实现程序烧写
Silicon labs的EFM8系列MCU在出厂的时候是带有BootLoader的,用户可以利用USB或UART口通过BootLoader实现生产时的程序烧写,从而节省了PCB上的调试接口和使用调试器,为用户带来方便。
【经验】EFR32无线通信模块AN110——蓝牙BLE(建立蓝牙连接)
EFR32标准模块,是世强独立研发,供用户学习、使用的射频模块。本文将通过代码操作演示,详细说明Silicon Labs蓝牙SoC作为master主设备的时候,如何建立蓝牙连接。本文使用的蓝牙SDK版本是2.13.1.0. 搭配EFR32BG21系列评估板,如果有EFR32标准模块或者其他型号的蓝牙评估板也是同样的操作。
“蓝牙开发流程”详解低功耗蓝牙5.4、蓝牙Mesh和定位服务开发步骤
SILICON LABS(芯科科技)致力于为客户提供最佳蓝牙解决方案。我们的蓝牙协议栈支持长距离、1M 和 2M PHY,使设备能够进行更远距离或更高速率的通信。该蓝牙协议栈还支持方向查找和其他定位服务,可实现室内导航、资产跟踪和接近检测等应用。此外,我们的蓝牙设备可在 SoC、NCP 和 RCP 模式下运行,这三种不同的集成和功能模式可提供成本、性能和灵活性之间的不同权衡。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥15.1445
现货: 14,989
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,128
品牌:SILICON LABS
品类:Blue Gecko Wireless SoC
价格:¥11.3356
现货: 10,290
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥12.2646
现货: 5,917
品牌:SILICON LABS
品类:Wireless Connectivity CC0 Module
价格:¥74.2362
现货: 5,021
品牌:SILICON LABS
品类:Blue Gecko Wireless SoC
价格:¥14.4011
现货: 5,000
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥17.5602
现货: 2,250
现货市场
服务
可定制胶棒天线频率范围包括GSM/GRPS/2G/3G/5G/2.4G/5G/5.8GHZ/WIFI/蓝牙、LoRa、433/470/315/868/915Mhz/NB等;增益:0~15dBi;天线尺寸、接口连接器可按需定制。
最小起订量: 1000 提交需求>
可定制变压器的常规尺寸从EE4.4到ETD49不等,温度范围:-40℃~150℃。自动化产品的起订数量:20KPCS,其它定制产品无起订量要求。
提交需求>
登录 | 立即注册
提交评论