注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
MamoYU的个人空间 https://home.eeworld.com.cn/space-uid-1059828.html [收藏] [复制] [分享] [RSS]
日志

使用Tracealyzer分析RTOS需掌握的基本概念

已有 591 次阅读2019-9-27 10:13 |个人分类:技术干货

Tracealyzer是一款RTOS行为分析工具,支持包括VxWorks、μC/OS-III、FreeRTOS在内的众多RTOS,以及Linux系统。

 

Tracealyzer能够分析RTOS和中间件协议栈中的软件事件,并且提供了许多专门的可视化视图展示,如任务调度,中断、任务之间的交互。视图之间直观的链接在一起,相关事件突出显示,使得理解问题和验证方案变得更加容易。

 

将Tracealyzer集成到自己的工程的操作方法请参考:快速入门| Tracealyzer跟踪记录库移植

 

使用Tracealyzer对RTOS进行分析,需要掌握基础的概念
01  Actor
被定义为任务/线程或者ISR。一个任务,一个中断服务程序都是一个Actor。
02  Instance
实例。Actor的一次执行,在时间轴视图上以带颜色的矩形表示,矩形的长度代表着执行的时间长度。矩形中阴影部分表示任务处于就绪态,但是期间CPU正被就绪的更高优先级任务占用。

[attachimg]436466[/attachimg]

图 1   任务实例

 

03  与实例相关的时间
时间是Tracealyzer的核心,几乎所有的视图都依赖于时间戳。通过时间才能知晓任务调度的时机,系统服务调用的时间点。

[attachimg]436467[/attachimg]

图 2    实例信息中的时间

 

a、Start and End Times:起始和结束时间。
b、Execution Time:执行时间。一个实例使用的CPU时间量,不包括任务抢占的时间。
c、Response Time:响应时间。从实例开始到结束的时间。更准确地说应该是:任务的响应时间是从任务准备执行时开始计算的(即内核将任务的调度状态设置为就绪的时刻)。
d、Wait Time:等待时间。这是响应时间减去执行时间(Response Time - Execution Time)。即当Actor未执行时,实例(instance)所消耗的时间。
e、Startup Time:启动时间。从任务就绪到执行开始的时间。

[attachimg]436468[/attachimg]

图 3    响应时间与执行时间、启动时间的关系
04  Fragmentation
Actor实例执行的片段数量(由于任务/中断抢占,执行过程被打断)。如果一个Actor实例完全执行而没有抢占,这个实例的片段将是1。
05  View Ports and Sync
视区与同步。视区是Tracealyzer当前视图窗口所显示的内容时长(与时间的分辨率相关)。默认的“Details”视区,显示100ms时长的内容;默认的“Overview”视区,显示10s时长的内容。时间轴同步到Details或者Overview视区,各视图窗口放大、缩小和滚动都是联动的,除非选择Unsynchronized,将当前视图独立。

[attachimg]436469[/attachimg]

图 4   默认Details视区(窗口显示100ms时长)


[attachimg]436470[/attachimg] 
图 5    默认的Overview视区(窗口显示10s时长)

 

以上是使用Tracealyzer分析RTOS系统时所需要掌握的几个基础概念。在此之上,我们可以查看任务或者ISR的详细时间,便于分析错误和对系统进行调优。



此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章