Chinaunix首页 | 论坛 | 博客
  • 博客访问: 82973
  • 博文数量: 24
  • 博客积分: 375
  • 博客等级: 一等列兵
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-13 22:14
文章分类

全部博文(24)

文章存档

2014年(6)

2011年(18)

我的朋友

分类: LINUX

2011-02-27 10:25:29

 
声明:通过分析源代码,得到了如下的函数结构,如有错误,望大家指正,希望与有兴趣者共同交流进步。
 
 
//任务就绪列表,在求最高优先级时要用到这两个数组。
INT8U  const  OSMapTbl[]
INT8U  const  OSUnMapTbl[]

//前面是函数声明,后面还给出了函数的具体实现功能
//初始化事件列表,开始时全是空值。
static  void  OS_InitEventList(void);
//给全局变量赋值
static  void  OS_InitMisc(void);
//就绪列表的初始化
static  void  OS_InitRdyList(void);
//空闲任务的初始化
static  void  OS_InitTaskIdle(void);
//初始化统计任务
static  void  OS_InitTaskStat(void);
//任务控制块的初始化
static  void  OS_InitTCBList(void);
void  OSInit (void){
    OSInitHookBegin();                                          
    OS_InitMisc();                                              
    OS_InitRdyList();                                           
    OS_InitTCBList();                                           
    OS_InitEventList();
    OS_FlagInit();                                              
    OS_MemInit();                                            
    OS_QInit();                                                 
    OS_InitTaskIdle();                                          
    OS_InitTaskStat();                                          
    OSInitHookEnd(); 
}
//开中断
void  OSIntEnter (void)
//关中断
void  OSIntExit (void){
OSIntCtxSw(); 
}
//调度器上锁
void  OSSchedLock (void)
//调度器开锁
void  OSSchedUnlock (void)
//通过这个函数,开始多任务
void  OSStart (void)
//统计任务的初始化
void  OSStatInit (void)
//时钟节拍
void  OSTimeTick (void)
//版本函数
INT16U  OSVersion (void)
//此函数什么也不做
void  OS_Dummy (void)
//使一个正在等待任务进入就绪状态
INT8U  OS_EventTaskRdy (OS_EVENT *pevent, void *msg, INT8U msk)
//使一个任务进入等待状态
void  OS_EventTaskWait (OS_EVENT *pevent)
//使一个等待超时的任务进入就绪状态
void  OS_EventTO (OS_EVENT *pevent)
//初始化时间等待列表
void  OS_EventWaitListInit()
//事件控制块的初始化函数
static  void  OS_InitEventList (void)
//调度器
void  OS_Sched (void)
//空闲任务
void  OS_TaskIdle (void *pdata)
//统计任务
void  OS_TaskStat (void *pdata)
//控制块的初始化
INT8U  OS_TCBInit (INT8U prio, OS_STK *ptos, OS_STK *pbos,
INT16U id, INT32U stk_size, void *pext, INT16U opt)
 
 
 
 
 
 
 
 
 
 
 
阅读(2343) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~