在IAR Embedded Workbench中使用Tracealyzer分析RTOS行为

浏览:2542来源:本站时间:2018-11-09
在开发基于实时操作系统(RTOS)的嵌入式应用时,对运行时行为的良好理解可以在调试和验证应用程序时节省许多宝贵的时间。Tracealyzer是一个为RTOS应用设计的高级软件跟踪工具,提供了超过30个实时行为的图形视图,使其更容易显示错误和系统的瓶颈之处。视图以智能的方式相互连接,使用起来非常直观。使用Tracealyzer,您可以提高开发效率,并在预算范围内按时交付健壮、实时性好的软件。

在IAR Embedded Workbench中使用Tracealyzer

首先,需要在系统中启用跟踪功能。Tracealyzer使用软件方法跟踪,所以不需要特殊的硬件。我们建议使用IAR I-jet调试器,以便可以使用流跟踪,尽管也可以通过其他方式实现。

对于ThreadX 和Renesas Synergy,Tracealyzer支持Express Logic中包含的跟踪记录器,它只需要在IAR工程配置中启用即可(具体操作可以参阅用户手册)。注意,这个recorder library只支持快照模式(见下文)。不过,ThreadX的流模式支持应该在今年晚些时候就可以提供了。

对于FreeRTOS、SafeRTOS和Micrium?C / OS-III,perceppio提供了一个支持快照模式和流模式的强大recorder library。要在工程构建中包含这些跟踪库,请查看本指南中的FreeRTOS部分。其他RTOS也有类似的指南,可以在它们各自的用户手册中找到(可以在Tracealyzer帮助菜单中找到)。


快照模式

如果使用“快照模式”,软件事件存储在目标系统的RAM缓冲区,跟踪数据长度会受到限制。可以在IAR调试器中,将跟踪缓冲区的数据保存到文件中,然后Tracealyzer就可以读取文件进行可视化分析。

按照以下步骤:

1、根据您的RTOS,将相应的宏文件下载到IAR工程目录。FreeRTOS、SafeRTOS或Micrium ?C/OS下载save_trace_buffer.mac(https://percepio.com/downloads/save_trace_buffer.mac) 。对于ThreadX,包括Renesas Synergy,下载save_trace_threadx . mac(https://percepio.com/downloads/save_trace_threadx.mac) 。

2、在ThreadX的例子,在文本编辑器中打开文件,并确保跟踪缓冲区的名称是正确的,即与tx_trace_enable()中指定的名称相同。如果使用Renesas Synergy,则默认名称为“g_tx_trace_buffer”。

3、从Options -> Debugger -> Use Macro File(s)添加宏文件。

4、检查宏是否正确包含。在调试会话中打开View -> Macros -> Debugger Macros,然后查找“save_trace_buffer”。

5、可以通过三种方式保存跟踪数据:

? 手动:在“Debugger Macros”视图中,右键单击宏并选择“添加到Quicklaunch窗口”。然后您可以通过双击Quicklaunch窗口中的蓝色“refresh”图标来保存跟踪。

? 断点:在代码中适当的位置设置一个断点。在断点编辑器中打开它,并在Action ->Expression中输入宏的名称(例如,“save_trace_buffer()”)。之后每次断点触发时都会保存跟踪。

? 暂停:要在每次停止时更新跟踪,请将“save_trace_buffer”函数重命名为execUserExecutionStopped()。这是一个每次执行停止时都会调用的特殊钩子函数。注意,如果缓冲区很大,这可能会使单步执行变慢。

流模式

Tracealyzer还允许通过IAR I-jet调试器和其他流接口连续输出跟踪数据。自Tracealyzer v4.1.5开始,支持通过IAR Embedded Workbench和I-jet调试器实现流跟踪。让IAR用户充分受益于Tracealyzer 4的强大功能。它利用了大多数ARM Cortex-M3、M4和M7 MCU上的ITM模块。使用IAR I-jet这样的高速调试器,ITM能够实现高数据速率和低跟踪开销。此外,这与我们支持的其他流解决方案不同,事件数据并不需要RAM缓冲区。非常感谢Renesas对这项工作的支持 。

将Tracealyzer添加到Tools菜单中

为了快速启动Tracealyzer,您可以在IAR的“Tools”菜单中包含Tracealyzer的快捷方式。

? 在 IAR“Tools”菜单选择“Configure Tools…”;

? 添加一个新的入口,例如“Tracealyzer”;

? 设置Tracealyzer 可执行文件的路径(“.exe”文件);

? 如果使用快照模式,您可以使用“$PROJ_DIR$ race.hex”参数来自动打开最后保存的跟踪数据。




京ICP备:京ICP备05011254号-1 版权归北京麦克泰软件技术有限公司所有
北京麦克泰软件技术有限公司