基于插桩的跟踪技术解析
1. 插桩跟踪的开销问题
在插桩跟踪技术中,开销是一个需要重点关注的方面。我们需要考虑多个问题,例如将单个事件写入跟踪内存需要多长时间,每秒能记录多少个事件,在时间关键节点,原始代码是否会延迟到违反时序要求的程度。
1.1 与示波器的类比
可以用示波器来类比插桩跟踪的开销问题。当示波器的探头接触到待检测的电路时,电路就不再是原来的电路了。探头有一定的电容,可能会耦合干扰信号,电磁兼容性(EMC)行为也会发生变化等。这些因素是否会影响测量结果,很大程度上取决于电路和测量任务。如果是在千兆赫兹范围内的高灵敏度高频接收器,为了获得有意义的结果,就必须仔细考虑;而如果只是检测CAN收发器的逻辑信号,探头对结果的影响则可以忽略不计。
1.2 不同跟踪软件的开销
在实际应用中,有各种各样的跟踪软件。许多用户自行开发的内部解决方案,即跟踪和/或测量工具,每个事件通常需要消耗几微秒的处理时间,跟踪所需的CPU利用率达到两位数百分比。而高度优化的跟踪软件,对于第二代AURIX,每个事件仅需60纳秒,因此在大多数项目中,每个CPU用于跟踪的利用率低于0.4%。
1.3 内存消耗开销
与“开销”相关的另一个方面是跟踪软件的内存需求。除了程序内存(闪存)外,还会使用随机存取存储器(RAM),特别是当跟踪内存位于处理器的RAM中时。为了捕获所需的事件,跟踪内存通常需要几KB的大小,而并非每个嵌入式软件项目都能为跟踪提供这么多的RAM。
1.4 跟踪工具与外界的接口开销
跟踪软件本身的开销是一方面,与外界的接口开销则是另一方面。如果需要专用的硬件接口
超级会员免费看
订阅专栏 解锁全文

333

被折叠的 条评论
为什么被折叠?



