[飞腾]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

相关文章
|
存储 数据采集 人工智能
以Trace为核心的根因分析概述
近期一直在学习和复现“根因分析”领域的相关文章,在这里跟大家一起分享下相关内容。这里不在赘述关于“可观测性”和“AIOps”的重要性和必要性,也不过多的陈述在“复杂系统”中进行快速根因诊断的必要性,直接进入到相关算法和系统设计部分。
1532 0
以Trace为核心的根因分析概述
Qualcomm QXDM工具简介和log抓取
高通工具简介 QXDM 简介 QXDM 安装 QXDM 激活 QXDM 使用AT打开Diagnostic口 QXDM 配置 1 Message View Configuration Message Packets Log Packets Log PacketsO...
5650 0
|
存储 测试技术
[飞腾]Trace32使用概述(1)
[飞腾]Trace32使用概述(1)
433 0
[飞腾]Trace32使用概述(1)
|
Linux 内存技术
飞腾FT-2000/4、D2000 log报错指导(1)
飞腾FT-2000/4、D2000 log报错指导(1)
1583 0
飞腾FT-2000/4、D2000 log报错指导(1)
|
安全 测试技术 Linux
Cloud Kernel SIG 月度动态:支持龙芯和申威架构,合入两个内存新特性
Cloud Kernel SIG 月度动态送达,一键了解 6 月各项目进展。
|
消息中间件 JavaScript 小程序
为什么阿里巴巴禁止工程师直接使用日志系统(Log4j、Logback)中的 API
为什么阿里巴巴禁止工程师直接使用日志系统(Log4j、Logback)中的 API
|
Android开发
RK3399平台开发系列讲解(内核调试篇)2.29、PCIe debug方法
RK3399平台开发系列讲解(内核调试篇)2.29、PCIe debug方法
150 0
RK3399平台开发系列讲解(内核调试篇)2.29、PCIe debug方法
|
JavaScript 前端开发 安全
eBPF Tracing 入门教程与实例
在 LPC'18(Linux Plumber's conference) 会议上,至少有24个关于 eBPF 的演讲。eBPF 这一实用技术,将是每个开发者需要掌握的技巧。 也许你的新年目标得再多一个了:学习 eBPF!
645 0
eBPF Tracing 入门教程与实例
|
NoSQL 安全 IDE
结合AliOS Things谈嵌入式系统通用问题定位方法(1):CPU相关基础
本文着重从问题定位的角度来介绍如何定位嵌入式软件系统中的问题,并结合AliOS Things提供的部分维测手段来介绍。
结合AliOS Things谈嵌入式系统通用问题定位方法(1):CPU相关基础