[飞腾]Trace32使用概述(2)

简介: [飞腾]Trace32使用概述(2)

科技背景_副本 公众号_副本.png

4.3 启动脚本配置

在启动前,一定要加上链接用脚本。

正面.png

脚本请联系飞腾FAE获取。

Trace32的命令在软件的安装完目录下是有一系列指导手册的,在“pdf”文件夹下。

640.png

举例几个参考文件:

training_practice.pdf      Training PRACTICE

practice_user.pdf            PRACTICE Script Language User’s Guide

practice_ref.pdf            PRACTICE Script Language Reference Guide 命令查询手册

general_ref_a.pdf            以a字母开头的命令手册

4.4 启动调试

脚本添加后,点击“start”,trace32会自动执行脚本进行链接、执行。

正面.png

Start后界面结果如下:

640.png

正面.png

640.png


正面.png

640.png


正面.png

640.png

5 Trace32操作介绍

5.1 工作区介绍

下面对trace32的操作界面进行介绍:

正面.png

红圈中的“system down”指示目标板己经供电,如果目标板电源电压低或没有的话,红

圈的区域会显示“POWER DOWN”。TRACE-ICP通过JTAG接口的1脚检测目标板电压,电压范围应该在1.8到3.3伏之间。

调试界面分成五个区域,从上到下依次是主菜单区、快捷按钮区、工作区、行命令输入区、行命令软件区、状态显示区。主菜单区是各种菜单命令的入口区域。快捷按钮区是各种常用命令的快捷使用按钮。用户可以自定义主菜单和快捷按钮。工作区是各种对话框窗口的显示区域。行命令输入区是各种命令通过手动输入执行的区域。行命令软键区是协助用户输入行命令的区域,它提供所有行命令的软键输入方法。状态显示区指示当前的调试状态。


如果在前面配置中没有引入脚本.cmm文件,也可以通过从主菜单区点击“File->Run Batchfile…”打开脚本文件选择对话框,选择执行。

640.png

     640.png

5.2 观察/修改寄存器

从主菜单区点击“CPU->CPU Registers”,打开内核寄存器窗口,如下图所示。

正面.png

从Pic12所示的内核寄存器窗口,用户能够观察处理器内核寄存器的值。如果用户想

修改某一个寄存器的值,只要双击寄存器名右边的值,在行命令输入区就会出现相应寄存器值修改的命令,紧接着输入十六进制的值(如,0x12345678)并回车就可以了。

下图是以修改寄存器R2的值为例,在行命令输入区出现的命令。

正面.png

5.3 设备寄存器观察菜单

640.png

如上图所示的设备寄存器窗口在调试不同的处理器时是不同的。如果用户要修改某个

寄存器的值,双击该寄存器的值,在行命令输入区就会出现相应的设备寄存器修改命令,在命令后面输入要修改的值回车即可。

5.4 观察/修改存储器

从主菜单区点击“View->Dump…”,打开存储器观察窗口,如下图所示。

正面.png

在地址输入框中输入要观察的地址,地址也可以用符号方式输入。输入地址之后点击

“OK”按钮,打开存储器显示窗口,如下图所示。

640.png

用鼠标双击某一个存储单元的内容,在命令行就会出现存储器数据修改命令提示,用户

只要填入要修改的数据回车即可。

5.5 观察符号表

如下图所示,点击“View->Symbols->Browse”打开符号表对话框。

正面.png

在符号表对话框中可以通过单选钮“Symbols'”选择要观察函数或是变量等符号。在符

号表对话框中双击变量符号会打开变量观察对话框,双击函数名会打开程序列表窗口。

5.6 全速运行程序

在命令行输入“GO”命令,程序从当前P℃开始实时全速运行。要全速运行程序,用

户也可以通过主菜单点击“Rm>Go”来实现。或者,用户可以按F7来全速运行程序。程序全速运行时,在状态显示区会有“Running”指示。用户也可以在主菜单或程序列表窗口点击下图所示的红框中的按钮,也可以实现全速运行程序。



5.7 停止运行程序

用户从命令行输入“Brea”命令,或者按快捷键F8,都可以停止运行程序。用户也可

以从主菜单下选择“Run->Break”,停止运行程序。用户也可以在主菜单或程序列表窗

口单击下图中所示红框中的按钮来停止运行程序。

正面.png

6 与linux内核联调简述

与linux内核联调的方式可以参考B站上劳德巴赫的官方视频:

使用TRACE32®调试Linux内核模块和用户进程_哔哩哔哩_bilibili

https://www.bilibili.com/video/BV17A411n7Yt/?spm_id_from=333.337.search-card.all.click&vd_source=6b0aeb756259b17f1846941ff75f37c6


与内核联调需要加上vmlinux,参考网页说明

Trace32 simulator调试以及简单实用命令介绍 - 代码天地 (codetd.com)

https://www.codetd.com/article/4940929


data.load.elf ../../vmlinux 0x1488800000 /nocode

加载elf文件命令,把指定的elf文件加载到目标设备或者仿真设备的0x1488800000地址上去。elf文件在编译时会把源文件的路径加入到elf文件中,我们后面加上/nocode代表没有对应的sourcecode,trace32就不会去对应目录去查找源文件了。当然我们也可以通过/path来指定sourcecode目录。比如:

data.load.elf ../../vmlinux 0x1488800000 /path  /home/xie/linux-4.4/

加载elf文件到指定地址,并且指定了和该elf对应的source code目录。



找系统供应商要来和板卡运行系统镜像一致的vmlinux(需要elf格式的),放置到pc机目录下。使用data.load命令,加载vmliux镜像,脚本为:

data.load elf C:\vmlinux /NOCODE     (C:\vmlinux为vmlinux保存目录)


加入脚本,在启动调试后,再进入view->list source之后就可以看到一些注释文件了。因为系统供应商,比如麒麟给的vmlinux是没有源码的,所以没有办法通过list看到高级语言的函数,只能看到一些汇编的标记。

正面.png


举例带源程序的混合显示程序列表窗口。通过点击程序列表窗口上的“Moe”按钮可以切换混合和源码显示方式。


640.png

如果用户没有通过data.load命令加载符号文件或者所加载的符号文件包含的调试信息不足,用户将会看不到源码,所得到的程序列表窗口可能如下图所示(这种比麒麟给的vmlinux的指示信息更少,只能看到汇编代码)。

正面.png

相关文章
|
3月前
|
IDE Linux 测试技术
Rockchip系列之深度分析CAN接口系列(1)
Rockchip系列之深度分析CAN接口系列(1)
117 2
|
内存技术
飞腾FT-2000/4、D2000 log报错指导(2)
飞腾FT-2000/4、D2000 log报错指导(2)
771 0
飞腾FT-2000/4、D2000 log报错指导(2)
|
存储 测试技术
[飞腾]Trace32使用概述(1)
[飞腾]Trace32使用概述(1)
312 0
[飞腾]Trace32使用概述(1)
|
内存技术
飞腾FT-2000/4、D2000 log报错指导(3)
飞腾FT-2000/4、D2000 log报错指导(3)
1325 0
飞腾FT-2000/4、D2000 log报错指导(3)
|
Linux 内存技术
飞腾FT-2000/4、D2000 log报错指导(1)
飞腾FT-2000/4、D2000 log报错指导(1)
1340 0
飞腾FT-2000/4、D2000 log报错指导(1)
|
安全 测试技术 Linux
Cloud Kernel SIG 月度动态:支持龙芯和申威架构,合入两个内存新特性
Cloud Kernel SIG 月度动态送达,一键了解 6 月各项目进展。