uCOS-II学习环境的建立可以参考这个帖子:
http://www.armjishu.com/bbs/viewtopic.php?id=1629&tagid=31 &flag=1578
1、 相关背景知识
信号量为操作系统处理临界区问题和进程间同步提供了一种有效的机制。信号量本身不具备数据传输的功能,它只是资源的外部标识,通过该标识可以判断该资源是否可用。信号量在此过程中负责数据操作的互斥、同步等功能。信号量的行为常用P操作和V操作来表示,简称PV操作。任务对资源进行P操作,即意味着申请占有一个资源;任务对资源进行V操作,即意味着释放占有的资源。如果初始资源数为1,那么该资源就是互斥资源,即一次只允许一个任务使用。
2、 uCOS-II中任务之间的通信和同步
在uCOS-II中学习信号量就不得不提uCOS-II中任务之间的通信与同步机制。在uCOS-II中一个任务可以通过事件控制块(ECB)来向另外的任务发信号,所有的信号都被看做为事件。这里,事件可以是信号量、邮箱或者消息队列等。也就是说uCOS-II对信号量、邮箱或者消息队列等事件定义了一个相同的数据结构——ECB。uCOS-II 通过uCOS-II_II.H 中定义的OS_EVENT 数据结构来维护一个事件控制块的所有信息,下面是其详细代码描述:
uCOS-II信号量学习
最新推荐文章于 2024-01-06 16:54:27 发布