代码检测分析器
在代码插装分析器中,将代码添加到生成的代码中,以记录处理器上执行的每个任务的开始和停止时间。记录的每个任务的启动和停止时间被发送到开发计算机进行保存、处理和显示。从流程中所有任务的启动和停止时间以及优先级组合推断出每个任务的瞬时状态。
考虑一个简单的模型,它有两个任务,一个高优先级和一个低优先级在嵌入式处理器上执行,并由代码插装分析器测量。该图显示了代码插装分析器所做的测量,以及这些测量结果对单个任务状态的推断。
检查该图,可以看出低优先级任务的状态是从高优先级任务的执行中推断出来的。由于只能测量任务执行的开始和结束时间,因此可能会丢失一些相关数据,特别是内核延迟。由于内核延迟在任务开始之前,所以不能直接观察到中断事件的实际时间,可以假设任务的开始时间比中断的实际时间延迟。此外,当一个任务从抢占状态转移到运行状态时,内核延迟被添加到低优先级任务的解释执行时间中。
代码插装分析得益于易于生成和部署。在部署到在单一任务模式下运行单个进程的操作系统的处理器上的模型上,任务执行计时测量具有足够的准确性和精确性。由于每个任务中只添加了少量用于记录任务开始和停止时间的代码,因此在大多数情况下,代码插装分析器对任务执行时间的影响可以忽略不计。
限制
代码插装分析提供了生成代码的轻量级度量工具。但是,在使用代码插装分析器测量任务执行和持续时间时,必须考虑两个限制。这些限制如下: