-
任务间通信与同步
对一个多任务的操作系统来说,任务间的通信和同步是必不可少的。UC/OS-II中提供了4种同步对象,分别是信号量,邮箱,消息队列和事件。所有这些同...
-
在这一章中我们主要讨论UCOSII的源码调试环境,为了给大家一个共同的学习平台,我搜集整理了一写资料,就是以X86为平台,使用BC31(这个堪称骨灰级的编译器)来调...
-
让自己的第一个任务Run起来
前面已经给大家介绍了如何在PC机上调试UCOS,方法和需要的软件都介绍给大家了,相信有兴趣的朋友已经安装调试了,下面咱们就让自己...
-
UCOS的运行是基于任务运行的,为了能够好的使用UCOS我们先要对UCOS的任务的概念做一个理解
在学习UCOS任务前我们先对我们以前使用的模式做一个回顾--前后台模式。
&l...
-
不可剥夺型内核
不可剥夺型内核要求每个任务自我放弃CPU 的所有权。 不可剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个 CPU。异步事件还是由中断服务来处理。中断服务...
-
任务调度是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的,UCOS也不例外。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法...
-
前面我们对UCOS的基础知识做了了解,其中有些地方由于邵贝贝翻译的树上讲解的很少我就没有班门弄斧,大家可以结合那本书来看。有问题或不明白的在这里讨论,欢迎大家剔除问...
-
任务的资源主要包括以下几部分,ECB控制块、任务堆栈、任务代码及与CPU共用的寄存器和CPU的使用权
<ignore_js_op>
<igno...
-
一:信号量的理解: (1)信号量可以分为两种:一种是二值信号量(0和1),一种是N值信号量(计数式信号量)。 &nb...
-
在UCOS的信号量使用过程中,我们经常会用的是二值信号量,而在二值信号两种用的醉的情况就是互斥信号量。互斥信号是本身是一种二进制信号,具有超出UCOS-II提供的一般信号机制的特性...
-
UCOS互斥信号量操作函数分析
//建立并初始化一个互斥型信号量(优先级继承优先级(PIP)、出错代码指针)OS_EVENT *OSMute...
-
释放一个互斥信号量:OSMutexPost()关键代码剖析:INT8U OSMutexPost (OS_EVENT *pevent){ ...
-
今天我们就看看事件标志组的使用和管理吧
事件标志组(event flag)包含两部分:
typedef strUCt
{
INT8U OSFlagType;...
-
消息邮箱是UC/OS-II中的另一种通信机制,可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量。通常该指针指向一个包含了“消息”的特定数据结...
-
本节我们将对
UCosII操作系统有个初步的认识,主要是从下面2个方面进行讲解:
1.
UCOSII
-
邮箱一般用来传递数据,不管何种类型都可以传递。在传递时,先把数据数据用void *进行类型变化,化为void *这种万用类型,而在接收邮箱的数据时,再还原成本身的数据类...
-
在邮箱的传递中,如果把一个0值放入邮箱,经过void *类型变化后,变成了void *0,而判断邮箱中是否有数据正是通过判断邮箱中指向Message的指针是否为0来判断,这样虽然放...
-
用异或来交换变量是错误的——陈硕。
翻转一个字符串,例如把 "12345" 变成 "54321"...
-
之前为了获得mspdebug的.a文件,在VirtualBox虚拟机里面安装了需要的系统,可它却导致升级的时候kernel版本冲突,因此卸载了它。重新开机的时候出现了下面的问题:<...
-
1:任务有切换,但切换到某个任务,总是出现hardfault错误?【现象:给出错的任务换一个大小一样但名字不一样的堆栈就可以,使用原来名字的堆栈就是出错】
解决:
1:查看ha...