传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目录
1 事件机制
如下图所示,在嵌入式系统中,通常需要需要同步机制,即某个任务在等待特定的事件发生;如果事件准备就绪了,另一个任务发送的同步信号,或者通过中断处理程序发送到某个任务,即来自外围设备的输入。
事件是分配给任意扩展任务的专有信号。可以将多个事件分配给同一任务。一个任务可能会等待一个或多个事件,从而进入等待状态。任何任务(基本或扩展)都可以为任意任务设置事件。如果接收任务一直在等待这些事件中的至少一个,这将导致接收任务进入就绪状态。
有如下的注意点:
-
扩展任务可以支持事件等待机制,如果存在等待点,任务就会被阻塞,则要等待事件的发生后才能继续执行
-
事件的产生可以来自其他任务或者是来自中断服务程序Isr。
-
中断服务程序内不允许等待事件,相反可以在中断服务程序内设置事件。
2 事件Mask
事件的表示一般通过事件Mask的方式去实现,如下图所示,一个扩展任务支持8/16/32位的事件掩码,TaskB等待事件掩码0x0000000