【经验】如何在蓝牙SoC EFR32BG22工程代码中添加SEGGER_RTT打印功能?
RTT的全称为实时传输(Real Time Transmit),是Segger公司推出的,搭配Jlink使用的调试打印手段。在一些对速度敏感以及外设串口资源紧张的场景,可考虑使用RTT打印调试信息。由于笔者开发的项目中所使用的EFR32BG22C112F352GM32只有两个普通串口,且一个串口被串行SPI占用,一个用于数据通信,没有可用于调试打印的接口,因此使用RTT进行调试信息输出就成为了一个不错的选择。本文针对该问题描述了向工程中添加开源SEGGER_RTT打印功能的过程,给出在开发中使用JLINK进行RTT打印调试的参考。
本文以笔者开发的实际项目(采用SILICON LABS的蓝牙SoC EFR32BG22C112F352GM32制作通用性蓝牙数据通信模块)为例,所有信息均来自于笔者所开发的真实项目的截图,读者可放心参考。
在SEGGER官网下载JLink_Windows_V682.exe程序安装后,可在安装目录的SEGGER\JLink_V682\Samples\RTT 路径下找到RTT源码。
RTT源码默认目录结构为:
其中RTT文件夹下为RTT源码,Syscalls文件夹下为相应开发环境的系统调用接口。我们移植RTT到Simplicity Studio创建的工程需要以下步骤:
1, 首先将Syscalls文件夹下的对应开发环境的.c文件拷贝到RTT文件夹下。Simplicity Studio开发环境默认的GNU编译器对应的是SEGGER_RTT_Syscalls_GCC.c文件。
2, 将RTT文件夹整个拷贝到笔者创建的工程目录下。
3,alt+enter打开当前工程的属性设置,在Tool Settings页面的GNU ARM C Compiler下的Includes下添加刚刚我们工程下复制的RTT文件夹路径。
4,在涉及RTT函数调用的源文件中添加SEGGER_RTT.h头文件的包含。
5,在工程初始化的代码中添加SEGGER_RTT_Init函数调用,用于初始化RTT运行环境。之后的代码就可以通过SEGGER_RTT_printf函数打印我们需要的调试信息了。
注:为了程序的低耦合与名称简化,笔者将SEGGER_RTT_printf函数定义了一个别名DBG。
在程序启动时通过调用bootMessage函数将版本,MAC地址等信息进行了打印。
RTT打印的信息可以使用Jlink连接PC和目标板,并通过J-LINK RTT Viewer工具进行查看。
实测,打印出了预期的调试信息。至此,我们RTT的移植就算大功告成了!
有关RTT具体的配置描述和使用详情可参阅Segger官网资料和RTT目录下Examples所给出的例程。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由skywalker_lee提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例
在蓝牙的实际应用中,往往需要自定义的蓝牙广播包来适应不同的应用环境,本文主要介绍基于SILICON LABS的EFR32BG22蓝牙SOC实现自定义广播数据包的方法。
【经验】STUDIO V5中蓝牙SoC EFR32BG22添加串口LOG打印的方法
在调试Silicon Labs蓝牙SoC EFR32BG22时,一般需要添加LOG打印信息,通过串口的方式来判断代码运行是否正常。由于使用RTT功能在打印信息时无法再次在线调试和代码下载,所以直接采用串口的方式更加便捷。
【经验】Silicon Labs的蓝牙SoC EFR32BG22如何进行在线的OTA升级?
Silicon Labs的蓝牙SOC EFR32BG目前已经能够支持到蓝牙5.2,工艺升级后的EFR32BG22的功耗能够达到接收4.1mA,0dbm发射功耗3.6mA,休眠功耗低至1.4uA,如此低的功耗,能够大幅延长蓝牙设备的电池续航时间。本文介绍蓝牙SoC EFR32BG22如何进行在线的OTA升级。
Silicon Labs EFR32BG27蓝牙SoC用在CGM中,支持3v或1.5v电池供电,可做到21天超长续航时间
EFR32BG27蓝牙SoC由世界知名半导体厂商Silicon Labs推出,基于ARM Cortex-M33处理器内核,拥有超低功耗、超小体积和超大资源等优势,成为了CGM设备的理想选择。
芯科科技EFR32BG27蓝牙SoC助力持续性血糖监测CGM设备长达21天续航时间
在当今医疗领域,持续性血糖监测(CGM)成为人们关注的焦点,特别是对于糖尿病患者而言,实时了解血糖水平变化对于治疗和生活质量的提升具有举足轻重的意义。Silicon Labs提供的极小型、超低功耗EFR32BG27(BG27)蓝牙SoC在CGM中的应用显得尤为突出。本文将详细介绍BG27蓝牙SoC在CGM中的应用及其突出特点。
【应用】EFR32BG22蓝牙SoC用做CGM连续血糖仪主控,单芯片集成MCU和蓝牙5.2
CGM连续血糖仪为了用户体验更好,要做到小而轻,续航时间长,可以通过手机蓝牙连接获取血糖测量数据。Silicon Labs的蓝牙SoC EFR32BG22在单芯片中集成了MCU和蓝牙5.2,可以作为CGM的主控芯片并实现蓝牙数据收发,有丰富的外设。
BG24蓝牙SoC具备低功耗、小型化等特性,为CoreHW提供蓝牙RTLS的先进解决方案
Silicon Labs(亦称“芯科科技”)的BG24蓝牙SoC具备低功耗、小型化等特性,并支持蓝牙定位技术包括蓝牙到达角(AoA)和蓝牙信道探测(Channel Sounding),为CoreHW公司提供了最先进的实时定位服务(RTLS) 解决方案,以开发出创新的CoreTag和CoreLocator定位应用产品。
Silicon Labs EFR32BG21 蓝牙SoC RCP模式测试-扫描设备
本文介绍测试EFR32BG21 蓝牙RCP模式工作在主模式,用于扫描蓝牙从设备,建立蓝牙连接和收发数据。首先需要准备一台电脑并且已经安装好了linux系统。也可以是windows系统下安装的linux虚拟机。并且已经安装好了蓝牙BlueZ协议栈。
Silicon Labs EFR32BG21 蓝牙SoC RCP模式测试-广播设备
本文介绍测试EFR32BG21 蓝牙RCP模式工作在从模式,BG21 RCP会发出蓝牙广播,被手机的蓝牙扫描,连接。首先需要准备一台电脑并且已经安装好了linux系统。也可以是windows系统下安装的linux虚拟机。并且已经安装好了蓝牙BlueZ协议栈。
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导
很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。
EFR32BG2x系列蓝牙SoC如何配置外接FEM引脚,驱动FEM?
Silicon Labs公司的EFR32BG21或者EFR32BG2x系列的蓝牙SoC最大可以支持20dBm的发射功率,以及非常优秀的接收灵敏度。本文以BG21评估板SLWRB4181A,基于GSDK 4.4.1,介绍如何快速配置BG21实现FEM适配。
【经验】芯科科技EFR32BG22系列蓝牙SOC低功耗优化的相关配置
本文主要介绍Silicon Labs(芯科科技)EFR32BG22系列蓝牙SOC目前所有的低功耗优化的相关配置,实现目标: VDD=3V,VSCALE0=0.9V,温度25℃,EM2模式下深度休眠为1.4μA。
洞悉标准化蓝牙ESL应用潜力,芯科科技全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本
随着蓝牙标准的推陈出新,Silicon Labs(亦称“芯科科技”)也持续升级蓝牙解决方案,全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本,以满足开发人员的需求。
【经验】Silicon Labs蓝牙SoC在开启了串口后,如何降低功耗?
在调试Silicon Labs的蓝牙SoC时,我们需要打开串口日志输出以方便调试,但是在添加了Log和IO Stream:USART组件后,可以看到日志可以输出了,但是随之EM2休眠功耗却降不下去了,这是由于添加了串口后,默认串口在EM2下是开启的,导致EM2下功耗会比较高,本文将以EFR32BG27为例,指导如何在添加了串口后降低串口功耗。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 101,879
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
提供语音芯片、MP3芯片、录音芯片、音频蓝牙芯片等IC定制,语音时长:40秒~3小时(外挂flash),可以外挂TF卡或U盘扩容。
最小起订量: 1pcs 提交需求>
提供蓝牙BLE芯片协议、蓝牙模块、蓝牙成品测试认证服务;测试内容分Host主机层,Controller控制器层,Profile应用层测试。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论