RTOS定时器在创建时需要指定定时处理函数,这些函数在指定时间触发调用。

如果这些函数需要访问一些其它任务或中断共享的资源,需要进行保护吗? 本章即是要解答这些问题。

主要内容

结合《自己动手从0到1写嵌入式操作系统》课程中有关软定时器模块的实现章节,我们知道,RTOS提供的软定时器基于系统时钟节拍工作。
在具体实现时,会通过专门创建的定时器任务或者系统时钟节拍中断来实现这些定时器;那么当定时到达时,相应的定时处理函数会在定时器任务或中断中执行,此时就涉及到资源被多个任务或中断共享的问题,需要加以保护
定时器的资源互斥处理 - 图1
具体的保护方案,可以直接参考在前面章节介绍的资源共享保护的课时说明。

定时函数与任务共享资源

定时器的资源互斥处理 - 图2

定时函数与中断共享资源

定时器的资源互斥处理 - 图3

多个定时函数共享资源

定时器的资源互斥处理 - 图4

重点难点

采用哪种方案,需要首先判断定时函数究竟是在定时任务中执行,还是定时中断中执行。

注意事项

常见问题