当前位置:网站首页>TRACE32——Break
TRACE32——Break
2022-08-05 06:42:00 【Rainmicro】
TRACE32——Break
Break 是TRACE32中使用频率非常高的一组命令,主要包含以下几个功能:
- 控制CPU的暂停 (Break)
- 设置各种断点 (Break.Set)
- 设置跟踪数据的过滤条件 (使用Break.Set配合相应选项, 例如**/TraceOn /TraceData等**)
- 编写CTL,实现复杂触发断点的编程 (Break.Program)
Break命令控制CPU的暂停
这是Break命令最常用的功能,当CPU/内核处于running状态时:

如果需要停下CPU,可以执行命令:
Break.direct//命令等同于如下简写:Break//或者b
也可以在TRACE32界面中点击暂停按钮:

或者使用键盘快捷键F8:

如果CPU/内核能够成功响应调试器的暂停请求,TRACE32右下角会出现stopped字样。此时便可以查看当前代码运行位置、内存以及寄存器等资源。

如果发现无法停住CPU,TRACE32会提示"emulation running"等字样:


原因一般是CPU/内核处于安全、异常、复位、休眠等状态下,无法响应外部调试器的暂停请求,具体分析方法可参考如下链接:
Break command returns “emulation running”
有时,当调试CPU中的从核时,由于从核需要主核运行相应的代码来解复位/初始化/激活/唤醒从核。这时我们可以使用命令:
Break.request
给从核发送停止请求,但并不要求从核立即停住。从核在被初始化/唤醒后,会响应停止请求并停住。该命令适用于调试从核的前期代码。
Break.Set设置断点
断点功能可以参考:
- <T32安装目录>\pdf\training_debugger.pdf
- https://www2.lauterbach.com/pdf/training_debugger.pdf
Break.Set设置跟踪数据的过滤条件
使用TRACE32 的 On-chip/Off-chip 跟踪时,如果需要对跟踪数据进行过滤,可以使用Break.Set 配合相关选项来进行设置:
/TraceEnable
/TraceOn
/TraceOFF
/TraceData
不同芯片采用不同的跟踪方案,可以在TRACE32安装目录的pdf文件夹中根据对应的芯片架构找到相应的文档:
ARM Cortex-A/R ETM:
training_arm_etm.pdf
ARM Cortex-M ETM:
training_cortexm_etm.pdf
AURIX Trace:
training_aurix_trace.pdf
NEXUS Trace :
training_nexus.pdf
Break.Program实现复杂断点的编程
TRACE32新功能CTL(Complex Trigger Language), 可以使用Break.Program 命令进行复杂断点的编程,可以实现跟芯片时间、性能相关的高级断点功能。
例如,当中断被禁用100ms后,对CPU进行暂停:

边栏推荐
- GAN生成动漫头像Pytorch
- 性能提升400倍丨外汇掉期估值计算优化案例
- Tencent Business Security Post IDP Talk Summary
- 软件测试必问面试题(附答案和解析)
- Bluetooth gap protocol
- 【JVM调优】Xms和Xmx为什么要保持一致
- AH8669-AC380/VAC220V转降5V12V24V500MA内电源芯片IC方案
- 不能比较或排序 text、ntext 和 image 数据类型
- After working for 3 years, I recalled the comparison between the past and the present when I first started, and joked about my testing career
- 任务流调度工具AirFlow,,220804,,
猜你喜欢

2022 Fusion Welding and Thermal Cutting Operation Certificate Exam Questions and Mock Exams

原来使Maya Arnold也能渲染出高质量作品!超赞小技巧

Vulnhub靶机:HA_ NARAK

Mysql为什么 建立数据库失败

【网友真实投稿】为女友放弃国企舒适圈,转行软件测试12k*13薪

TCP sticky packet unpacking problem + solution

工作3年,回想刚入门和现在的今昔对比,笑谈一下自己的测试生涯

UDP组(多)播

(JLK105D)中山爆款LED恒流电源芯片方案

Shiny02---Shiny异常解决
随机推荐
MySQL:连接查询 | 内连接,外连接
mysql使用in函数的一个小问题
GAN生成动漫头像Pytorch
对数据类型而言运算符无效。运算符为 add,类型为 text。
Hash these knowledge you should also know
AI+视频技术助力保障校园安全,校园智能安防平台该如何建设?
Rapid Medical's Ultra-Small and Only Adjustable Thromb Retriever Receives FDA Clearance
腾讯实习总结
【Dynamic type detection Objective-C】
Takeda Fiscal 2022 First Quarter Results Strong; On Track to Achieve Full-Year Management Guidance
360度反馈调查表中的问题示范
日本卫生设备行业协会:日本温水喷淋马桶座出货量达1亿套
GAN generates anime avatar Pytorch
typescript63-索引签名类型
FPGA解析B码----连载4
MySQL: JDBC programming
Mysql master-slave delay reasons and solutions
2022杭电多校六 1006-Maex (树形DP)
LaTeX Notes
AH8669-AC380/VAC220V转降5V12V24V500MA内电源芯片IC方案