uC/OS-II内核架构解析---uC/OS-II任务管理

1. C可执行代码结构

 

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

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

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

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

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

2. 任务结构

 

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

      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. 任务状态切换

 

6. 任务管理函数

  OS_TASK.C:11个函数

  • OSTaskCreate();
  • OSTaskCreateExt();
  • OSTaskDel();
  • OSTaskDelReq();
  • OSTaskChangePrio();
  • OSTaskSuspend();
  • OSTaskResume();
  • OSTaskNameGet();
  • OSTaskNameSet();
  • OSTaskStkChk();
  • OS_TaskStkClr();
  • OSTaskQuery();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UC/OS-III是一种实时操作系统(RTOS),由Micrium公司开发。它提供了一套完整的内核实现和应用开发框架,可用于嵌入式系统的设计和开发。 该PDF文档是UC/OS-III内核实现和应用开发的指南,涵盖了以下内容: 1. UC/OS-III的概述:介绍了UC/OS-III的基本概念、特点和优势,以及其在嵌入式系统中的应用领域。 2. 内核实现原理:详细解释了UC/OS-III内核的实现原理,包括任务管理、时间管理、内存管理和中断处理等方面。 3. 任务管理:介绍了UC/OS-III中任务的创建、删除、切换和同步的方法,以及任务优先级和调度算法。 4. 时间管理:说明了UC/OS-III中时间片轮转和定时器中断的原理,并介绍了如何使用和配置时钟源。 5. 信号量和事件标志组:介绍了UC/OS-III提供的同步机制,包括信号量和事件标志组,以及它们的使用方法和示例。 6. 内存管理:详细说明了UC/OS-III中内存堆的分配和释放机制,以及堆内存管理的配置和实现。 7. 中断处理:介绍了UC/OS-III中对外部中断和事件的处理方式,以及中断优先级的设置和中断服务程序的编写。 8. 实时调试和性能分析:介绍了UC/OS-III提供的实时调试和性能分析功能,包括任务切换的跟踪和时间统计。 通过学习该PDF文档,开发人员可以全面了解UC/OS-III的内核实现和应用开发方法,掌握使用UC/OS-III构建嵌入式系统的技能。该文档还提供了丰富的示例和代码,帮助开发人员快速上手并解决实际应用中的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值