全部学习汇总: ++GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com)++
-
时间的相关配置,有tick的计数精度、时钟频率、间隔时间精度、时间类型大小等不同的配置。这些参数,涉及到系统的时间计数器位宽、系统的速度以及各种单位的表达能力范围等。
-
时间转换单位是一个扩展了精度的时间类型,主要目的是为了保证时间转换的安全性。
-
系统时间的单位是tick。
-
时间间隔的单位不一定是tick,不能够与上面的时间混用。
-
时间阶段,结合了一对儿时间参数,分别用来记录时间的起始。
-
系统时间的技术的实现有两种实现方式,一种是利用周期性中断时间的经典的模式;另一种是借助于一个硬件计数器来实现的无tick模式。
看了这里记录的第4条,我才知道无tick模式是一个什么概念。之前也看到过FreeRTOS中有这样的功能,但是一直没有弄明白这究竟是一个什么功能。
-
这里介绍了什么是无tick模式;
-
获取时间的参数也给了各种不同的属性,其实进行了X扩展的可以在各种条件下使用。
上面的这个接口可以用来测量一个任务的执行时间,利用这样的功能不仅可以测试各个任务的执行时间,其实也很容易测出来整个系统的负荷率。
在时间转换方面,如果算出来的数值不是整数是有一个向上取整的考虑的。比如说,系统的最小的识别精度是1ms,而算出来的时间是0.1ms,这样可能会取1ms。
这里给出来了两个时间处理的例子,第一个例子其实是一个短暂延时区间内的循环处理;第二个例子是一个带超时的报文接收处理。两种表达在处理上都是一个非常自然的表达。
看到这些处理接口,感觉ChibiOS的时间处理接口对于应用的设计还是非常友好的。这更加让人想去体验一下这个OS的效果了。