你(们)好
我们在 FreeRTOS (Cortex R、内核0)中遇到无法解释的抖动。
测量方法:
- 500uS 的周期性中断
- ISR 向任务发布了一个二进制信标(最高优先级)
- 任务唤醒并对 CPU 时间戳计数器进行采样。
差异用于评估系统抖动。
简单示例、一项任务、2-5uS 内的抖动。 很好。
当我在软件中启用更多器件、再加上一些我无法解释的因素时、延迟似乎会增加。
不访问硬件。 低优先级任务定期唤醒、但不执行任何操作。
例如、 初始化网络代码和不初始化网络代码时的延迟存在很大差异。
如果没有初始化网络、在初始化网络的情况下、延迟/抖动为+/- 20us、但电缆断开(DMA 无中断)+/- 80us。
所有代码均从 DDR 运行、DDR 均被缓存。
高速缓存缺失可以解释这种行为吗?
有什么想法吗?