在STM32CubeIDE中使用Tracealyzer图形化调试FreeRTOS
概述
Tracealyzer可以以图形化的方式跟踪记录FreeRTOS操作系统的工作相关信息。本文结合官方教程以及自己的实践,总结出了Tracealyzer在STM32CubeIDE开发环境中的使用方法。
网上很多同类教程是基于MDK(keil的),这里针对STM32CubeIDE进行了修改。
工作原理
Tracealyzer具有2种工作模式,快照模式snapshot mode和流模式streaming mode。在快照模式下,数据被存储到目标板的RAM中,当系统暂停时,可以读取数据。流模式下可以持续读取数据,时间可以长达几分钟或几个小时,但这需要某种高级的调试器支持如Jlink,或者是网络连接。
快照模式和流模式的设置基本上相同,流模式的设置仅有稍许不同。
FreeRTOS包含了超过100个跟踪hook,Tracelyzer正是利用这些hook进行数据的捕获和记录的,Tracelyzer同时还提供了自定义日志和事件的库
快照模式设置方法
步骤1:安装软件
- 下载并安装Tracelyzer软件,方法自行寻找。我这里使用的是4.6.6版本,10天试用版,可以从官方网站申请,但不对大陆IP开放。
- 在CubeIDE中,安装percepio插件,注意必须是for STM32CubeIDE版,否则会导致出错,如下图所示。
步骤2:添加源代码
安装完毕后,从软件help菜单,选择FreeRTOS Trace Recoder,打开源代码目录。
在cude工程中,新建一个Tracelyzer目录,把所有的文件都拷贝到该目录下面。
步骤3:修改配置文件
打开trcConfig.h文件,对文件内容进行如下修改
- 注释掉
#