uCOS-II
东方青
这个作者很懒,什么都没留下…
展开
-
ucos II 内核学习之二:任务控制块
前面的学习已经了解过任务控制块。知道任务在创建的时候,任务控制块会被初始化。任务控制块是一个数据结构,当任务的CPU使用权被剥夺时,ucos II用它来保存该任务的状态。当任务重新得到CPU使用权时,任务控制块能确保任务从当时被中断的那一点丝毫不差地继续执行。OS_TCBs全部驻留在RAM中。 任务控制块的定义程序如下所示: #if OS_TA转载 2014-12-03 15:07:01 · 594 阅读 · 0 评论 -
ucos II 内核学习之一:任务状态及任务控制块
ucos II 内核学习之一:任务状态及任务控制块一个任务被创建之后,可以处于以下五种状态之一。这五种状态分别是:1. 睡眠状态2. 就绪状态3. 等待状态4. 中断服务状态5. 执行状态下面简单介绍下各状态的含义及各状态切换的方法。 睡眠状态:睡眠态(DORM转载 2014-12-03 14:49:14 · 583 阅读 · 0 评论 -
ucos II 内核学习之七:内存管理
Ucos II 内存管理 在mcu21的项目里,暂时还没用到内存管理。不过还是有必要学习一下的。 为了消除内存碎片,ucos II 把连续的大块内存按分区来管理。每个分区中包含有整数个大小相同的内存块。 类似每个任务对应一个任务控制块,每个事件对应一个事件控制块,ucos II里每个内存块也是对应一个内存控制块。内存控制块是一个数据结构,定义如下:转载 2014-12-04 09:50:00 · 462 阅读 · 0 评论 -
ucos II 创建第一个任务之二
Ucos II 创建第一个任务之二下面具体讲解下任务创建的过程下图就是创建任务函数的实现程序。INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio){ void *psp;转载 2014-12-04 10:24:05 · 382 阅读 · 0 评论 -
ucos II 内核学习之三:任务调度
ucos II 内核学习之一 :任务调度 学校的教学方式多是先让你学原理,再应用它。Muc21则不喜欢这种方式,依然记得在学校枯燥无味地学一大堆理论,更郁闷的是不知道是应用在什么地方。 Mcu21喜欢先学会用它了,然后再去了解它的原理。对ucos II也一样,当我用过之后,再去看它的内核,或许理解起来会更容易。 实现任务切换,需要调用函数OSSched()。转载 2014-12-03 17:52:37 · 399 阅读 · 0 评论 -
ucos II 内核学习之四:任务延时函数
Ucos II 任务延时函数 编写过单片机程序的都知道,延时函数是经常被用到的。 在ucos II 里,系统也提供了这样的延时函数。一个是大众版的OSTimeDly(),一个是精致版的OSTimeDlyHMSM()。 萝卜青菜,各有所爱,随你怎么选。 这两者的区别是,OSTimeDly()的延时时间是以节拍数来衡量的,OSTimeDlyHMSM()的延时时间则转载 2014-12-04 09:00:08 · 461 阅读 · 0 评论 -
ucos II 内核学习之五:时钟节拍
ucos II 内核学习之二 :时钟节拍ucos II 里,时钟节拍就好比是人的心脏一样重要,。它对于CPU能顺利在各任务间切换有着至关重要的作用。Ucos II 需要用户提供时钟源,在muc21项目了,我使用了定时器0作为时钟源。使用时钟源有一个特别需要注意的地方:用户必须在多任务系统启动以后再开启时钟节拍器,也就是在调用OSStart()之后。Ucos II中的时钟节拍转载 2014-12-04 09:20:44 · 524 阅读 · 0 评论 -
ucos II 内核学习之六:ucos II初始化及启动
ucos II内核学习之三:ucos II初始化及启动 以下是我项目中主函数的程序现在解释下程序编写的依据和实现过程。ucos II 里,在创建一个任务(或者调用其它系统服务之前),是需要先初始化系统的,初始化ucos II需要调用函数OSInit()。调用函数OSInit()的作用是什么?主要实现以下几个功能。1. 建立空闲任务及统计任务。2.转载 2014-12-04 09:40:59 · 469 阅读 · 0 评论 -
ucos II 创建第一个任务之一
Ucos II创建第一个任务 我们已经从远处欣赏过ucos II 的身材,现在可以近距离地欣赏Ucos II性感的局部了。 任务是什么?有一句话:CPU不同的时刻段总是在执行着优先级最高的任务。所以CPU总是在不同的任务间切换。任务好比linux中的进程。有c写过单片机程序的人是知道函数的.。在ucos II 世界里,任务就是一个大箩筐,框着一个或者好多转载 2014-12-04 10:06:49 · 388 阅读 · 0 评论