全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

RT-Trace初体验一之使用Trace功能调试Cortex-M4 | 技术

时间:2025-07-06 10:03

人气:

作者:admin

标签: 操作系  开发板 

导读:随着嵌入式系统规模和复杂度不断提升,传统的调试手段已难以满足对系统运行状态的精细化分析需求。为提升开发效率、优化系统性能,RT-Thread推出了一款全新调试工具——RT-Trace。该...

随着嵌入式系统规模和复杂度不断提升,传统的调试手段已难以满足对系统运行状态的精细化分析需求。为提升开发效率、优化系统性能,RT-Thread 推出了一款全新调试工具 ——RT-Trace。该工具基于SWO 技术实现对操作系统运行状态的实时跟踪,无需安装额外软件,即可通过 Web 页面直观查看线程切换、中断响应等关键信息,极大降低了调试门槛。

本文将以实际开发板为基础,展示 RT-Trace 的Trace 功能在调试Cortex-M4 平台中的应用效果,包括配置流程、可视化分析、时间测量等操作体验,帮助开发者更全面地了解该工具在项目开发中的应用价值。

75ef3764-5a0d-11f0-9cf1-92fbcf53809c.jpg

1.

进入RT-Trace配置页面

在板子的右下角是有Trace的IP地址,我们在浏览器中输入该地址进入配置页面。

75feed6c-5a0d-11f0-9cf1-92fbcf53809c.png

摆在第一行的就是Trace功能的介绍。可以看到有如下特点:

基于SWO 的 RT-Thread OS 跟踪 (Trace) 功能,无需额外安装软件,捕获线程关系。

免安装的 Web UI,直接在浏览器中实时显示线程间的调用关系。

以高速 SWO Trace 为基础,后续升级固件支持持久化线程运行记录,统计各线程用量与 CPU 随时间的工作负载。

后续升级支持 TPIU Trace 接口,可以观察到更多内部信息。

从介绍捕获线程功能来看,RT-Trace应该是定位一款专用工具,因为不同RTOS的线程控制块是不一样的,需要人力物力去适配。

2.

Trace 配置

点击左侧的Trace Config选项进入配置页面。

本次调试的板子是Cortex-M4内核的STM32F407,使用的是RT-Thread的星火一号开发板。板子链接至星火一号开发板预留的Trace接口。

760f5b16-5a0d-11f0-9cf1-92fbcf53809c.jpg

进入页面后,首先配置选择JTAG,Cortex(RISC-V的芯片选择RISC-V),频率默认,然后点击提交即可,此时在右上角可以显示芯片的ID,显示正确则表示连接成功。

然后依次点击下述两个自动探测选项,探测线程的地址与MCU主频(这里比较好奇线程地址是怎么探测出来的,是否有大佬解答一二),然后swo的频率可以调高一些,这里配置为21,最后点击提交配置就可以啦。下面是配置完成的页面。

7626e48e-5a0d-11f0-9cf1-92fbcf53809c.png

然后点击左侧的Trace Viewer选项进入Trace页面。

3.

Trace Viewer

进入Trace Viewer页面如下。

7638066a-5a0d-11f0-9cf1-92fbcf53809c.png

点击左上角的Start选项进行Trace,适当时间后点击stop选项,完成Trace,点击左侧的perfett0-trace选项出现下述页面。

764d51c8-5a0d-11f0-9cf1-92fbcf53809c.png

接下来将探测出的波形图局部放大进行观察。

7661e2fa-5a0d-11f0-9cf1-92fbcf53809c.png

局部放大后可以直观的看到各个线程与中断的运行情况,看来这个对调试RT-Thread项目是个不错的选择。有时候我们期望看一下某个线程的执行时间,比如这里看一下shell线程的执行时间,点击左键选择shell线程的起始位置,便可以看到shell线程当前一次执行的时间为10us,这个功能很不错呀。

7673f65c-5a0d-11f0-9cf1-92fbcf53809c.png

我们知道在cortex-m系列的MCU,RTOS的切换大多由pendsv中断实现,,那么框选下述部分我们便可以看到当前一个线程切换到另一个不同的线程的时间。下图当前运行过程从shell线程到idle线程用时5.3us

7685f92e-5a0d-11f0-9cf1-92fbcf53809c.png

当然想看一下某个中断到线程的切换时间也是同样的道理。比如下述从pendsv中断到idle线程用时1.5us

7697b628-5a0d-11f0-9cf1-92fbcf53809c.png

这期体验就到这里啦,最后总结一下使用感受吧。

4.

体验总结

优点:

直观的将系统的线程运行状态展示出来便于调试以及对项目线程的优化

原生支持RT-Thread无需其他额外适配工作,探测功能很方便

时间测量功能很方便,可以知道线程到线程,线程到中断,线程的执行时间,中断服务函数的执行时间等等,方便优化自己的项目

缺点:

当前主要支持ARM系列的芯片,相对使用其他架构的RT-Thread的项目就有点可惜,未来会支持?

是否可以加一个一键出报告的功能,不需要用户一个一个去点去测量,针对一些RTOS的指标可以一键输出?

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信