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。
  • 相关阅读:
    python之路---23 模块 os sys pickle json
    Fiddler抓包【7】_次要功能和第三方插件
    Fiddler抓包【6】_Fiddler Script
    Fiddler抓包【5】_Fiddler过滤
    Fiddler抓包【4】_重定向AutoResponder
    Fiddler抓包【3】_设置断点修改
    Fiddler抓包【2】_捕获设置
    Fiddler抓包【1】_介绍及界面概述
    CSS常见兼容问题以及解决办法
    webpack入门文档教程
  • 原文地址:https://www.cnblogs.com/xumaojun/p/8541666.html
Copyright © 2011-2022 走看看