zoukankan      html  css  js  c++  java
  • 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 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

    其他初始化代码放到后面具体的每一个子模块中再分析。

    作者:洞庭散人

    出处:http://phinecos.cnblogs.com/    

    本博客遵从Creative Commons Attribution 3.0 License,若用于非商业目的,您可以自由转载,但请保留原作者信息和文章链接URL。
  • 相关阅读:
    修复火狐主页被篡改成hao123的办法
    VMware中装Win2012并配置Hyper-v
    Linux下随机密码生成器
    GNS3 桥接虚拟网卡 telnet 实验
    冰点文库下载器停止工作解决办法
    《循序渐进》之简单的DHCP实验
    windows脚本配置ip地址
    phpmyadmin使用中碰到的一些问题
    phpmyadmin导入导出大数据文件的办法
    phpmyadmin的安装和使用
  • 原文地址:https://www.cnblogs.com/xumaojun/p/8541666.html
Copyright © 2011-2022 走看看