嵌入式基础–设置Tracealyzer调试FreeRTOS应用程序

深入微控制器并了解嵌入式软件的执行方式一直对嵌入式软件开发人员很重要。在过去的美好时光中,开发人员过去常常必须使用额外的输出来对硬件进行检测,并使用各种技巧,以便了解系统的状况。在大多数情况下,这只是猜测。值得庆幸的是,那些美好的过去已经过去了,开发人员现在可以使用Percepios的Tracealyzer之类的工具查看微控制器,准确地了解软件的执行方式,并发现诸如优先级倒置,死锁和线程匮乏之类的问题。

在本文中,我将引导读者了解如何使用在NXP K64F Freedom Board上运行的FreeRTOS设置Tracealyzer工具。

步骤#1 –下载工具和示例

有时,取决于开发板和将使用的支持软件,获得项目和工具链设置有时可能是一项耗时的工作。启动和运行此示例的一种简单方法是下载并安装以下工具,并下载我放在一起的预先构建的项目。可以使用以下工具:

  • Atollic TrueSTUDIO Lite (http://www.atollic.com)
  • 恩智浦驱动程序套件10.4(位于 这里 )
  • MCUonEclipse FreeRTOS插件(位于 这里 )
  • Percepio Tracealyzer(位于 这里 )
  • 贝宁戈示例项目(位于 这里 )

步骤#2 –在FreeRTOS插件中启用Tracealyzer

下载并安装工具后。开发人员可以在NXP驱动程序套件中打开示例项目。打开处理器专家文件并选择FreeRTOS组件后,开发人员将找到Percepio Trace选项卡,如图1所示。第一步是启用Percepio Trace。

图1 –在FreeRTOS中启用Tracealyzer

步骤#3 –设置实时跟踪缓冲区

直接配置缓冲区将缓冲区中的事件数据从微控制器传输到Tracealyzer工具。 Tracealyzer可以配置多种模式以在“快照”或“流”模式下运行。当需要由感兴趣的事件触发的少量跟踪数据时,可以使用快照模式。要进行未定义的长度跟踪,首选使用流模式。图2显示了配置流的示例设置。

图2 –设置RTT缓冲区

步骤#4 –编译项目并启动Tracealyzer

一旦在Driver Suite软件中配置了FreeRTOS,开发人员便可以生成其项目Processor Expert设置,然后在Atollic TrueStudio中打开该项目。该示例在ARM工具链中编译,然后加载到目标板上。加载了调试透视图后,安装了Percepio插件的开发人员将能够从Percepio菜单中启动Tracealyzer,如图3所示。

图3 –通过TrueStudio插件启动Tracealyzer

步骤#5 –配置流跟踪设置

为了使用流跟踪,开发人员需要检查其调试器设置,以使Tracealyzer知道如何接收事件数据。这是通过File->设置菜单。该工具需要知道数据的来源,例如Seggers RTT,TCP / IP或USB。在此示例中,为Segger RTT配置了设置。配置了两个上,下通道以匹配FreeRTOS设置,如图4所示。

图4 –配置调试器设置

步骤#6 –开始记录数据

一旦配置好工具并准备好执行,开发人员就可以开始其调试会话,开始执行代码以及开始记录跟踪数据。当Tracealyzer成功接收跟踪数据时,它将报告有关跟踪会话的统计信息,例如事件总数和每秒发生的事件。如图5所示。

图5 –记录跟踪数据

步骤#7 –分析跟踪数据

最后,在微控制器运行了指定时间段的代码后,开发人员已准备好开始分析其跟踪数据。跟踪工具可以生成许多不同的视图和报告。主视图可以在图6中看到。在此视图中,开发人员可以看到系统中正在执行的不同任务的生命线。开发人员可以看到何时发送和接收队列数据以及其他RTOS对象,例如互斥体和信号量。

开发人员可以单击任务并获取其他信息,例如任务的最小,平均和最大执行时间。甚至还有信息,例如任务的响应时间,最小值,平均值和最大值。开发人员可以隐藏他们不感兴趣的事件,并切换视图以查看CPU负载。过去,开发人员只能猜测和推断这些信息,更不用说实际看到它了!

图6 –分析跟踪数据

结论

跟踪工具消除了使用实时嵌入式系统的开发人员的猜测工作。猜测系统正在做什么的日子已经过去。开发人员现在可以可视化并查看系统的执行方式的实际跟踪数据,并在出现异常行为时深入研究细节。跟踪工具是开发人员在工作台上使用的必不可少的工具,我们可以预期,它们只会在未来几年内变得越来越强大。

2 thoughts 上 “Embedded Basics –设置Tracealyzer调试FreeRTOS应用程序”

  1. 嗨,我只是想知道是否需要使用最新的Atollic Studio For STM32版本:9.0.0执行相同的步骤

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.