博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uC/OS-II源码分析(一)
阅读量:6910 次
发布时间:2019-06-27

本文共 1538 字,大约阅读时间需要 5 分钟。

下载地址: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 calling OSStart().
*****************************************************************
OSInit
********************************************************************************************
* Description: This function is called by OSInit() to initialize miscellaneous variables.
********************************************************************************************
 OS_InitMisc
 
空闲任务和统计任务建立的代码基本一样,只是统计任务的优先级比空闲任务大1,
********************************************************************************************
* Description: This function creates the Idle Task.
********************************************************************************************
CodeOS_InitTaskIdle
 
其他初始化代码放到后面具体的每一个子模块中再分析。
本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2007/11/22/968817.html,如需转载请自行联系原作者
你可能感兴趣的文章
2-openstack基础环境准备
查看>>
SVN安装采用AD认证
查看>>
hive常用语法示例
查看>>
unicode分类
查看>>
hadoop-003-源码之编译eclipse-plugin
查看>>
即使对象内容都为空,对象本身也是非空的
查看>>
MySQL事务隔离级别详解
查看>>
storm记录--3--Storm的基本概念
查看>>
×××灯marquee标签应用详解
查看>>
彻底弄懂css中单位px和em,rem的区别
查看>>
我的友情链接
查看>>
MapReduce的输出格式
查看>>
AD帐号属性灰色不能修改--解决办法
查看>>
当子页面关闭的时候动态刷新页面的局部
查看>>
javascript 去掉重复的值
查看>>
[置顶] jQuery基础学习(一)
查看>>
SIP Servlet 开篇
查看>>
我在IT中的那些转变
查看>>
用户管理 之 Linux 用户管理工具介绍
查看>>
UIScrollView 滚动视图
查看>>