- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主要内容 嵌入式操作系统 ?C/OS-Ⅱ简介 ?C/OS-Ⅱ中的任务 ?C/OS-Ⅱ任务的中断和时钟 ?C/OS-Ⅱ任务通信与同步 ?C/OS-Ⅱ内存的动态分配 ?C/OS-Ⅱ移植相关 硬件抽象层的引入 嵌入式实时系统自底向上包含三个部分 硬件环境 嵌入式实时操作系统——RTOS 嵌入式实时应用程序 由于嵌入式系统应用的硬件环境差异较大,新增加的中间层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能 ,隐蔽了底层硬件的多样性 嵌入式系统的体系结构 HAL简介 硬件抽象层(Hardware Abstraction Layer,HAL)是体系结构相关的底层程序 处理系统启动、硬件初始化以及中断与异常 硬件抽象层对内核其它部分提供统一的调用接口 HAL可以提供BSP(board support package,板级支持包)规范,提供跨平台可移植性 硬件抽象层接口定义和代码设计特点 硬件抽象层具有与硬件密切相关性 硬件抽象层具有与操作系统无关性 接口定义的功能应包含硬件或系统所需硬件支持的所有功能 接口定义简单明了,太多接口函数会增加软件模拟的复杂性 具有可测性的接口设计有利于系统的软硬件测试和集成 常见的嵌入式操作系统 实时嵌入式操作系统的种类繁多,大体上可分为两种,商用型和免费型。 商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵,如Vxworks、QNX、WinCE、Palm OS等。 免费型的实时操作系统在价格方面具有优势,目前主要有Linux,μC/OS是一种源码开放的商业RTOS 学习嵌入式操作系统 学习一种实时操作系统RTOS,如?C/OS-Ⅱ,掌握实时系统的概念和设计方法 嵌入式系统以应用为中心,要选择“适用”的操作系统 嵌入式Linux 自己尝试“写”RTOS 2.2.1 任务的基本概念 复杂问题 “分而治之” 的问题解题思路。 针对目标系统拆分后的 “小且易” 的问题的具体处理方法编码和数据结构 任务。 uC/OS-II的两种任务:系统任务、用户任务。 任务的组成: 2.2.1 任务的基本概念 2.2.1 任务的基本概念 用户任务代码的一般结构 用户应用程序的一般结构 2.2.1 任务的基本概念 2.2.1 任务的基本概念 系统任务 2.2.1 任务的基本概念 任务的优先权和优先级别 2.2.2 任务堆栈 堆栈 LIFO访问原则组织的连续存储器 任务堆栈在 uC/OS-II 中的应用: 2.2.2 任务堆栈 任务堆栈的创建 2.2.2 任务堆栈 任务堆栈的使用注意事项 __ 存在两种堆栈形式 2.2.3 任务控制块及任务控制块链表 任务控制块(TCB) 任务在系统中的身份证 2.2.3 任务控制块及任务控制块链表 任务控制块(TCB)的结构 2.2.3 任务控制块及任务控制块链表 任务控制块链表 2.2.3 任务控制块及任务控制块链表 任务控制块链表 补充:多任务 OS 的基本工作方式 2.2.4 任务就绪表及任务调度 任务优先级数据结构分析 2.2.4 任务就绪表及任务调度 任务就绪表的操作 任务控制块及任务控制块链表 任务控制块(TCB)的结构 实验1: 创建两个任务; Task_A 控制一位LED秒闪。 Task_B 控制蜂鸣器每3S鸣1.5S。 实验2: 设计一个试验并完成:测试 OSTaskChangePrio( ) “任务挂起” 系统函数应用特性。 ⑴如果修改挂起任务的优先级会是什么结果; ⑵可否修改任务自身的优先级。 本节小结 Task 由 TCB、Task_Stack、Task_Code 三部分组成。 uC/OS-II使用 TCB 对任务进行控制。 Task_Stack 用于任务切换时私有现场保护。 uC/OS-II 按任务优先级对任务进行调度。 uC/OS-II 每调用一次API函数和中断返回都会进行一次任务调度。 任务调度的周期和任务调度器自身的运行事件无关。 任务的优先级(prio)也是任务的句柄。 uC/OS-II 的初始化和启动。 补充:1 任务的特性 任务的动态性 Task 的状态在整个生命过程中是在动态变化的(Ready、Wait、Suspend),即使是已开始运行的 Task 也未必一直占有CPU。 补充:1 任务的特性 任务的独立性 补充:1 任务的特性 任务的并发性 补充:2 任务的划分目标 补充:3 任务的划分方法 按系统设备构成进行任务的划分 补充:3 任务的划分方法 关键任务的划分 补充:3 任务的划分方法 关于任务划分的几点建议: 补充:4
文档评论(0)