uCOS-II源码分析uC/OS-II源码分析(一)
下载地址:http://www.micrium.com/
它的特点:
1)开源,
2)可移植性,绝大部分代码用 C 写,硬件相关部分用汇编写,
3 可固化,
4)可剪裁,这通过条件编译实现,使用#define 语句定义所需要的功能。
5)可剥夺性(总是运行就绪条件下优先级最高的任务),
6)多任务(可以管理 64 个任务,其中保留 8 个给 uC/OS-II,因此用户最多可有 56 个任务,
每个任务优先级不同,也就意味着不支持时间片轮转调度法,因为这种方法适合于优先级平等的
任务)。
7)可确定性。函数调度和服务执行时间具有确定性,除了 OSTimeTick()和某些事件标志服务,
系统服务执行时间不依赖用户应用程序任务数目的多少。
8)任务栈。允许每个任务自己单独的栈空间不同,可以使用栈空间检验函数确定所需要的栈空
间大小。
9)系统服务。提供信号量,互斥型信号量,事件标志,消息邮箱,消息队列,块大小固定的内
存申请与释放,时间管理函数等服务。
10)中断管理。中断嵌套层数最多可达到 255 层。
11)稳定性和可靠性。
OSInit()函数用来初始化内核,必须首先调用。建立两个任务:空闲任务(其他任务都未就绪
时运行),统计任务(计算 CPU 的利用率).
*****************************************************************
* Description: This function is used to initialize the internals of uC/OS-II and MUST be called
prior to creating any uC/OS-II object and, prior to calli……