如何读取EFR32BG24系列SoC代码运行PC指针

2024-07-01 世强
蓝牙SoC,EFR32BG24,XG24-RB4186C,EFR32MG24B210F1536IM48 蓝牙SoC,EFR32BG24,XG24-RB4186C,EFR32MG24B210F1536IM48 蓝牙SoC,EFR32BG24,XG24-RB4186C,EFR32MG24B210F1536IM48 蓝牙SoC,EFR32BG24,XG24-RB4186C,EFR32MG24B210F1536IM48

我们在调试SILICON LABS EFR32BG24系列蓝牙SoC代码的时候,如果需要读取当前代码运行的PC指针,可以有以下两种方式来读取。


方法一:在simplicity studio 5仿真调试模式下直接读取。


我们基于simplicity studio 5,GSDK 4.4.2版本SDK,xG24评估板XG24-RB4186C,使用的芯片是(EFR32MG24B210F1536IM48

创建“Bluetooth - SoC Empty”参考代码,在main.c文件中int main(void)函数中添加while(1)死循环用于测试。代码运行后PC指针就会一直在while中循环,代码如下:

 


然后烧录Bootloader - SoC Bluetooth AppLoader OTA DFU,再烧录刚刚编译好的“Bluetooth - SoC Empty”,在simplicity studio 5中点击仿真,进入仿真以后,点击全速运行,等待一段时间点击停止按钮,可以看到代码运行到了while(1)中。


 

下图中的3个按钮分别是运行,暂停,停止。

点击暂停仿真以后,可以通过仿真页面右侧的“Register”窗口查看PC指针信息,其实从这个窗口还能看到PC指针之外的其他寄存器。从下图中可以看到PC:0x802ea14 <main+10>,代码停在第52行,正好是main开始的第10行。 


方法二:通过J-Link Commander读取PC指针。(安装J-Link驱动后,可在电脑的开始菜单里找到)


这种方法可以让EFR32BG24先运行一段时间,当复现出代码运行的异常状态时,再接上jlink调试器,打开J-Link Commander软件,通过jlink命令读取PC指针。这种方式可以脱离Studio 5仿真模式,直接在实际产品运行状态去读取PC指针。


Type "connect" to establish a target connection, '?' for help

J-Link>connect(输入connect命令,连接目标芯片)

Please specify device / core. <Default>: EFR32MG24BXXXF1536

Type '?' for selection dialog

Device>?(输入问号,会跳出手动选择芯片型号的对话框,在device栏输入芯片型号,选择对应的型号)

Please specify target interface:

  J) JTAG (Default)

  S) SWD

  T) cJTAG

TIF>s(输入S选择SWD接口)

Specify target interface speed [kHz]. <Default>: 4000 kHz

Speed>(直接回车)

Device "EFR32BG24BXXXF1536" selected. (芯片选择完成)

更多的J-Link Commander命令,可以输入'?'获得。

J-Link>?

Available commands are:

输入halt命令,Halt CPU,这个时候会自动打印出PC指针,以及其他寄存器值,如下:读取到的PC指针的值,和我们前面方法一在Studio 5仿真模式下读取到的PC指针值是一样的。如果输入halt命令没有自动打印出寄存器值,可以输入Regs命令读取全部寄存器。

 如果需要继续运行,可以输入go命令,Start CPU if halted,示例:

J-Link>go

J-Link>halt

PC = 0802EA14, CycleCnt = D84606C9

R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 20000EA0

R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000

R8 = FFFFFFFF, R9 = FFFFFFFF, R10= 1FFF0AC0, R11= 00000000

R12= 00000290 


我们打开工程目录下的.map文件。找到PC指针PC = 0802EA14所在位置。能找到最接近的位置:

.text.startup.main

                0x0802ea0a        0xc ./main.o

                0x0802ea0a        main

 .text.PendSV_Handler

                0x0802ea16        0x4 ./autogen/sl_bluetooth.o

                0x0802ea16        PendSV_Handler 

从map信息中可以找到PC = 0802EA14在main 0x0802ea0a的基础上加10的位置。也正好在我们代码手动增加的while(1)位置。 


结束语:

有的时候,需要多次halt和go,观察PC指针的变化情况,因为有时候代码不一定是运行在while(1)里空跑,有可能在某一段代码内循环运行,或者某一段异常的代码中运行跳出不来,这时候PC指针不是固定不变的,是会在小范围内变化的。通过这种办法定位到有问题的代码位置后,就可以做出相应的修改了。

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

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

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例

在蓝牙的实际应用中,往往需要自定义的蓝牙广播包来适应不同的应用环境,本文主要介绍基于SILICON LABS的EFR32BG22蓝牙SOC实现自定义广播数据包的方法。

2023-03-16 -  设计经验 代理服务 技术支持 批量订货

【经验】STUDIO V5中蓝牙SoC EFR32BG22添加串口LOG打印的方法

在调试Silicon Labs蓝牙SoC EFR32BG22时,一般需要添加LOG打印信息,通过串口的方式来判断代码运行是否正常。由于使用RTT功能在打印信息时无法再次在线调试和代码下载,所以直接采用串口的方式更加便捷。

2021-06-30 -  设计经验 代理服务 技术支持 批量订货

【经验】Silicon Labs的蓝牙SoC EFR32BG22如何进行在线的OTA升级?

Silicon Labs的蓝牙SOC EFR32BG目前已经能够支持到蓝牙5.2,工艺升级后的EFR32BG22的功耗能够达到接收4.1mA,0dbm发射功耗3.6mA,休眠功耗低至1.4uA,如此低的功耗,能够大幅延长蓝牙设备的电池续航时间。本文介绍蓝牙SoC EFR32BG22如何进行在线的OTA升级。

2020-06-07 -  设计经验 代理服务 技术支持 批量订货

无线物联网技术打造智能、小型且安全的医疗保健设备

无线物联网(IoT)技术的快速发展,正在为医疗保健行业带来革命性的变革。智能医疗设备具有小型化设计和无线连接的特点,实现了患者的远程监测、精准诊断和个性化治疗。这一趋势将塑造未来医疗领域的发展,提供更高效、更智能和更安全的医疗保健解决方案。本文将为您介绍一些智能医疗保健设备的设计实例。

2024-11-27 -  应用方案 代理服务 技术支持 批量订货

选对了针对医疗和可穿戴设备的小型蓝牙芯片,设计毫不费力!

芯科科技一直为医疗设备和可穿戴设备制造商提供小型、专为应用而优化的蓝牙解决方案。以下展示了芯科科技提供的八款小型蓝牙芯片以及快速比较表,可以帮助您为应用程序选择最佳蓝牙解决方案!

2024-02-04 -  应用方案 代理服务 技术支持 批量订货

CareMedi采用芯科科技BG22系列蓝牙SoC打造小型贴片式胰岛素泵,大幅提升智慧医疗照护设备的应用价值

Silicon Labs(芯科科技)为CareMedi公司提供BG22小型化蓝牙SoC,帮助其开发新一代的贴片式胰岛素泵,大幅提升智慧医疗照护设备的应用价值。芯科科技很自豪能够通过为易用、智能的胰岛素泵设备提供解决方案,来帮助提高糖尿病患者的生活质量。我们期待能够进一步推动医疗物联网向前发展。

2024-10-18 -  应用方案 代理服务 技术支持 批量订货

Silicon Labs EFR32BG21 蓝牙SoC RCP模式测试-扫描设备

本文介绍测试EFR32BG21 蓝牙RCP模式工作在主模式,用于扫描蓝牙从设备,建立蓝牙连接和收发数据。首先需要准备一台电脑并且已经安装好了linux系统。也可以是windows系统下安装的linux虚拟机。并且已经安装好了蓝牙BlueZ协议栈。

2024-03-01 -  设计经验 代理服务 技术支持 批量订货

芯科科技EFR32BG27蓝牙SoC助力持续性血糖监测CGM设备长达21天续航时间

在当今医疗领域,持续性血糖监测(CGM)成为人们关注的焦点,特别是对于糖尿病患者而言,实时了解血糖水平变化对于治疗和生活质量的提升具有举足轻重的意义。Silicon Labs提供的极小型、超低功耗EFR32BG27(BG27)蓝牙SoC在CGM中的应用显得尤为突出。本文将详细介绍BG27蓝牙SoC在CGM中的应用及其突出特点。

2024-07-12 -  应用方案 代理服务 技术支持 批量订货

【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法

EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。

2020-11-28 -  设计经验 代理服务 技术支持 批量订货

BG24蓝牙SoC具备低功耗、小型化等特性,为CoreHW提供蓝牙RTLS的先进解决方案

Silicon Labs(亦称“芯科科技”)的BG24蓝牙SoC具备低功耗、小型化等特性,并支持蓝牙定位技术包括蓝牙到达角(AoA)和蓝牙信道探测(Channel Sounding),为CoreHW公司提供了最先进的实时定位服务(RTLS) 解决方案,以开发出创新的CoreTag和CoreLocator定位应用产品。

2024-06-21 -  应用方案 代理服务 技术支持 批量订货

【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导

很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。

2020-02-20 -  设计经验 代理服务 技术支持 批量订货

芯科科技提供多款无线连接和控制芯片产品及解决方案,BG2x系列蓝牙SoC成就多样医疗物联网用例,

Silicon Labs(亦称“芯科科技”)的无线SoC和MCU助力全球客户的医疗物联网应用创新,持续打造更智能、高效、安全和便捷的健康监测设备。智能和网联技术近年来一直是医疗和健康保障领域内的热门技术,许多厂商都在利用医疗物联网(IoMT)技术开发更加智能和互联的健康监测设备,以利用物联网、云计算、人工智能和可穿戴等新一代信息通信技术,来帮助用户时刻监控自己的健康状况、降低医疗费用和就医麻烦。

2023-06-29 -  原厂动态 代理服务 技术支持 批量订货

2024年版国民技术N32 MCU选型,全面覆盖新能源、工控、汽车、消费、医疗、物联网等各主流应用场景

N32系列MCU是国民技术基于安全SoC技术平台架构,采用32位Arm® Cortex®-M处理器内核,创新打造的以高性能、高集成度、安全、低功耗、高可靠性为特色的MCU产品。产品内置嵌入式高速加密闪存、低功耗电源管理,集成数模混合电路,以及多种密码算法硬件加速引擎和安全单元,全面覆盖新能源、工控、汽车、消费、医疗、物联网等各主流应用场景。

2024-05-16 -  器件选型 代理服务 技术支持 批量订货
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Radio Board

价格:¥289.8830

现货: 5

品牌:SILICON LABS

品类:Wireless SoC

价格:¥25.9222

现货: 24,393

品牌:SILICON LABS

品类:Wireless SoC

价格:¥47.1985

现货: 4

品牌:SILICON LABS

品类:开发工具

价格:¥331.7858

现货: 3

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:Bluetooth SoCs

价格:

现货: 0

品牌:SILICON LABS

品类:评估工具

价格:¥111.8652

现货: 0

品牌:芯海

品类:蓝牙芯片

价格:¥3.3334

现货: 77,827

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:126,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Wireless SoC

价格:¥15.1400

现货:1,455

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

语音/录音芯片定制

提供语音芯片、MP3芯片、录音芯片、音频蓝牙芯片等IC定制,语音时长:40秒~3小时(外挂flash),可以外挂TF卡或U盘扩容。

最小起订量: 1pcs 提交需求>

蓝牙资格认证(BQB)

提供蓝牙BLE芯片协议、蓝牙模块、蓝牙成品测试认证服务;测试内容分Host主机层,Controller控制器层,Profile应用层测试。支持到场/视频直播测试,资深专家全程指导。

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

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面