TRACE32:多核调试配置

发布于 2023-10-31 11:54
浏览
0收藏

对于开发人员,Lauterbach调试器并不陌生,如果你所参与的项目,已经有配置好的工程和*.cmm脚本,调试多核系统时,会方便很多。如果是新的工程,没有进行多核配置,可能需要费点脑筋。本文,就TRACE32如何配置多核调试,做一个简单介绍。

提示:本文基于TC375TP讨论

1、加载默认Flash刷写*.cmm脚本

安装TRACE32以后,在安装路径~~\demo\tricore\flash下(~~表示本地安装路径),存在不同芯片架构、不同型号的Flash刷写脚本(*.cmm),如下所示:

TRACE32:多核调试配置 -汽车开发者社区

提示:本文使用tricore架构芯片


(一)刷写Flash(更新程序)


使用刷写脚本(*.cmm)的主要目的是更新程序(Application或者Bootloader),操作步骤如下:


Step1:启动TRACE32,系统处于system down状态,如下所示:

TRACE32:多核调试配置 -汽车开发者社区

Step2:File->Run Script...加载目标板脚本(本文选择:TC37x.cmm)

TRACE32:多核调试配置 -汽车开发者社区

加载目标板脚本后,提示选择芯片型号,本文型号TC375TP,如下所示:

TRACE32:多核调试配置 -汽车开发者社区

选择芯片型号后,弹出如下提示,单机“Yes”,如下所示:

TRACE32:多核调试配置 -汽车开发者社区

Step3:加载目标*.elf文件

TRACE32:多核调试配置 -汽车开发者社区

加载*.elf文件以后,发现调试界面的右下角没有多核选择项,即:脚本默认单核调试,如下所示:

TRACE32:多核调试配置 -汽车开发者社区

如果这样,如何才能多核调试呢?:修改默认编程脚本。

2、修改默认Flash编程脚本,启动多核调试

打开默认TC37x.cmm脚本,芯片配置操作脚本如下所示:

TRACE32:多核调试配置 -汽车开发者社区

(一)启用多核调试配置


在TC37x.cmm中,添加启动多核调试配置的脚本语句,如下所示:

SYStem.CPU TC375TP
CORE.ASSIGN 1. 2. 3. // assign cores to the SMP system

提示:TC375TP有3个Core,当你清楚项目使用的芯片型号时,可以直接使用SYStem.CPU命令配置,最终修改如下所示:

TRACE32:多核调试配置 -汽车开发者社区

保存TC37x.cmm脚本的修改重新启动TRACE32,在调试界面的右下角即可看到一个显示Core Number的窗口,可以在此选择不同的Core进行调试,如下所示:

TRACE32:多核调试配置 -汽车开发者社区

(二)不同Core调试示例


比如:调试Core1,示意如下:

TRACE32:多核调试配置 -汽车开发者社区

3、加载指令路径下的*.elf文件

一般,在本地CP中,编译器生成的*.elf文件路径固定,所以,加载固定路径下的*.elf文件会方便很多


(一)修改TC37x.cmm脚本


修改TC37x.cmm脚本的具体位置如下所示,本文使其可以直接打开"D:\WorkSpace\HighTec\*"路径,如下所示:

TRACE32:多核调试配置 -汽车开发者社区

保存TC37x.cmm脚本,重启TRACE32,再次加载TC37x.cmm脚本后,提示加载*.elf文件的路径如下所示:

TRACE32:多核调试配置 -汽车开发者社区

也可以使用Data.LOAD.Elf "*.elf文件的本地路径"命令直接加载绝对路径下的*.elf文件,示例如下:

Data.LOAD.Elf "D:\WorkSpace\HighTec\HighTec_TC375_MulitiCore\iRAM\HighTec_TC375_MulitiCore.elf"

(二)补充:System.Up和System.Attach区别


调试过程中,经常会用到System.Up和System.Attach两个选项,在TRACE32右下角右击选择,如下所示:

TRACE32:多核调试配置 -汽车开发者社区

System.Up会复位芯片,程序复位到复位向量位置(reset vector),Debug模式激活,程序running。


System.Attach:程序仍然在运行,没有复位,Debug处于激活状态。只有调试器在NoDebug模式时,选择Attach才有效,即:程序再次Running,System进入Up模式。


文章转载自公众号:开心果 Need Car

分类
收藏
回复
举报
回复