TRACE32——List源代码查看
嵌入式调试过程中,一个重要的操作,就是读取目标芯片上运行的代码,以汇编或者C的方式进行显示。在劳特巴赫TRACE32中,一般可以通过如下任意一个命令调出源码显示窗口:
List
List.auto
L //仅写List的首字母, 不区分大小写,推荐使用
Data.List //旧命令, 不建议使用
如果大家习惯用鼠标操作,可以点击TRACE32菜单栏的View-List Souce
或者点击TRACE32快捷工具按钮,打开源码窗口
上面说的这几种方法,打开的源码窗口,默认显示的是当前核(core)、当前PC指针的位置。
List窗口中的灰色背景条,即当前PC指针的位置
SMP多核时,TRACE32右下角会有数字显示当前选中的是哪一个core,List窗口默认显示的就是这一个core的源码
更多实例1 显示某个C文件的源代码
如果在工程中,有一个文件名为acct.c ,想在TRACE32中显示,可以执行如下命令:
L \acct
其中:
list 可以缩写为L 或者l
L (list) 后面空一格
\acct 表示是C文件级别,acct是c文件名,不需要加.c后缀
命令执行后效果如下:
更多实例2 以C和汇编混合方式,显示某个函数
如果在工程中,有一个函数名为start_kernel(),可以执行如下命令显示该函数的源代码(C代码和汇编代码混合显示):
l.mix start_kernel
其中:
*list.mix* - 以C和汇编的混合模式
*list.asm* - 以纯汇编的方式显示源码
*list.hll* - 以纯C的方式显示源码
*start_kernel是函数名,不需要加()*
命令执行后效果如下
更多实例3 显示SMP中某个核某个地址处的源代码
例如,SMP多核时,需要查看core 0上0xFFFC1D50处的源代码
l 0xFFFC1D50 /core 0
更多实例4 SMP多核时,显示所有核运行的代码
例如,当前芯片有4个SMP多核,需要同时查看他们的源代码。并将窗口平铺显示
winpos 0 0 50% 50%
l /core 0
winpos 50% 0 50% 50%
l /core 1
winpos 0 50% 50% 50%
l /core 2
winpos 50% 50% 50% 50%
l /core 3
其中
winpos是窗口布局命令,如果不需要排版窗口,可以不加该命令
winpos后面的参数分别是
winpos <距离左边框位置> <距离顶部边框位置> <窗口宽度> <窗口高度>
更多关于List命令的使用方法和参数介绍,请查阅相关文档:
- <T32安装目录>\pdf\general_ref_l.pdf\List章节
- https://www2.lauterbach.com/pdf/general_ref_l.pdf\List章节