- 1、本文档共102页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式操作系统ucos -ii
嵌入式操作系统UCOS -II
uCOS -II操作系统的特点
uCOS -II操作系统内核结构
uCOS -II操作系统任务管理
uCOS -II操作系统内存管理
uCOS -II操作系统时间管理
uCOS -II操作系统任务间的通讯
uCOS -II操作系统移植
µC/OS-II的特点
UC/OS是一个非常小巧的实时操作系统;整个
代码分为内核层以及移植层,这样使得它的植
性很方便。
采用抢占式调度策略,保证任务的实时性。
能够管理多达64个任务。
提供了邮箱、消息队列、信号量、内存管理、
时间管理等系统服务。
µC/OS-II的各种商业应用
全世界有数百种产品在应用:
医疗器械
移动电话
路由器
工业控制
GPS 导航系统
智能仪器
更多
C/OS-II的代码结构
C/OS-II的内核结构
C/OS-II 内核的主要功能是任务的调度和切换
任务调度
任务切换
中断与时钟节拍
临界段代码的处理
统计任务和空闲任务
内核结构关系图
任务(task )
一个任务(也即线程)通常是一个无限的循环:
void mytask(void *pdata)
{
do init
while (1) {
do something;
waiting;
do something;
}
}
任务(task )
μC/OS- Ⅱ可以管理多达64个任务。
保留了优先级为0、1、2、3、OS_LOWEST_PRIO-3、
OS_LOWEST_PRI0-2,OS_LOWEST_PRI0-1 以及
OS_LOWEST_PRI0这8个任务以被将来使用。
用户可以有多达56个应用任务。必须给每个任务赋以不同
的优先级。优先级号越低,任务的优先级越高。
任务状态
删除任务
等待
或挂
起
息 消 到 收到 间 时 起 挂 息 消 待 等 起 挂
创建任务
任务调度 中断
中断
休眠 就绪 运行
服务
删除任务 任务被占先 中断结束
删除任务
C/OS-II的任务管理
任务控制块(TCB )
任务控制块OS_TCB是一个数据结构,保存该任务的
相关参数,包括任务堆栈指针,状态,优先级,任务
表位置,任务链表指针等。
一旦任务建立了,任务控制块OS_TCBs将被赋值。
所有的任务控制块分为两条链表,空闲链表和使用链
表。
C/OS-II的任务管理
任务控制块结构的主要成员
OS_STK *OSTCBStkPtr; /*当前任务栈顶的指针*/
struct os_tcb *OSTCBNext; /*任务控制块的双重链接指针*/
struct os_tcb *OSTCBPrev; /*任务控制块的双重链接指针*/
OS_EVENT *OSTCBEven
您可能关注的文档
- 苹果采摘机器人夜间图像边缘保持的retinex 增强 - ingenta connect.pdf
- 屏东县95学年度国民教育辅导团各学习领域 - 云林县东势国民小学.doc
- 评量标准(地理-内坜).ppt
- 屏东县106年度能源教育-节能屋模型设计竞赛计画 - 屏东县中正国小.doc
- 屏东县100年度友善校园学生事务与辅导工作--国小学生生命教育体验 .doc
- 屏东县100年度‘书写本土我的爱’教学研究论文 客“鼓”鸣薪 太鼓与 .doc
- 屏东县清寒及优秀学生奖学金申请书.doc
- 破水罐对挑水工说 - 义丰小学.ppt
- 菩提树农业气候区划地理信息系统.doc
- 犃荦牦犊牦/犘犇牦风电齿轮箱收缩盘联接可靠性分析 - journal of .pdf
文档评论(0)