注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

深海精灵

水里的一滴油,透明地飘零在空气中。。。

 
 
 

日志

 
 
关于我

神秘诡谲,令人费解。可以很执着,也可以很破坏。冰冷,沉默。渴望单纯,渴望自由。躲在文字的背后,用心聆听世界,用直觉洞察世情。

网易考拉推荐

uCOS实时操作系统——uCOS任务管理  

2011-07-08 11:37:24|  分类: uCOS实时操作系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  首先讲述几个基本概念。

1、数据结构  

uCOS实时操作系统——uCOS任务管理 - 深海精灵 - 深海精灵

  (1)代码段 .text:存放CPU执行的机器指令,通常.text是可共享且只读的。

  (2)数据段 .data:rodata(常量数据)、rwdata(已初始化全局变量、静态变量)。

  (3)未初始化数据段 .bss:未初始化的全局变量、静态变量。

  (4)栈 .stack:存放函数参数、局部变量及任务切换时的上下文。

  (5)堆 .heap:用于动态内存分配。

 

2、任务结构

uCOS实时操作系统——uCOS任务管理 - 深海精灵 - 深海精灵

  在uC/OS-II中,任务是事件运行和管理的基本单元。一个uC/OS-II任务至少包含程序代码、栈和TCB,还可选择性使用相当于堆的动态内存空间。程序运行时,uC/OS-II中的任务相当于可执行代码(可单独运行的单元)。

 

 3、任务栈 

  • 任务栈数据类型:typedef unsigned short OS_STK
  • 任务栈增长方向:#define OS_STK_GROWTH 0/1
  • 任务栈基本功能
  •  

    4、任务控制块 

    (1) TCB描述

          主要用来存储任务的当前属性。

    (2) TCB主要成员

    • 任务栈空间位置:OSTCBStkPtr、OSTCBStkBottom、OSTCBStkSize
    • 任务通信与同步:OSTCBEventPtr、OSTCBMsg
    • 任务事件组标志:OSTCBFlagNode、OSTCBFlagsRdy
    • 任务等待/阻塞:OSTCBDly、OSTCBPendTO
    • 任务当前状态:OSTCBStat
    • 任务优先级:OSTCBPrio

    (3)TCB全局变量

    • OS_EXT OS_TCB OSTCBTbl[OS_MAX_TASKS + OS_N_SYS_TASKS];
    • OS_EXT OS_TCB OSTCBPrioTbl[OS_LOWEST_PRIO + 1];
    • OS_EXT OS_TCB *OSTCBFreeList;
    • OS_EXT OS_TCB *OSTCBList;
    • OS_EXT OS_TCB *OSTCBHighRdy;
    • OS_EXT OS_TCB *OSTCBCur;

    5、任务状态切换

    uCOS实时操作系统——uCOS任务管理 - 深海精灵 - 深海精灵

      

    6. 任务管理函数

      OS_TASK.C:11个函数

    • OSTaskCreate();
    • OSTaskCreateExt();
    • OSTaskDel();
    • OSTaskDelReq();
    • OSTaskChangePrio();
    • OSTaskSuspend();
    • OSTaskResume();
    • OSTaskNameGet();
    • OSTaskNameSet();
    • OSTaskStkChk();
    • OS_TaskStkClr();
    • OSTaskQuery();

     

      评论这张
     
    阅读(318)| 评论(0)
    推荐 转载

    历史上的今天

    评论

    <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    页脚

    网易公司版权所有 ©1997-2017