当前位置:网站首页>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进行暂停:
边栏推荐
- Flink Learning 10: Use idea to write WordCount and package and run
- RK3568环境安装
- Flink Learning 12: DataStreaming API
- 400 times performance improvement 丨 swap valuation optimization case calculation
- 共享内存+inotify机制实现多进程低延迟数据共享
- 4520. 质数
- 17-VMware Horizon 2203 virtual desktop-Win10 manual desktop pool floating (seventeen)
- Promise (3) async/await
- Takeda Fiscal 2022 First Quarter Results Strong; On Track to Achieve Full-Year Management Guidance
- MySQL: JDBC programming
猜你喜欢
随机推荐
RNote108---显示R程序的运行进度
原来使Maya Arnold也能渲染出高质量作品!超赞小技巧
一天学会从抓包到接口测试,通过智慧物业项目深度解析
Advanced Redis
文本特征化方法总结
【JVM调优】Xms和Xmx为什么要保持一致
RNote108---Display the running progress of the R program
MySQL:JDBC编程
LaTeX Notes
Redis
Flink Learning 12: DataStreaming API
Falsely bamboo brother today and found a localization of API to use tools
4520. 质数
691. 立方体IV
Redis
(四)旋转物体检测数据roLabelImg转DOTA格式
《基于R语言的自动数据收集》--第3章 XML和JSON
【工具配置篇】VSCode 常用使用总结
FPGA parsing B code----serial 4
栈与队列的基本介绍和创建、销毁、出入、计算元素数量、查看元素等功能的c语言实现,以及栈的压入、弹出序列判断,栈结构的链式表示与实现