Newtank

个人站

欢迎来到我的个人站~


任务间通信

目录

事件控制块

事件控制块(ECB)用于管理具体事件。包含指向消息或消息队列的指针、等待任务列表、计数器、等待任务组等。

等待任务列表

该列表包含两个变量OSEventGrp和OSEventTbl[]。在Grp中,任务按优先级分组,每组对应8格个任务。与OSRdyGrp和OSRdyTbl类似。当某组有任务处于等待该事件的状态时,对应位置置为1。

同样使用OSUnMapTbl来查找最高优先级任务。

ECB由空闲链表和双向链表管理。

同步与互斥

使用临界区开关中断

信号量

μC/OS使用信号量实现互斥访问和任务同步。

Pend:有阻塞等待信号量

Post:释放信号量

Accept:无阻塞等待信号量