书签 分享 收藏 举报 版权申诉 / 74
上传文档赚钱

类型嵌入式系统基础教程第18讲第9章嵌入式操作系统概论课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3167862
  • 上传时间:2022-07-27
  • 格式:PPT
  • 页数:74
  • 大小:341.51KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《嵌入式系统基础教程第18讲第9章嵌入式操作系统概论课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式 系统 基础教程 18 操作系统 概论 课件
    资源描述:

    1、嵌入式系统原理与开发嵌入式系统原理与开发第第18讲讲南京大学计算机系 俞建新主讲2008年春季2008年6月24日南京大学计算机系2第第9章章 嵌入式操作系统概论嵌入式操作系统概论l本章主要介绍以下内容:l实时系统l嵌入式操作系统的特点与分类lRTOS常用调度算法l启动代码Bootloaderl嵌入式操作系统uCOS-II2008年6月24日南京大学计算机系39.1 实时系统实时系统l什么是实时系统l一般而言具有实时性能的控制系统是实时系统。l实时表示一个非常短的时间间隔“time gap”(也可以认为表示时间框架“time frame”或者时间窗口“time window”),具有“立即”之

    2、含义。l当计算机进行实时处理时,要求在接收到数据的同时执行操作并输出计算结果,不能超出计算机系统所能容忍的时限。2008年6月24日南京大学计算机系4实时系统的定义实时系统的定义lIEEE(美国电气电子工程师协会)给出的实时系统定义是“那些正确性不仅取决于计算的逻辑结果,也取决于产生结果所花费的时间的系统”。这就是说,实时系统运算能力具有及时与正确的双重特征。l本教程给出的实时系统(Real-Time System)定义是:对外来事件能在限定的响应时间内做出预定质量处理的计算机系统。2008年6月24日南京大学计算机系5实时系统的主要特点实时系统的主要特点l及时响应外部发生的随机任务请求l在规

    3、定的时间内完成任务l任务执行的时间限制类型和类型间关系l截止时间(finish time)l任务执行预设时间(budget time)l一个任务的截止时间通常大于任务执行预设时间2008年6月24日南京大学计算机系6实时系统的关键因素实时系统的关键因素l计算机系统的实时性能主要由操作系统和运行在操作系统上的应用软件决定,对于无操作系统的计算机则由控制程序决定。l具有实时性能的操作系统称为实时操作系统(Real-Time Operating System,RTOS)2008年6月24日南京大学计算机系7实时系统与非实时系统的例子实时系统与非实时系统的例子l实时系统典型例子l民用飞机的导航系统l汽

    4、车的防刹车抱死系统(ABS)l非实时系统典型例子l银行数据查询处理系统l视频播放系统l图像扫描l文字识别系统2008年6月24日南京大学计算机系8提高实时性能的因素提高实时性能的因素l以下几种途径常常用来提高应用系统实时性能l尽量采用硬件处理l优化微处理器的中断机制l采用简单的单线程循环程序l采用基于实时操作系统的复杂多线程操作2008年6月24日南京大学计算机系9实时系统的属性和指标实时系统的属性和指标l实时系统的两个基本属性l可预测性和可靠性l实时系统的实时性能主要根据其RTOS的三个主要指标来衡量 l响应时间(response time)l吞吐量(throughput)l生存时间(sur

    5、vival time)2008年6月24日南京大学计算机系10响应时间响应时间l计算机从识别一个外部事件到做出响应的时间 lRTOS响应时间的具体指标是:l中断延迟时间(Interrupt Latency)l任务切换时间(Task Switching Latency)2008年6月24日南京大学计算机系11响应时间响应时间(续续)l两个时间指标的计算公式是:l中断延迟时间=TCloseINT+TDoISR+TSaveReg+TStartServiceTCloseINT:关中断的最长时间TDoISR:开始执行中断服务子程序的第一条指令的时间TSaveReg:保存CPU内部寄存器的时间TStart

    6、Service:内核进入中断服务函数的执行时间l任务切换时间:T to Do B Task Time T to Pause A Task TimeT to Do B Task Time :开始执行B任务的时刻T to Pause A Task:暂停执行A任务的时刻2008年6月24日南京大学计算机系12响应时间响应时间(续续)l任务的切换时间就是CPU从停止一个任务的执行切换到另一个任务所需时间lVxWorks是实时嵌入式系统,内核为Wind。l下表给出了eCos操作系统内核实时响应时间参考数据硬件测试环境中断延迟时间任务切换时间ARM7TDMI(20MHz)22.10 ms49.14 msS

    7、trongARM(221.2MHz)3.25 ms1.85 msIntel Xcale(600MHz)1.87 ms0.87 ms2008年6月24日南京大学计算机系13实时系统的分类实时系统的分类l根据响应性能分l硬实时系统系统未能在时限内就某一事件做出响应而失败,并且该失败被认为是一种全面的系统失败,则可以认为该系统是一个硬实时(hard real-time)系统。l软实时系统非硬实时的实时系统可以归类为软实时系统。在一个软实时(soft real-time)系统中,存在时限指标,但是如果输出响应超过时限,一般不会造成严重后果。2008年6月24日南京大学计算机系14硬实时系统和软实时系统

    8、时限效益硬实时系统和软实时系统时限效益l下面是两种实时系统的时限效益图2008年6月24日南京大学计算机系15实时系统的分类实时系统的分类(续续)l按照响应时间的快慢分类:l强实时系统:l其响应时间在毫秒级或微秒级l普通实时系统:l其响应时间一般几秒l弱实时系统:l其响应时间一般在数十秒2008年6月24日南京大学计算机系169.2 嵌入式操作系统的特点和分类嵌入式操作系统的特点和分类l操作系统可以最粗略地分为内核(kernel)、设备驱动与外壳(shell)三大部分。通俗地讲,内核是操作系统的核心模块,管理CPU的运行;而外壳是内核的外围模块,对用户发出的命令进行解释和处理。2008年6月2

    9、4日南京大学计算机系17嵌入式系统内核嵌入式系统内核l广义解释l指装入到存储器的嵌入式软件中的操作系统部分,在这种情况下,除了操作系统内核之外,嵌入式软件还包括板级支持包,驱动程序和应用软件 l狭义解释l指嵌入式操作系统中负责多任务管理及任务之间进行通信的多任务处理部分。它进行任务管理(进程管理),时钟管理,内存管理等 2008年6月24日南京大学计算机系18嵌入式操作系统的特点嵌入式操作系统的特点l可移植性l强调实时性能l内核精简,所占空间小l抢占式内核l使用可重入函数l可配置l可裁剪l高可靠性2008年6月24日南京大学计算机系19可移植性可移植性l硬件平台的多样性以及提高代码可重用性的双

    10、重条件,导致嵌入式操作系统研发机构力求做到嵌入式系统具有良好的可移植性。l考虑到移植性,嵌入式系统通常分为两部分l硬件相关部分包括班级支持包(BSP)或硬件抽象层(HAL)l硬件无关部分包括内核、中间件和API2008年6月24日南京大学计算机系20强调实时性能强调实时性能l传统观点l嵌入式操作系统应该具有强实时性能 l现代l由于手机和媒体播放器之类的软实时嵌入式产品日益普及,导致一些嵌入式操作系统降低了实时性能 l实时性能仍然被认为是评价嵌入式操作系统的最重要技术指标 2008年6月24日南京大学计算机系21内核精简:所占空间小内核精简:所占空间小l内核是操作系统中靠近硬件并且享有最高特权的

    11、一层。为了适应嵌入式计算机存储空间小的限制,嵌入式操作系统的内核都尽量小型化。2008年6月24日南京大学计算机系22典型的操作系统内核空间尺寸典型的操作系统内核空间尺寸VxWorks操作系统内核最小可裁减到8KBNucleus Plus内核在典型的CISC体系结构上占据大约20KB空间,而在典型的RISC体系结构上占据空间为40KB左右,其内核数据结构占据1.5KB空间QNX的内核大约占12KB国产Hopen操作系统的内核大约占10KBWinCE操作系统的内核大约占25KB2008年6月24日南京大学计算机系23抢占式内核抢占式内核l从内核调度基本特点分类,嵌入式操作系统内核分为抢占式内核(

    12、preemptive kernel)和不可抢占式内核(non-preemptive kernel)l抢占式内核的最大特点是最高优先级任务能够立即得到执行,从而能够保证系统具有高度实时性能。2008年6月24日南京大学计算机系24抢占式内核(续抢占式内核(续1)l不可抢占式内核l不可抢占式内核称为合作型多任务(进程)处理,要求每个任务在程序代码执行完毕后自我放弃CPU的所有权 l不可抢占式内核的最大缺陷在于响应时间。高优先级的任务已经进入就绪态,但还不能运行,直到当前运行的任务释放CPU为止。2008年6月24日南京大学计算机系25抢占式内核(续抢占式内核(续2)l抢占式内核的工作原理l最高优先

    13、级的任务就绪必然得到CPU的控制权。当一个运行着的任务使另一个比它优先级高的任务进入了就绪态,则当前任务的CPU控制权就会被抢占,那个高优先级的任务立刻获得CPU的控制权。l通常把最高优先级指派给实时要求最高的任务。且绝大多数嵌入式操作系统的内核采用抢占式调度策略2008年6月24日南京大学计算机系26使用可重入函数使用可重入函数l实时操作系统要求使用可重入函数 l什么是可重入函数?l如果一个函数的代码能够同时被多个任务并发地调用(分享),并且在调用该函数时这些任务之间不会产生数据干扰错误,那么这个函数就是可重入(reentrant)函数。2008年6月24日南京大学计算机系27意义和准则意义

    14、和准则l可重入函数的重要价值在于:任意时刻被中断后再继续运行不会丢失数据 l可重入函数中使用变量有两个准则l尽量使用局部变量,即把变量保存在CPU寄存器中或者栈区中l如果使用全局变量,则要对全局变量进行保护2008年6月24日南京大学计算机系28使用可重入函数(续使用可重入函数(续1)l不可重入函数的特征有l函数体内使用了静态的数据结构l函数体内调用了malloc()或者free()函数l函数体内调用了标准I/O函数l抢占式内核的函数必须是可重入的。在抢占式内核控制之下,如果有两个以上任务需要调用同一个不可可重入函数,则必须使之满足互斥条件。2008年6月24日南京大学计算机系29使用可重入函

    15、数(续使用可重入函数(续2)l为了保证编写的函数具有可重入性,其关键之处是应当做到以下几点:l使用本地数据。l不返回指向静态数据的指针,所有数据都由函数的调用者提供。l不为连续的调用持有静态数据。l通过制作全局数据的本地拷贝来保护全局数据。l不调用任何不可重入函数。2008年6月24日南京大学计算机系30可配置可配置l嵌入式操作系统必须具有良好的可配置功能,这也是嵌入式操作系统区别于通用操作系统的一个重要方面 l最典型的可配置型嵌入式操作系统是eCos,在内部设计了大量可以调节操作系统特性和性能的参数,并为配置这些参数设计了专门的配置工具2008年6月24日南京大学计算机系31可裁剪可裁剪l指

    16、编译之前对嵌入式操作系统功能部件进行增加和删除,可定制是可裁减的另外一种表达方式 l可以根据产品的资源限制和功能/性能需求对嵌入式操作系统的功能部件进行增删,将所有不必要的部件去除,同时把增强功能和提高性能的部件添加进去,最终编译成一个满足特定设计要求的最小尺寸的操作系统目标程序 2008年6月24日南京大学计算机系32高可靠性高可靠性l嵌入式系统往往在无人操作和值守的环境下运行,有的嵌入式系统运行时间长甚至是常年运行,因此对可靠性的要求就成为嵌入式操作系统的一个重要特点 lVxWorks、C/OS-II等,都已经经过了多年应用的考验,一般来说这些操作系统都是稳定和安全的,具有公认的高可靠性

    17、2008年6月24日南京大学计算机系33嵌入式操作系统分类嵌入式操作系统分类l按源代码分类l商用型和开源型l按实时性能分类l强实时型和普通实时型l按内核结构分类l单内核型和微内核型2008年6月24日南京大学计算机系34单内核单内核l单内核(monolithic kernel)是传统型操作系统内核,有时也被称为宏内核(macro kernel)l单内核内部包含I/O管理和设备管理、进程管理、调度器、内存管理、文件管理和时间管理等模块l各模块之间的耦合度很紧,模块之间的通信通过直接函数调用实现,而不是消息传递 2008年6月24日南京大学计算机系35单内核(续)单内核(续)l缺点l占内存空间大,

    18、缺乏可扩展性,维护困难,排除故障和增加新功能需要重编译 l优点l系统花在内核功能切换的开销非常小,对外来事件反应速度快 2008年6月24日南京大学计算机系36单内核单内核/微内核的内部结构图解微内核的内部结构图解单内核与微内核操作系统模块框架2008年6月24日南京大学计算机系37微内核微内核l基本思想是在内核模式中执行基本的核心操作系统功能,非基本的服务和应用构筑在微内核之上 l微内核用水平架构代替了传统的垂直分层架构 l设备驱动程序、文件系统、虚拟内存管理程序和窗口系统等以服务器进程方式工作。它们之间的相互作用变成了对等地通过微内核传递消息 2008年6月24日南京大学计算机系38微内核

    19、(续)微内核(续)l突出特点l内核小巧,通常微内核只有任务管理、虚存管理和进程间通信3个部分l接口一致,所有进程请求使用统一接口,进程不需要区分内核模式和用户模式服务l各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序l基于客户/服务器体系结构,在微内核结构的操作系统中,任务间通信机制消息机制是系统的基础l微内核功能扩充方便,但是各个功能之间的切换而引起的开销非常大。2008年6月24日南京大学计算机系399.3 RTOS常用的调度算法常用的调度算法l本节内容l基于优先级的调度算法l时钟驱动调度算法l基于比例共享的调度算法l非周期任务的调度l优先级反转和对策200

    20、8年6月24日南京大学计算机系40基于优先级的调度算法基于优先级的调度算法l大多数实时系统采用该算法l该算法给每个任务分配一个优先级,在每次任务调度时,总是执行最高优先级的任务。l优先级驱动算法是事件驱动算法l在基于该算法调度的内核中,保存就绪任务队列的数据结构有几种,可以是位图,也可以是表格l根据不同的优先级指派方法,该调度算法可以分为静态实时调度和动态实时调度两种类型 2008年6月24日南京大学计算机系41静态实时调度静态实时调度l在系统编译的时候就做出决定从就绪任务队列中选择哪个任务来运行 l假设系统中实时任务特性是事先知道l可以完全脱机的进行可调度性分析 l两种静态实时调度算法lRM

    21、S算法 和 DMS 算法2008年6月24日南京大学计算机系42RMS算法算法l全称速率单调调度(Rate Monotonic Scheduling),它是由Liu和Layand在1973年提出来的静态多任务调度算法,适用于那些响应和处理周期性事件的实时任务 l基本原理是任务的速率与其周期成反比 2008年6月24日南京大学计算机系43RMS算法(续)算法(续)lRMS算法基于嵌入式系统做出了如下5个模型假设l所有的任务请求都是周期性的,必须在限定的时限内完成;l任务之间都是独立的,每个任务的请求不依赖于其他任务请求的开始或完成;l每个任务的运行时间是不变的(不考虑中断情况);l所有的非周期性

    22、任务都在特殊的情况下运行l抢占式调度,单处理器,任务切换的时间忽略不计。2008年6月24日南京大学计算机系44RMS算法(续算法(续1)lRMS模型l设S=S1,S2,S3,.Sn为一个含有n个周期性任务的集合,S集合中的任务用Si=Ti,Ci,Di,Pi,Ui(i=1,2,3,.n)来表示。其中:Ti表示任务的发生周期,Ci表示任务的最长执行时间,Di表示任务的相对截止时间,Pi表示任务在S中的优先级(优先级数值越小,优先权越高),Ui表示任务的CPU利用率 l整个任务集S的CPU利用率为:Un=iniiTC/12008年6月24日南京大学计算机系45RMS算法(续算法(续2)RMS算法的

    23、任务优先级 2008年6月24日南京大学计算机系46DMS算法算法l全称是截止时间单调调度(Deadline Monotonic Scheduling)l DMS是在速率单调调度的基础上发展起来的。不同的是任务Si的优先级按相对截止时间Di来分配。l相对截止时间短的任务优先级高,相对截止时间长的任务优先级低 2008年6月24日南京大学计算机系47动态实时调度动态实时调度l指调度器在运行期间才决定选择哪个就绪任务来运行 l主要算法l最早截止时间优先(EDF,Earliest Deadline First)l最小空闲时间优先(LSF,Least Slack Time First)等 2008年6

    24、月24日南京大学计算机系48最早截止时间优先算法最早截止时间优先算法l1973年由Liu和Layland首先提出来的 l是一个动态优先级驱动的调度算法,其中分配给每个任务的优先级根据它们当前对截止时限的要求而定 l离截止时限最短时间的就绪任务分配最高的优先级,而离截止时限最长时间的任务被分配最低优先级。2008年6月24日南京大学计算机系49最早截止时间优先(续)最早截止时间优先(续)l抢占式EDF调度算法基于如下的假设 l所有实时任务的启动时间为零;l所有的任务都是无关的,不存在先后次序的约束;l任何任务不存在不可抢占的代码段,且抢占的代价可以忽略;l只有处理器请求是有意义的,内存、I/O和

    25、其它资源请求可以忽略;l任务的相对最终完成时限与它的周期相等 2008年6月24日南京大学计算机系50最小空闲时间优先最小空闲时间优先 l是对经典的动态优先级算法EDF的改进l提出了空闲时间(也就是时间裕度)的概念,进程的优先级由空闲时间大小决定 lLSF算法的缺点:由于等待任务的空闲时间是递减的,其等待执行的缓急程度也随时间逝去越来越紧迫,因此在系统执行过程中,等待任务随时可能会抢占当前执行的任务 2008年6月24日南京大学计算机系51静态的与动态的基于优先级调度算静态的与动态的基于优先级调度算法比较法比较 l静态调度算法适合于任务时间要素比较明确场合 l静态调度算法不适合用于任务时限未明

    26、确场合l动态调度算法需要不断地调整任务的优先级别,以适应任务时限变化的执行环境 l一般而言,动态优先级调度算法对资源的利用率高于静态优先级调度算法2008年6月24日南京大学计算机系52时钟驱动调度算法时钟驱动调度算法l该算法是系统调度程序通过时钟驱动,在事先确定的某些时刻做出调度决策l作业的调度表可以脱机计算并保存下来 l运行时的调度开销可被最小化 l调度时刻通常由一个硬件定时器的时钟中断产生 l采用该算法的嵌入式操作系统可以是实时的,也可以是分时的2008年6月24日南京大学计算机系53基于比例共享的调度算法基于比例共享的调度算法l基本思想就是按照一定的权重(比例)对一组需要调度的任务进行

    27、调度,让它们的执行时间与它们的权重完全成正比 l通过两种方法来实现比例共享调度算 l第一种方法是调节各个就绪进程出现在调度队列队首的频率,并调度队首的进程执行 l第二种做法就是逐次调度就绪队列中的各个进程投入运行,但根据分配的权重调节分配给每个进程的运行时间片 2008年6月24日南京大学计算机系54非周期任务的调度非周期任务的调度l非周期任务被实时系统用来响应外部触发事件,非周期任务完成的时间越快,系统的响应性能越好 l实时系统设计重要目标之一是提高混合任务集的响应性能,也就是说除了保证周期任务得到正确执行外,还应该减小非周期任务的响应时间 l非周期任务的调度三种方法:后台处理、中断驱动执行

    28、和周期查询执行。2008年6月24日南京大学计算机系55临界资源和代码临界区临界资源和代码临界区l临界资源指在一段时间只允许一个进程访问的资源。l硬件临界资源和软件临界资源之分l代码临界区指处理时不可分割的代码l进入临界区时必须关中断l执行完临界区代码之后要立即开中断2008年6月24日南京大学计算机系56优先级反转和对策优先级反转和对策l优先级翻转现象l由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统的崩溃。l解决该问题的方法l优先级封顶协议l优先级继承协议2008年6月24日南京大学计算机系579.4 启动程序启动程序Bo

    29、otloaderl本节讲授以下内容本节讲授以下内容l嵌入式系统的启动方式lBootloader的程序结构与调试lBootloader人机交互接口设计l常用Bootloader介绍2008年6月24日南京大学计算机系58启动程序启动程序Bootloaderl属于嵌入式软件最底层的部分。l从软件角度(分两部分)l固件(fireware)中的引导代码(可选)lBootloader2008年6月24日南京大学计算机系59嵌入式系统的启动方式嵌入式系统的启动方式l整个系统的加载启动任务就完全由Bootloader完成。l是嵌入式系统加电后运行的第一段软件代码,先于内核以及用户应用程序运行。lBootlo

    30、ader初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境设定在一个正确的状态,以便接下来加载操作系统内核、运行用户应用程序。2008年6月24日南京大学计算机系60Bootloader系统架构用例分析系统架构用例分析参数设置(from Use Case View)内存管理(from Use Case View)TFTP下载(from Use Case View)Flash烧写(from Use Case View)下载模式(from Use Case View)开发者硬件初始化(from Use Case View)参数配置(from Use Case View)用户正常启动加载(

    31、from Use Case View)RARP/TFTP启动加载(from Use Case View)BOOTP/TFTP启动加载(from Use Case View)启动加载模式(from Use Case View)2008年6月24日南京大学计算机系61Bootloader的安装的安装l对于每一个嵌入式硬件电路板,需要开发人员单独编写该电路板所使用的Bootloader代码 l安装l统加电或复位后,所有的微处理器通常都从某个由CPU制造商预先安排的地址上取指令。通常基于微处理器构建的嵌入式系统都有某种类型的固态存储设备被映射到这个预先安排的地址上。而Bootloader则从这个地址开

    32、始固化到固态存储设备中l例如,基于ARM7TDMI核的微处理器在复位时都从地址0 x00000000取得它的第一条指令。2008年6月24日南京大学计算机系62Bootloader的操作方式的操作方式l两种操作模式l启动加载模式和下载模式l启动加载模式(boot loading)l也称自主(Autonomous)模式,是指Bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入l是Bootloader的正常工作模式,在嵌入式产品完工交付时或者实际使用时,必须使得Bootloader工作在这种模式下 2008年6月24日南京大学计算机系63Boot

    33、loader的操作方式(续的操作方式(续1)l下载模式(downloading)l目标板上的Bootloader将先通过串口连接或网络连接等通信手段从主机下载文件 lBootloader 的这种模式通常在开发过程中以及第一次安装内核与根文件系统时被使用,此外,以后的系统更新也会用到Bootloader的这种工作模式 l这种模式下的Bootloader通常都会向它的终端用户提供一个简单的命令行接口 2008年6月24日南京大学计算机系64Bootloader通信接口及协议通信接口及协议l两种通信方式l串口通信常用的串口协议:XMODEM,YMODEM和ZMODEMl以太网通信常用协议:TFTP2

    34、008年6月24日南京大学计算机系65Bootloader的程序结构与调试的程序结构与调试lBootloader的实现依赖于CPU的体系结构,故大多数Bootloader都分为stage1和stage2两大部分 l stage1的主要操作 l基本的硬件初始化 l为加载stage2准备RAM空间l拷贝stage2的执行代码到RAM中l设置栈区指针SPl跳转到stage2的入口点2008年6月24日南京大学计算机系66Bootloader的程序结构与调试(续)的程序结构与调试(续)lstage2的主要操作l初始化本阶段要使用的硬件设备l检测系统的内存映射lBootloader的调试l交叉调试技术l

    35、可分为硬件调试和源码软件调试2008年6月24日南京大学计算机系67Bootloader人机交互接口设计人机交互接口设计l通过串口实现。用户使用超级终端或minicom与目标板通信lU-Boot是目前广泛使用的一个通用引导加载程序 2008年6月24日南京大学计算机系68常用常用Booloader介绍介绍lU-BootlU-Boot全称Universal Bootloader,是德国DENX软件公司开发的,用于多种嵌入式CPU的Bootloader程序 lU-Boot不仅支持嵌入式Linux系统的引导,还能支持NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxO、Windo

    36、ws CE、QNX等嵌入式操作系统的引导 2008年6月24日南京大学计算机系69常用常用Booloader介绍(续介绍(续1)lRedbootlRedBoot,是基于eCos实时操作系统硬件抽象层实现的一个嵌入式系统的引导程序 l支持的处理器也很多,包括PowerPC、MIPS、x86、ARM等,支持的操作系统主要有eCos和Linux lRedBoot支持串口和网口下载嵌入式应用程序,包括嵌入式Linux和eCos的应用 2008年6月24日南京大学计算机系70常用常用Booloader介绍(续介绍(续2)lARMbootlARMboot是针对ARM处理器编写的开源固件套件lARMboot

    37、支持的处理器构架有StrongARM,ARM720T,PXA250等 lARMboot是GPL下的ARM固件项目中为数不多的多种功能嵌入式操作系统引导加载程序。它能够支持闪存,BOOTP、DHCP、TFTP网络下载,PCMCLA的CF卡引导等 2008年6月24日南京大学计算机系71第第18讲重点讲重点l实时系统的定义、特点和分类l嵌入式操作系统特点和分类l术语内核的内涵与外延l抢占式内核l微内核lRTOS常用调度算法lRMS算法lDMS算法l启动程序Bootloaderl两种Bootloader类型lBootloader程序结构l常用的Bootloader介绍2008年6月24日南京大学计算

    38、机系72第第18讲复习题思考题讲复习题思考题l请列举出在你周围的典型实时系统,并说明它们的系统结构和特点。l试分析教材第315页图9-2的非抢占式内核和抢占式内核的操作时序区别。l中断服务子程序的执行对抢占式内核的任务调度有何影响?l如何理解嵌入式操作系统的可配置性和可裁减性?它们是同一个术语吗?试比较它们的共同点和不同点。l考察一些知名的嵌入式操作系统,试说明它们是属于单内核还是微内核,判断的依据又是什么?l如果在嵌入式开发过程中遇到优先级反转问题,你认为应该如何处理2008年6月24日南京大学计算机系73第第18讲复习题思考题(续)讲复习题思考题(续)l试阅读S3C44B0X实验平台上不含

    39、操作系统的Bootloader源代码,在理解的基础上绘制该启动代码的流程图。试阅读S3C44B0X实验平台上基于C/OS-II操作系统的Bootloader源代码,在理解的基础上绘制该启动代码的流程图。比较这两种Bootloader的不同之处。l试列出你所知道的常用的Bootloader,并且比较它们的特点和适用范围。l针对图9-10的火星探路者优先级反转案例,试编写一个基于C/OS-II操作系统的实验程序,该实验程序能够反映这种优先级反转的时序特点,而后考虑如何采取措施避免发生这种错误操作。2008年6月24日南京大学计算机系74第第19讲结束讲结束l谢谢大家!l欢迎各位读者提出宝贵的意见和建议!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:嵌入式系统基础教程第18讲第9章嵌入式操作系统概论课件.ppt
    链接地址:https://www.163wenku.com/p-3167862.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库