首页 经典ucOS-II入门教程_第1章(共3章)

经典ucOS-II入门教程_第1章(共3章)

举报
开通vip

经典ucOS-II入门教程_第1章(共3章) Created with SmartPrinter trail version www.i-enet.com 嵌入式实时操作系统 μC/OS-II讲座 北 华 大 学 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 为什么要学习μC/OS-II 一.凡从事嵌入式系统开发工作的人,必须 对嵌入式操作系统有足够的了解。 二.对于初学...

经典ucOS-II入门教程_第1章(共3章)
Created with SmartPrinter trail version www.i-enet.com 嵌入式实时操作系统 μC/OS-II讲座 北 华 大 学 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 为什么要学习μC/OS-II 一.凡从事嵌入式系统开发工作的人,必须 对嵌入式操作系统有足够的了解。 二.对于初学者,从μC/OS-II开始是个明智的选择。 1. μC/OS-II麻雀虽小,却五脏基本全(它是个微 内核)。 2.可以学习实时系统的一些编程技巧。 3.可以把在学校中学到的操作系统抽象概念具体 化。 4.具有很强的实用性。 5.学习数据结构应用的好例子。 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 讲座的主要内容 一.计算机操作系统的基本概念 二.操作系统中常用的数据结构 三.并发操作系统的概念 四.任务的要素 五. μC/OS-II的任务管理(任务调度) 六. μC/OS-II的中断和时钟 七. μC/OS-II的任务的同步与通信 八. μC/OS-II的存储管理 九.硬件抽象层和测试台 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com •操作系统是一种为应用 程序提供服务的系统软 件,是一个完整计算机 系统的有机组成部分。 •从层次来看,操作系统 位于计算机硬件之上, 应用软件之下。所以也 把它叫做应用软件的运 行平台。 什么是计算机操作系统 (Operating System,OS) Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com •它在计算机应用程序与计算 机硬件系统之间,屏蔽了计 算机硬件工作的一些细节, 并对系统中的资源进行有效 的管理。 •通过提供函数(应用程序接 口(API)),从而使应用程 序的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 人员得以在一个友 好的平台上进行应用程序的 设计和开发,大大地提高了 应用程序的开发效率。 计算机操作系统的作用 从用户的角度来 看,它就是一大堆 函数(API和系统函 数),用户可以调 用(普通调用或系 统调用)它们来对 系统资源进行操作。 计算机硬件 用汇编语言编写 的 硬件抽象层 高级语言的接口 应用软件 操 作 系 统 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 操作系统 计算机操作系统的功能 处理器的管理 存储管理 网络和通信 的管理 I/O设备管理 文件管理 任务管理 任务 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 存储 分配表 文件 目录 设备表 总之,需要一大堆表 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 操作系统中经常使用 的数据结构(数组) 数组 1。同一数据类型数据 的集合; 2。占用连续内存空 间; 3。其中的所有元素名 称都相同,但每个元 素都有一个编号; 4。元素名去掉编号 (下标),得到的是 数组名,数组名是个 指针。 int a[10] a[0] a[1] a[2] a[3] a[9] a a+1 使用上的特点: 1。分类存放; 2。检索速度快 且恒定; 3。缺点:占用 连续空间大 … … a+2 a+3 a+9 应用: 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 同类事物的表 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 操作系统中经常使用 的数据结构(位图) 位图是数组的一种 特殊应用 a[10] (可以记录80个事物的状态) a[0] a[1] a[2] a[3] a[9] a a+1 … … a+2 a+3 a+9应用:登记表 1/0 D7 D6 D5 D4 D3 D2 D1 D0 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 操作系统中经常使用 的数据结构(结构) 1。不同 数据类型 数据的集 合; 2。占用 连续内存 空间; struct Student{ int age; char*name; char sex; }; 使用上的特 点: 1。不分类存 放,但用来 描述同一事 物; 2。检索速度 快且恒定;应用:通讯录中的一条记录、 工具箱、厨房等等 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com next next 两个元素的链表 操作系统中经常使用 的数据结构(链表) struct Student{ Student*next int age; char*name; char sex; }; 1。同数据类型数据的集合; 2。不占用连续内存空间。 使用上的特点: 1。分类存放,但空间上不连续(不 需要大量的连续存储空间); 2。检索速度慢,且耗费的时间不固 定; 应用:存放大量的较大 的表,类似档案柜 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 操作系统中经常使用 的数据结构(队列) 按照先进先出 的规则组织的数据结构 可以用数组也可以用链 表来实现 主要用于对象的排队 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 操作系统中经常使用 的数据结构(堆栈) 按照先进后出 规则组织的数据结构 主要用数组来实现 主要用于 程序模块的嵌套运行 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 什么是多任务系统 简单地说,就是能用一个处理器 并发(注意,不是同时! ) 地运行多个程序的计算机管理系统。 并发:由同一个处理器轮换地 运行多个程序。或者说是由多个 程序轮班地占用处理器这个资源。 且在占用这个资源期间,并不一 定能够把程序运行完毕。 并发过程 示意图 处理器如何进行程序的 切换? Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 程序的切换(两句话) 处理器是个傻瓜,PC让 它干啥,它就干啥。 PC是个指路器,它指向哪 儿,处理器就去哪儿。 从此可以知道,哪个程 序占有了PC,哪个程 序就占有了处理器。 = PC深刻地理解PC是理解系统进行程序切换动作的关键。 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 所谓切换就是: PC 目标地址 如何操作PC 指令: 不同的计算机类型的指 令是不同的。 •数据传送指令 •子程序返回指令(由堆 栈弹出) •中断服务程序返回指令 (由堆栈弹出) Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 小结 系统是通过把待运行程 序的地址赋予程序计数 器PC来实现程序的切 换的。 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 任务代码 任务堆栈 内存 处理器 PC SP 任务运行时与 处理器之间的关系 处理器通过两个指针寄 存器(PC和SP)来与任 务代码和任务堆栈建立 联系并运行它 寄存器组 程序运行环境 运行环境包括了两部分: 处理器中的运行环境和 内存中的运行环境 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 任务代码 任务堆栈 内存 处理器 PC SP 多任务时的问题 任务代码 任务堆栈 内存 任务代码 任务堆栈 内存 ? 当有多个任务时,处理 器中的运行环境应该怎 么办? 寄存器组 程序运行环境 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 程序 虚拟 处理器 PC SP 虚拟 处理器 PC SP 虚拟 处理器 PC SP 虚拟 处理器 PC SP 调度器 多任务时任务与处理器 之间关系的处理 程序 处理器 PC SP 在内存中为每个任 务创建一个虚拟的 处理器(处理器部 分的运行环境 由操作系统的调度 器按某种规则来进 行这两个复制工作 复制 当需要运行某个任务时 就把该任务的虚拟处理 器复制到实际处理器中 复制 当需要中止当前任 务时,则把任务对 应的虚拟处理器复 制到内存 复制 再把另一个需要运行的任 务的虚拟处理器复制到实 际处理器中 寄存器组 寄存器组 也就是说,任务的切换是 任务运行环境的切换 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 虚拟处理器 虚拟处理器应该存储的主要信息: 1。程序的断点地址(PC) 2。任务堆栈指针(SP) 3。程序状态字寄存器(PSW) 4。通用寄存器内容 5。函数调用信息(已存在于堆栈) 另外再用一个数据结构保存任务堆栈 指针(SP),这个数据结构叫做任务 控制块,它除了保存任务堆栈指针之 外还要负责保存任务其他信息。 这些内容通常保 存在任务堆栈 中,这些内容也 常叫做任务的上 下文。 任务控制块是由操 作系统另行构造的 一个数据结构,每 个任务都有一个。 任务控制块结构的主要成员 typedef struct os_tcb { OS_STK *OSTCBStkPtr; //指向任务堆栈栈顶的指针 …… INT8U OSTCBStat; //任务的当前状态标志 INT8U OSTCBPrio; //任务的优先级别 …… } OS_TCB; 任务代码 任务堆栈 内存任务控制块 其实,程序切换的关键是 把程序的私有堆栈指针赋 予处理器的堆栈指针SP 实质上系统是通过SP的切换 来实现程序的切换的。 要建立一个概念:具有 控制块的程序才是一个 可以被系统所运行的任务。 程序代码、私有堆栈、任 务控制块是任务的三要件。 任务控制块提供了运行环 境的存储位置。 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 任务的基本概念 把一个大型任务分解成多个小任 务,然后在计算机中通过运行这 些小任务,最终达到完成大任务 的目的。 在μC/OS-II中,与上述那些小任 务对应的程序实体就叫做“任务” (实质上是一个线程),μC/OS- II就是一个能对这些小任务的运 行进行管理和调度的多任务操作 系统。 从应用程序设计的角度来 看,μC/OS-II的任务就是一 个用户编写的C函数和与之 相关联的一些数据结构而构 成的一个实体。 任务代码 任务堆栈 内存 在内存中应该 存有任务的代 码和与该任务 配套的堆栈 Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 任务切换过程获得待运行任务的任务控制块 恢复待运行任务 的运行环境 处理器的PC=任 务堆栈中的断点 地址 处理器的SP=任 务块中保存的SP 如何获得待运行 任务的任务控制 块? Created with SmartPrinter trail version www.i-enet.com Created with SmartPrinter trail version www.i-enet.com 小结 一个完整的任务应该有如下三部分: •任务代码(程序) •任务的私有堆栈(用以保护运行环境) •任务控制块(提供私有堆栈也是虚拟处 理器的位置) 这些都是任务方应该提供的基本信息。 Created with SmartPrinter trail version www.i-enet.com
本文档为【经典ucOS-II入门教程_第1章(共3章)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_553323
暂无简介~
格式:pdf
大小:326KB
软件:PDF阅读器
页数:23
分类:互联网
上传时间:2011-11-08
浏览量:82