当前位置:网站首页>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进行暂停:

边栏推荐
猜你喜欢
随机推荐
数据库多表关联插入数据
FPGA解析B码----连载4
360度反馈调查表中的问题示范
protobuf is compiled against the associated .proto file
技术分析模式(十一)如何交易头肩形态
How to avoid online memory leaks
Redis
IO process thread -> communication between processes -> day7
AI+视频技术助力保障校园安全,校园智能安防平台该如何建设?
693. 行程排序
合工大苍穹战队视觉组培训Day9——相机标定
Redis进阶
RNote108---显示R程序的运行进度
Japan Sanitary Equipment Industry Association: Japan's warm water shower toilet seat shipments reached 100 million sets
香港国际珠宝展及香港国际钻石、宝石及珍珠展揭幕
It turns out that Maya Arnold can also render high-quality works!Awesome Tips
Hash 这些知识你也应该知道
字节面试流程及面试题无私奉献,吐血整理
原来使Maya Arnold也能渲染出高质量作品!超赞小技巧
typescript61-泛型工具类型(pick)








