-
时间管理
uC/OS-II的时间管理是通过定时中断来实现的,该定时中断一般为10毫秒或100毫秒发生一次(这个时间片段是OS的作者推荐的,大家可以参考邵贝贝翻译的...
-
内存管理
在ANSI C中是使用malloC和free两个函数来动态分配和释放内存。例如在Linux系统中就是这样。但在嵌入式实时系统中,多次这样的操作会导致...
-
任务间通信与同步
对一个多任务的操作系统来说,任务间的通信和同步是必不可少的。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中的另一种通信机制,可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量。通常该指针指向一个包含了“消息”的特定数据结...
-
本节我们将从实时操作系统来讲解,主要是从下面3个方面进行讲解:
1.操作...
-
本节我们将对u
CosII操作系统有个初步的认识,主要是从下面2个方面进行讲解:
1.U
COSII
-
邮箱一般用来传递数据,不管何种类型都可以传递。在传递时,先把数据数据用void *进行类型变化,化为void *这种万用类型,而在接收邮箱的数据时,再还原成本身的数据类...
-
在邮箱的传递中,如果把一个0值放入邮箱,经过void *类型变化后,变成了void *0,而判断邮箱中是否有数据正是通过判断邮箱中指向Message的指针是否为0来判断,这样虽然放...