trace32专栏 | 基础调试
T32打开界面
首先需要安装,一般默认安装在C:\T32,在安装路径下T32/bin/windows64 下打开t32start.exe,如下,检查路径是否正确,检查core是否正确。
然后点击start;
界面功能说明如下:
参数设置
设置CPU等参数。也可以写一个.cmm脚本,在file--> edit script中加载并debug该脚本。
一个简单的脚本(命令行方式)如下(忘记区分大小写了):
system.mode down
system.reset (复位CPU)
system.jtagclok 10Mhz(设置jtag clk)
system.cpu =contexm33 (目标CPU)
system.config memoryaccessport 0 (下面4个是在上图中最后侧点击CONFIG设置项)
system.config debugaccessport 1
system.config jtagaccessport 2
system.config corejtagport 2
system.config SWDPTargetSel 0x02000001 (target ID,一般为硬件决定)
system.mode up (trac32与板子连接,并CPU指向初始化向量表,一般为rom/ram零地址)
总结:执行该脚本主要实现了CPU重启,初始化连接,CPU指向中断向量表。
加载.axf/.elf/symbol文件
可以直接使用file--> load file,或者在脚本中增加
data.load elf_file_name (下载code到内存,覆盖原有内存数据)
或 data.load elf_file_name /nocode (只下载符号表,不覆盖内存,通常用于调试)
加载和保存二进制数据
加载数据(到内存):data.load .binary (file_name) mem_addr
保存数据(到文件):data.save.binary (file_name) mem_addr++(mem_size-1)
保存addr1~addr2范围的数据: data.save.binary (file_name) mem_addr1++mem_addr2
调试
下载成功后,点击工具菜单中的图标, 查看汇编代码
step (F2)
单步运行。在碰到子函数的时候会进入子函数中的第一条代码。
over(F3)
单步执行,和step区别是遇到函数时,over会执行完这个函数,到下一条指令,不会进入函数内。
next
next 的模式会在当前代码的下一条代码打一个临时断点,当程序执行以后会一直运行直到碰到这个临时断点,它可以帮助我们直接跨过一个循环体.比如:
return
return 会在一个函数的最后一行设置一个临时断点,当在函数体内点击 Return以后,程序会一直运行直到停在设置的临时断点的位置。
up
up会从当前函数执行结束,跳到应用它的函数的下条指令。
go
执行应用程序,直到碰到用户设置的断点才停下来。
加载C源码
y.spath.setrecursedir yourcodepath
或(待验证)data.load elf_file_name [/nocode] /sourcepath sourcecode_path /strippart i
相关解释:/sourcepath的作用是指定C code的路径,/strippart的作用是去掉相对路径的层数,i的具体数值可以试验几次来确定。
查看函数/内存数据/全局变量/堆栈/cpu寄存器
打开汇编,可以看到汇编的行号,以及当前代码属于的源文件,点击文件名,可以查看详细路径以及重命名的文件。
还可以通过view/var查看内存,变量等信息
点击 蓝色图标 i,可以 查看工程symbol,包括所有的函数和变量的symbol 以及对应的地址。
断点设置
设置断点的方法有3种:
直接双击添加断点
右键添加断点
点击break list按钮去设置断点
对第三种,点击set,可以添加不同的多个断点。
【转自网络,版权归原作者所有】
5T技术资源大放送!包括但不限于:C/C++,Arm, Linux,Android,人工智能,单片机,树莓派,等等。在上面的【人人都是极客】公众号内回复「peter」,即可免费获取!!
记得点击分享、赞和在看,给我充点儿电吧
trace32专栏 | 基础调试相关推荐
- trace32专栏——基础调试
TRACE32是LAUTERBACH公司开发的在线调试工具,功能强大,可以做单步跟踪,设置断点等各种在线调试.一般大家对其习惯的称呼有:"trace32","T32&qu ...
- TRACE32——SMP多核调试
TRACE32--SMP多核调试 很多时候我们需要调试SMP多核芯片,或者一个复杂的处理器里的SMP多核部分,例如英飞凌TC275TF有三个Tricore™ 内核.NXP S32G274A中含有四个C ...
- TRACE32——AMP多核调试
TRACE32--AMP多核调试 之前有一篇文章介绍过芯片的SMP多核调试,适用于同架构的内核运行同一套操作系统的场景.例如英飞凌的TC275TF芯片的三个TriCore核以SMP的方式运行着Auto ...
- mimo的误码率_混合波束成形专栏|基础:深入浅出5G,毫米波,大规模MIMO与波束赋形...
在进入5G热门研究技术:混合波束赋形的介绍之前, 笔者想先以这篇文章深入浅出的介绍5G,大规模MIMO以及波束赋形等概念的直观理解.旨在用最浅显的语言,尽可能让零基础的读者也能轻易的掌握其本质,从而为 ...
- 浅谈代码规范基础调试几道面试题
废话篇:本文由CSUST的FINAL实验室的LX创作,用途是给予CSUST的小鲜肉们一些关于C语言代码规范的一些基本知识,若本文有什么错误或是表述不清之处,欢迎留言讨论指正. 代码规范: 在讲代码规范 ...
- keil怎么跳转_KEIL那些事儿之基础调试(一)
本小节介绍 KEIL 的常用调试方法,部分内容对 51 单片机也适用. KEIL 调试模式分为软件仿真和在线仿真.所谓软件仿真即用电脑模拟 51 或 32 的工作过程,可以在没有实际单片机开发板存在的 ...
- Keil5简介、下载及安装(NB-IoT专栏—基础篇2)
目录 1.Keil 简介 2.软件下载 3.环境搭建 1.Keil 简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结 ...
- python pdb 基础调试
当手边没有IDE,面对着python调试犯愁时,你就可以参考下本文:(pdb 命令调试) 参考:http://docs.python.org/library/pdb.html 和 (pdb)help ...
- Linux下Python基础调试
当手边没有IDE,面对着python调试犯愁时,你就可以参考下本文:(pdb 命令调试) 参考:http://docs.python.org/library/pdb.html 和 (pdb)help ...
最新文章
- IO复用之epoll系列
- linux攻击端口,Linux 常见攻击端口封杀表
- 数据库事务及锁机制介绍
- Spring Security源码解析(三)—— HttpSecurity
- jenkins 插件目录_三十二张图告诉你如何用Jenkins构建SpringBoot
- 数值计算(Python实现)(一)
- linux常用翻页,20150823-Linux常用命令
- sql计数_SQL计数区分功能概述
- phpMyAdmin安装配置
- C# 字段、属性、成员变量
- 2020年mac上最值得使用的五大录屏软件
- Android触摸屏驱动,电阻屏,电容屏
- [OpenGL] 太阳镜头光晕效果
- jQuery的下载与基本使用
- Unhandled promise rejection
- iOS和安卓共用同一个二维码实现跳转下载链接
- 罗胖精选 | 做产品最重要的是格局
- 现代密码学期末复习26问
- ultraEdit32 /uedit32 自定义快捷键/自定义注释快捷键
- 深度挖掘:FIashGet下载隐藏链接[转]