TRACE32——SMP多核调试

TRACE32——SMP多核调试

很多时候我们需要调试SMP多核芯片,或者一个复杂的处理器里的SMP多核部分,例如英飞凌TC275TF有三个Tricore™ 内核、NXP S32G274A中含有四个Cortex®-A53的内核都可以工作在SMP模式下。

图片

图片

TRACE32提供了对于SMP多核调试的支持,使用也非常方便,可以按照如下步骤操作:

步骤一 选择CPU

TRACE32已经支持的芯片,只需要在CPU列表中找到对应的芯片名即可:

图片

如果在CPU列表中找不到需要调试的芯片名,可以联系劳特巴赫技术支持或者芯片厂家进行确认。大部分情况,只需要更新TRACE32至最新版本即可。

步骤二 确认多核

不同版本的TRACE32对于多核的默认选择可能不一样:有的是默认连接所有多核,有的是默认连接第一个核。

保险起见,我们可以通过如下命令进行确认或者修改需要连接的多核

core.number <number_of_cores>

或者

  core.assign <core1> [<core2> …]

示意图如下:

图片

步骤三 以SMP的方式连接芯片

配置好后,就可以使用如下命令连接芯片,开始SMP多核调试:

;up/attach二选一即可
System.up      ;可能会复位芯片
System.Attach  ;一般不会复位芯片

也可以在图形界面进行操作:

图片

步骤四 SMP调试时,在多核之间切换

连接成功后,便可以观察SMP中每个核的代码、寄存器、内存等资源:

图片

在TRACE32界面的右下角,会有一个数字显示当前选中的是哪一个核。如需切换,可以右键该数字或者双击该数字后在Core.List窗口进行切换。

图片

TRACE32为每个核都默认设置了一个背景色,切换核后,不同的窗口(源码、寄存器等)颜色也会发生改变。这样可以直观地看到当前的信息是哪个核的。

如果不喜欢默认配色,可以在菜单栏点击Misc-Choose Colors进行修改

图片

步骤五 使用命令,同时显示多核信息

有些时候,需要同时显示不同核的信息,我们可以使用**/core** 参数。格式如下:

<T32 Command> /Core <N>

例如,查看当前Core 0 和 Core 1的源代码:

List /Core 0
List /Core 1

图片

例如,查看当前Core 0 和Core 1各自的寄存器信息:

Register /Core 0
Register /Core 1

图片

注意:TRACR32多核命令中,CORE.ASSIGN后面的数字从1开始,List /Core 等命令后面的数字从0开始。示意图如下:

图片

更多关于SMP多核调试的介绍,请查阅相关文档:

  • <T32安装目录>\pdf\training_debugger_smp.pdf
  • <T32安装目录>\pdf\debugger_.pdf\Multicore章节
  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值