uC/OS-II内核架构解析---uC/OS-II任务管理
2016-07-12 22:08
495 查看
1. C可执行代码结构
(2)数据段.data:.rodata(常量数据)、.rwdata(已初始化全局变量、静态变量)。
(3)未初始化数据段.bss:未初始化的全局变量、静态变量。
(4)栈.stack:存放函数参数、局部变量及任务切换时的上下文。
(5)堆.heap:用于动态内存分配。
2. 任务结构
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();
相关文章推荐
- uC/OS-II内核架构解析---uC/OS-II系统核心
- javacard软件架构
- web信息架构简要读书笔记
- ActiveMQ实现负载均衡+高可用部署方案
- 三、HDFS 与Yarn HA 架构部署与测试
- 分布式网站架构后续:zookeeper技术浅析
- 简历网站_遇到的问题_1
- 使用yo-get下载视频网站视频或其他
- MYSQL手工注入某日本网站
- 使用yo-get下载视频网站视频或其他
- 浏览器进不去网站解决方案
- Android源码笔记——Camera系统架构
- Android Camera API2.0下全新的Camera FW/HAL架构简述
- 电商网站前端常用函数
- 新媒体运营的核心:内容就是你的产品!
- 网站流量度量术语 IP PV UV 并发
- 从应用到平台 – 云服务架构的演进过程
- php远程抓取网站图片并保存
- [android架构篇]mvp+rxjava+retrofit+eventBus
- 基于 flask 框架的模拟instagram 图片分享网站的开发 6