【经验】如何实现EFR32BG低功耗蓝牙代码免BootLoader启动?
EFR32BG是SILICON LABS公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.0、5.1协议和蓝牙Mesh协议,最大发射功率可达+20dbm,接收灵敏度可达-98.9dbm@1Mbps。发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居,以及各种需要与智能手机连接的设备中。
开发EFR32BG1系列蓝牙工程代码时,经常用到的UART BootLoader或者也叫Gecko bootloader。但并不是默认加入到蓝牙工程中的,应用程序的代码编译后不是从0x0000开始,芯片上电以后应用代码是无法运行的。所以每一个蓝牙的工程都需要烧录一个Gecko bootloader。具体的操作指导详见:【经验】EFR32BG21系列蓝牙BootLoader生成与烧录的操作流程和注意细节。
如果我们开发的产品应用不需要带UART升级功能的BootLoader,就希望应用代码工程烧录到EFR32BG蓝牙芯片就可以直接运行,是否有办法可以解决呢?接下来我们就详细介绍如何实现代码免BootLoader启动。
以蓝牙SDK 2.13.0版本,BGM111,BGM121,BGM123,EFR32BG21为例,在simplicity studio v4开发平台中,生成的soc-empty参考代码,编译出来的代码flash地址是从0x4000开始,我们想办法修改linker文件,让代码编译从0x0000地址开始存放就可以了。
1、EFR32BG1系列,包含BGM111,BGM121,BGM123等模块,在生成的soc-empty参考代码根目录下,可以找到“.ld”后缀的文件:bgm111a256v2.ld;bgm121a256v2.ld;bgm123a256v2.ld。打开这个“ld”文件,按照如下修改:
默认设置为如下,需要去掉BootLoader的部分: FLASH_BOOTLOADER (rx) : ORIGIN = 0x0000, LENGTH = 0x4000;这个语句显示BootLoader从ORIGIN = 0x0000地址开始存放,占用0x4000字节长度。我们不需要BootLoader,因此就删除句。然后修改 FLASH (rx) : ORIGIN = 0x4000从0x0000地址开始存放,由于去掉了BootLoader占用的0x4000字节,那么Flash可用的空间LENGTH = 0x00040000;就不需要减去0x4000;
MEMORY
{
FLASH_BOOTLOADER (rx) : ORIGIN = 0x0000, LENGTH = 0x4000
FLASH (rx) : ORIGIN = 0x4000, LENGTH = 0x00040000-0x4000
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00007C00
}
修改后的代码如下:
MEMORY
{
FLASH (rx) : ORIGIN = 0x0000, LENGTH = 0x00040000
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00007C00
}
同时还需要去掉SECTIONS部分关于BootLoader的部分,以下代码可以删除:
.text_bootloader :
{
KEEP(*(.binbootloader*))
/* Align to flash page boundary*/
. = ALIGN(0x4000);
}> FLASH_BOOTLOADER
.text_apploader :
{
KEEP(*(.binapploader*))
}> FLASH
最终修改前后的代码对比情况如下:修改完成后,执行clean操作,然后重新编译。
特别提醒:编译代码后,在GNU ARM v7.2.1 - Default文件夹中,也会有一个“.ld”文件,我们要修改的不是这个,我们要修改的文件在工程文件夹下面。
2、EFR32BG21系列,操作思路和EFR32BG1系列一样。下方只展示修改前后对比情况,在工程的根目录下找到efr32mg21a010f1024im32.ld文件修改:修改完成后,执行clean操作,然后重新编译。
特别提醒:编译代码后,在GNU ARM v7.2.1 - Default文件夹中,也会有一个“.ld”文件,我们要修改的不是这个,我们要修改的文件在工程文件夹下面。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由紫云提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】Silicon Labs低功耗蓝牙SoC EFR32BG22如何通过GPIO唤醒UART通信
SiliconLabs的低功耗蓝牙SoC EFR32BG22系列芯片以极低的功耗和相对低廉的价格,达到了性价比的极致。目前大家开发EFR32BG22,大部分都会使其工作在休眠状态,一般会先用一个GPIO唤醒EFR32BG22,通过一定的条件使EFR32BG22停止休眠,再去串口通信,通信完成后,再进入休眠这样的流程。本文介绍下如何使用Silicon Labs的Bluetooth SDK实现该功能。
【经验】低功耗蓝牙SoC芯片EFR32BG系列的UART串口通信参考代码与解析
EFR32BG是Silicon Labs公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.0、5.1协议和蓝牙Mesh协议,发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居;在开发EFR32BG蓝牙SoC的代码过程中,经常需要用到uart通信,本文详细介绍如何找到参考代码以及代码解析。
【经验】如何开启低功耗蓝牙SoC芯片EFR32BG系列参考代码soc-empty工程中的调试串口打印输出功能
EFR32BG是Silicon Labs公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.1协议和蓝牙Mesh协议,支持AOA定位功能,苹果HomeKit,支持多种硬件加密等。发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居。开发过程中,经常需要用到uart串口调试,本文详细介绍如何在soc-empty工程中开启调试串口。
选对了针对医疗和可穿戴设备的小型蓝牙芯片,设计毫不费力!
芯科科技一直为医疗设备和可穿戴设备制造商提供小型、专为应用而优化的蓝牙解决方案。以下展示了芯科科技提供的八款小型蓝牙芯片以及快速比较表,可以帮助您为应用程序选择最佳蓝牙解决方案!
芯科科技BG24蓝牙SoC芯片内置AI/ML硬件加速器提供低功耗边缘计算能力,助力智能设备实现实时数据处理与决策
Silicon Labs BG24蓝牙SoC芯片通过内置AI/ML硬件加速器,赋予物联网设备卓越的边缘计算能力,使其能够在设备本地进行高效的实时数据处理与决策。结合低功耗设计和蓝牙5.3支持,BG24芯片在智能家居、工业监控和智能照明等领域表现出色,为未来智能设备的开发提供了强大的技术支撑。其低延迟和高效性能为用户带来更智能、更快速的应用体验,同时减少了对云计算资源的依赖,降低了整体运营成本。
芯科SiWx917低功耗WiFi 6+BLE SoC用于IPC网络摄像机,支持低功耗WiFi保活功能
一些电池供电的IPC在实际应用中,往往面临功耗高、网络连接慢以及处理能力有限等挑战。SiWx917 SoC,Silicon Labs超低功耗Wi-Fi 6和蓝牙 BLE 5.4无线SoC芯片,非常适合应用。
革新零售管理效率芯科科技零售电子标签蓝牙SoC芯片BG24, 实现1.3μA深度睡眠功耗与蓝牙5.3快速数据同步
Silicon Labs BG24蓝牙SoC芯片以超低功耗和快速数据同步能力,为零售电子价签和智能货架系统提供了高效解决方案。深度睡眠功耗仅1.3 μA,支持蓝牙5.3协议,帮助零售商优化管理效率,延长设备续航时间,为零售行业带来智能化变革。
IoT科普:如何选择正确的低功耗蓝牙SoC芯片
在物联网(IoT)设备的设计中,选择合适的低功耗蓝牙SoC是确保设备性能和电池寿命的关键。信驰达科技提供了全面的指南,帮助开发者理解并评估不同SoC的性能指标,从而做出最佳的选择。在设计模块之初,如何为产品设计选用正确的低功耗蓝牙SoC将是进行模块设计的关键一步。
【应用】亚米级、发射电流仅3.5mA@0dBm的蓝牙AOA室内定位系统方案
本方案采用Silicon Labs的低功耗蓝牙SoC芯片EFR32BG22,并搭配EPSON的高精度晶体38.4MHz无源晶体Q22FA1280041500,圣邦微SGMICRO的低噪声LDO SGM2036器件,实现亚米级、可探测方向、电池使用时间长的蓝牙AOA室内定位系统设计。
Secure Vault™与AES256技术双重加持,芯科科技BG24蓝牙SoC芯片让汽车电子更安全、更高效
Silicon Labs BG24蓝牙SoC芯片专为汽车电子设计,通过Secure Vault™和AES256加密技术,为蓝牙钥匙和无钥匙进入系统提供了顶级安全保障。其低功耗运行特性和高性能通信能力,满足了现代智能汽车对安全性与能效的严格要求。
【产品】国民技术N32WB031系列蓝牙SoC,最高工作主频64MHz,Sleep模式下功耗1.4μA@3V| 视频
国民技术N32WB031系列蓝牙SoC,独立的蓝牙协议栈ROM,不占用Flash空间,超低功耗,优秀的射频指标,极佳的连接稳定性和兼容性,简单易用的开发工具,应用领域广泛。
芯科科技智能家居蓝牙SoC芯片BG24提供+19.5dBm高射频功率与1.3μA超低功耗,助力实现远距离连接与超长续航
Silicon Labs BG24蓝牙SoC芯片专为智能家居设备设计,以+19.5 dBm的高射频功率覆盖更广区域,同时1.3 μA的深度睡眠功耗大幅延长设备续航时间。支持蓝牙5.3和蓝牙Mesh协议,BG24提升了智能门锁、传感器和网关等设备的通信稳定性与兼容性,是智能家居互联的理想选择。
【经验】如何实现低功耗智能蓝牙SOC芯片EFR32BG UART通信接口配置与数据收发?
EFR32BG是Silicon Labs公司的一款高性能低功耗蓝牙SOC芯片。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居,以及各种需要与智能手机连接的设备中。这样一款应用广泛,高性能低功耗的BLE智能蓝牙SOC,在设计产品代码时,大都会使用UART通信,本文详细介绍如何配置UART引脚和初始化,以及代码的实现。
【经验】Silicon Labs蓝牙SoC EFR32BG22调试接口锁定后如何解锁
Silicon Labs公司推出的蓝牙芯片EFR32BG22,支持最新的Bluetooth5.2标准及蓝牙MESH网络功能。具有同类最优的超低传输和接收功率和高性能、低功耗的组合提供业界领先的低功耗特性。使用EFR32BG22时,如果Jlink接口被锁定,需要在DOC下操作,本文介绍具体操作步骤。
【视频】SiWx917新一代超低功耗Wi-Fi 6+蓝牙BLE 5.4无线SoC芯片,实现超乎想象性能和体验的双重突破
SILICON LABS - WI-FI 6+蓝牙BLE 5.4无线SOC芯片,WI-FI 6 SOC,SIWG917M110LGT,SIWG917M100MGT,SIWG917M111MGT,SIWG917M141XGT,SIWN917M100LGT,SIWG917M121XGT,SIWG917M111XGT,SIWT917M100XGT,资产追踪,暖通空调,智慧楼宇,宠物追踪器,智慧城市,智能门锁,HVAC,智能家居,运动手表,智慧医院,IPC,运动相机,智能电表,低功耗定位
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
登录 | 立即注册
提交评论