在我们的任务中,我们编程M4来生成信号图(通过GPIO,内部计时器处理程序)。打开电源,一切都好。但是在Linux加载到命令提示符之后,我看到来自M4的图表现在更长了,好像M4慢慢地。增加到4倍(见图)
另外,为了检查性能,我尝试了NXP示例(driver_examples\gpt),并将简单的代码添加到计时器处理程序中:/EXAMPLE_GPT ) ;
PRINTF ( " time = % d \ n \ r " , t2 - t
在支持时间戳计数器( TSC )处理器中,Linux提供了使用TSC的高精度计时器选项。据我所知,TSC是一个可以读取的寄存器,但不提供以配置的速率中断CPU的选项。因此,对于定时器,Linux中的中断生成仍然必须依赖于HZ值通常设置为1000或250的I/ or (在x86上)。即使TSC提供微秒粒度的时间戳,根据HZ值的不同,计时器/调度粒度仍然是4ms或1ms。这种理解是正