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章节

TRACE32——SMP多核调试相关推荐

  1. TRACE32——AMP多核调试

    TRACE32--AMP多核调试 之前有一篇文章介绍过芯片的SMP多核调试,适用于同架构的内核运行同一套操作系统的场景.例如英飞凌的TC275TF芯片的三个TriCore核以SMP的方式运行着Auto ...

  2. Linux内核争抢式并发在SMP多核扩展上的不足

    本文来自:<被神话的Linux, 一文带你看清Linux在多核可扩展性设计上的不足> 我们先来看一段来自猛士王垠的话: 跟有些人聊操作系统是件闹心的事,因为我往往会抛弃一些术语和概念,从零 ...

  3. vxWorks SMP 多核编程

    多核编程指南 vxworks_kernel_programmers_guide_6.8 第24章 介绍  是风河公司为VxWorks设计的symmetric multiprocessing(SMP)系 ...

  4. VxWorks之SMP多核编译 配置

    最近在调试vxworks的系统,在这里记录一下smp smp在vxworks里面是很重要的部分,如果没有配置这个在设计到smp编译器的时候也会出现smp等于1的然后运行DKM工程不成功等现象. 关于V ...

  5. Linux芯片级移植与底层驱动(基于3.7.4内核) --SMP多核启动以及CPU热插拔驱动

    出处:http://21cnbao.blog.51cto.com/109393/1143518 在Linux系统中,对于多核的ARM芯片而言,Bootrom代码中,CPU0会率先起来,引导Bootlo ...

  6. linux内核启动多核,linux SMP多核启动分析

    startup_32: cld cli movl $(KERNEL_DS),%eax mov %ax,%ds mov %ax,%es mov %ax,%fs mov %ax,%gs #ifdef __ ...

  7. trace32专栏——基础调试

    TRACE32是LAUTERBACH公司开发的在线调试工具,功能强大,可以做单步跟踪,设置断点等各种在线调试.一般大家对其习惯的称呼有:"trace32","T32&qu ...

  8. trace32专栏 | 基础调试

    T32打开界面 首先需要安装,一般默认安装在C:\T32,在安装路径下T32/bin/windows64 下打开t32start.exe,如下,检查路径是否正确,检查core是否正确. 然后点击sta ...

  9. 劳特巴赫 Trace32 调试使用教程

    文章目录 1. 打开trace32 2. 连接开发板 3. 下载代码到开发板 4. 多核调试 5. 复位 6. 调试 1. 查看代码当前运行位置 2. 模式选择 3. 函数查找 4. 函数跳转 5. ...

最新文章

  1. hdu5296 01字典树
  2. mysql中的宽字符注入_深入理解Mysql宽字符注入
  3. 从生成对抗网络到更自动化的人工智能
  4. matlab 多条函数颜色渐变(没多大用处)
  5. intel x540-at2 openstack 下桥接故障
  6. 关于ActiveMQ的一点总结
  7. linux按时间升序排列文件,Linux展示以时间生升序显示文件
  8. 【数据库系统概论】考研附加部分重点分析【附加】
  9. 腾讯技术工程沙龙深圳站来了,我们一起聊聊“工业互联网”
  10. 机器学习实战的P264中代码对应的公式推导
  11. [css] display有哪些值?分别说明他们的作用是什么?
  12. oracle 9i从入门到精通读书笔记2
  13. 如何借助vsftpd在Linux上构建安全的FTP服务?
  14. mysql插入反斜杠“\“丢失的解决方法
  15. loj136 (最小瓶颈路,多次询问)
  16. java--线程--习题集锦
  17. matlab中firrcos,DMR数字集群关键技术的应用研究
  18. Oracle--sqlplus如何设置SQLPlus结果显示的宽度,ORACLE sqlplus提示符设置
  19. java 图片线条_JAVA 关于JFrame的问题,我的图片会被线条给覆盖住,怎样让图片在上面呢...
  20. UE4+LiveLinkFace面部动作捕捉

热门文章

  1. 测绘——CAD2008+CASS9.1批零插入图块不成功及打开低版本dwg报内部错误的解决方法
  2. 在线压缩pdf文件大小怎么调?如何减小pdf格式文件的大小?
  3. 向“下”出发,陪玩江湖风云再起?
  4. 快看看看常用手机cpu哪个牌子好
  5. 详解PV、UV、VV、IP及其关系与计算
  6. c++ typename用法
  7. C++中typename的用法
  8. android视频播放器设置圆角,Android设置上圆角和下圆角
  9. 签约多方共建石嘴山智慧康养新模式
  10. 3DMAX模型转成XPL格式