Percepio http://percepio.com
Percepio是一家位于瑞典的嵌入式操作系统系统辅助开发工具供应商,是Amazon Web Services合作伙伴,嵌入式视觉联盟成员。
Tracealyzer是Percepio 公司开发的一款用于RTOS或基于linux的嵌入式软件系统的可视化跟踪工具,对系统运行时的行为提供了前所未有的洞察方法。帮助开发人员加快固件的开发,减少对系统验证和性能优化所需要的时间。
目前Tracealyzer提供了30多种相互关联的运行时行为视图,包括任务调度、中断、任务之间的相互作用,以及从应用程序代码中记录的用户事件。Tracealyzer作为传统调试的补充,提供更高层次的调试视图,非常适合理解典型的实时问题。
Tracealyzer支持的OS
FreeRTOS、Keil RTX5、Linux、On Time RTOS-32、ThreadX、µC/OS-III、VxWorks、Zephyr、OpenVX/Synopsys
为什么要使用Tracealyzer
源代码本身并不能完全描述多任务软件系统在运行时的实际行为。实时行为还取决于许多其他因素,如任务和中断的时间,它们的相互作用和输入。基于RTOS固件的有效开发需要很好地理解实时操作系统任务、中断和操作系统内核之间的执行、时序和交互。
使用Tracealyzer,你可以记录实时行为,软件跟踪与强大的可视化相结合,提高软件的开发效率和质量,从而提升开发效率,降低项目风险和缩短产品上市时间。
Tracealyzer可以捕获难以复现和分析的罕见、不定时发生的错误。许多嵌入式软件的问题,可以短时间内被解决。Tracealyzer记录可以与在实验室内现有的调试器同步使用,或部署在系统中捕获罕见的偶发性错误。
Tracealyzer不仅是用于特定困难问题的“灭火器”,你还可以用于发现和避免潜在的问题,如阻塞超时的系统调用。此外,Tracealyzer让你更好地了解当前系统运行动态,所以在设计新的功能时,可以避免不当的设计可能导致的定时、CPU使用、调度或其他任务交互的相关问题。
改进的洞察力也可以让你找到提高嵌入式软件性能的新方法。可能是意外惊喜,任务时间上的小变化可能会带来显著的性能提升。Tracealyzer提供了多种方式寻找“热点”,任务被更高优先级的任务延迟,可能可以早或晚减少资源冲突。如果没有合适的可视化,这样的优化是很难发现的。这样,你就可以得到一个响应更快速的软件系统,或者在同一个硬件平台上融入更多的软件功能。
控制系统开发人员可以受益于绘制自定义应用程序数据的支持,我们称之为用户事件。例如控制信号(传感器输入和执行器输出)图可以与软件时序相互关联,以便更好地了解控制性能的异常。此外,任务时序(例如周期)的图可以用来研究影响控制性能的软件时序变化。
丰富的分析视图。Tracealyzer 4提供了超过30种的分析视图,包括运行时行为分析,任务调度,中断服务例程执行, 时间信息,CPU负载,任务优先级,任务与中断处理程序间交互等。通过这种方式,可以看到任务优先级、执行时间 和超时是否合适,从而避免任务抢占或阻塞带来的超时错误。
|
|
自定义日志记录。可以对应用程序代码中的用户事件进行自定义日志记录,以便与其他视图并行地查看 随时间变化的状态和变量。这可以用来分析和调试算法的实时行为,如电机控制回路。
|
数据点,并在另一个相关视图中查看相应的位置。此外,所有时间轴视图都可以同步,因此可以并排滚动和 缩放它们。这样可以同时从多个透视图中获益,并更好地理解跟踪。 ![]() |
|
实时跟踪。在Tracealyzer 4.0以上的版本可以使用支持的调试器,或者使用自定义的目标-主机接口,例如串口、 USB、TCP/IP等来实现实时数据流跟踪。到目前为止,FreeRTOS、Micrium和SafeRTOS都支持此功能,更多的 流跟踪支持还在计划当中。 ![]() |