
ucos-ii
ucos-ii学习笔记
vonchenchen1
长期负责代码拷贝
展开
-
自己仿写一个ucosii(三) 初始化与创建任务
有了任务控制块,接下来就是任务初始化了,其中分为创建块和创建任务。 有了任务控制块的模子就可以复制几个了,然后再把它们穿起来,统一管理。操作系统初始化函数就是做这件事的。 OSInit函数就是做这个的。此函数先初始化一些操作系统的一些全局变量,比如任务嵌套次数,空闲任务计数,操作系统运行 开关等。然后就开始将我们创建的各种块,比如任务控制块,事件管理块,内存块,消息块原创 2014-01-23 20:46:57 · 1057 阅读 · 0 评论 -
自己仿写一个ucosii(四) 任务调度函数
这是一张神奇的表格.... 没搞太明白直接用了 unsigned char const DCOS_UnMapTbl[]={ 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x00 to 0x0F */ 4, 0, 1, 0, 2, 0, 1, 0,原创 2014-01-23 21:59:04 · 972 阅读 · 0 评论 -
自己仿写一个ucosii(二) 任务控制块的简析
任务控制块是任务管理的核心数据结构,任务控制块的数量就是操作系统最多可处理任务的数量。ucosii目测一般都是10个以下的任务。 空闲任务链表和就绪任务链表。在初始化ucos时,我们会创建一个空闲任务链表,里面包含最大任务数量。而创建一个任务时,我们会 摘下一个任务块(链表的节点),然后通过 任务创建函数将相关的参数赋值给任务块,再把任务块放进就绪链表中。 下面具体看看任务控原创 2014-01-23 20:12:34 · 1469 阅读 · 0 评论 -
自己仿写一个ucosii (一)
简单谈谈我对uc的一些认识级对于部分源码的分析和调试,作为对近一段时间学习的阶段性总结。下文将分两部分介绍,前半部分主要谈谈我个人对一些问题的认识以及一些疑惑,后半部分是通过阅读ucosii,按照ucosii的思路自己编写或者调试的一些源码的分析,这些源码可以实现任务按照优先级定时切换(MDK+stm32)。 1.ucosii有什么作用,和裸机的区别 uc是一个实时操作系统,很长一段时间以原创 2014-01-18 15:50:12 · 1203 阅读 · 0 评论