|
raw-os在lpc4357上的最大内核关中断时间的测量
[复制链接]
raw-os内核内部具备最大内核关中断时间的测量,首先我们在raw_config.h中使能
#define RAW_CONFIG_CPU_TIME 1
#define RAW_CPU_INT_DIS_MEASURE_CHECK 1
因为测量过程中存在误差,所以先要计算测量的误差,调用函数 void measure_overhead(void)即可算得system_meaure_overhead的时间误差,然后我们的最主要的时间是raw_int_disable_time_max。最终我们得到的内核最大关中断的时间为raw_int_disable_time_max - system_meaure_overhead 。
下图是在lpc4357上204M主频上的测量值:
从上图中我们可以计算得到
raw_int_disable_time_max - system_meaure_overhead = 109
我们需要把109转换成为 204M主频对应的时间,我们知道定时器跳一次的时间为 (1 / 204)us, 最后(1 / 204)us * 109即为最大的内核关中断时间为0.53us !!! 这个值是一个恒定的最大内核关中断时间不会随着内核使用任何其它的api而改变。
|
|