资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1第一讲嵌入式系统的基本概念嵌入式系统的几个重要特征(1)系统内核小由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。()专用性强嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。()系统精简嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。()高实时性 OS这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。(5)嵌入式软件开发走向标准化嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配 RTOS(RealTime Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。(6)嵌入式系统开发需要开发工具和环境这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。嵌入式系统与 PC 之间的区别*嵌入式系统一般是专用系统,而 PC 是通用计算平台*嵌入式系统的资源比 PC 少得多 *嵌入式系统软件故障带来的后果比 PC 机大得多*嵌入式系统一般采用实时操作系统 *嵌入式系统大都有成本、功耗的要求*嵌入式系统得到多种微处理体系的支持 *嵌入式系统需要专用的开发工具2嵌入式系统一般指非 PC 系统,它包括硬件和软件两部分。硬件包括处理器微处理器、存储器及外设器件和 IO 端口、图形控制器等。软件部分包括操作系统软件(OS) (要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下 4 个特点1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有 mW 甚至 W 级。嵌入式处理器嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。位、位单片机,16 位、32 位、64 位嵌入式 CPU。实时操作系统实时操作系统是嵌入式系统目前最主要的组成部分。实时性需要调度一切可利用的资源完成实时控制任务。系统响应时间(System response time):系统发出处理要求,到系统给出应答信号的时间。任务切换时间(Context-switching time):任务之间切换而使用的时间。中断延迟(Interrupt latency):计算机接收到中断信号到操作系统作出响应,并完成切换转入中断服务程序的时间。硬件基础冯诺依曼体系结构指令的执行周期 T取指令(Instruction Fetch):TF 2)指令译码(Instruction Decode):TD 3)执行指令(Instruction Execute):TE 4)存储(Storage):TS 每条指令的执行周期:T= TF+TD+TE+TS3冯诺依曼体系的特点1)数据与指令都存储在存储器中 2)被大多数计算机所采用3)ARM7冯诺依曼体系哈佛体系结构哈佛体系结构的特点1)程序存储器与数据存储器分开 2)提供了较大的数存储器带宽 3)适合于数字信号处理4)大多数 DSP 都是哈佛结构 5)ARM9 是哈佛结构CISC 和 RISCCISC:复杂指令集(Complex Instruction Set Computer)具有大量的指令和寻址方式8/2 原则:80% 的程序只使用 20%的指令大多数程序只使用少量的指令就能够运行。RISC:精简指令集(Reduced Instruction Set Computer)在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使 CPU 硬件结构设计变得更为简单CISC 与 RISC 的数据通道影响 CPU 性能的因素 :流水线技术、超标量执行、高速缓存流水线技术:几个指令可以并行执行提高了 CPU 的运行效率内部信息流要求通畅流动超标量执行:超标量 CPU 采用多条流水线结构高速缓存(CACHE)1、为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。4总线和总线桥存储器系统RAM:随机存取存储器,SRAM :静态随机存储器,DRAM:动态随机存储器1)RAM 比 DRAM 快 2)SRAM 比 DRAM 耗电多3)DRAM 存储密度比 SRAM 高得多 4)DRM 需要周期性刷新ROM:只读存储器 FLASH:闪存1)SRAM 2)DRAM输入输出接口1)I/O2)A/D、D/A3)键盘 4)LCD5)存储器接口 6)设备接口嵌入式操作系统1 操作系统的分类顺序执行系统:系统内只含有一个程序,独占 CPU 的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如 DOS 操作系统。分时操作系统:系统内同时可以有多个程序运行,把 CPU 的时间分按顺序分成若干片,每个时间片内执行不同的程序。如 UNIX实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有 CPU 的控制权。按实时性分类具有强实时特点的嵌入式操作系统具有弱实特点的嵌入式操作系统没有实时特点的嵌入式操作系统1.强实时系统,其系统响应时间在毫秒或微秒级(数控机床) ;2.一航实时系统,其系统响应时间在毫秒几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询) 。53.弱实时系统,其系统响应时间约为数十秒或更长(工程机械) 。按软件结构分类(1).循环轮询系统:(Polling Loop)最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。Initialize()While(true)if(condition_1) action_1();if(condition_2) action_2();if(condition_n) acition_n();(2).事件驱动系统:(Event-Driven system )事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background) 。中断服务程序处理异步事件,这部分可以看成前台行为( foreground)。后台也可以叫做任务级,前台也叫中断级。例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。前后台系统(后台循环、前台中断)2 嵌入式实时操作系统实时操作系统的特点:1、多任务 休眠、就绪、运行、挂起、被中断一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套 CPU 寄存器和自己的栈空间。多任务运行的实现实际上是靠 CPU(中央处理单元)在许多任务之间转换、调度。CPU 只有一个,轮番服务于一系列任务中的某一个。多任务运行使 CPU 的利用率得到最大的发挥,并使应用程序模块化。在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化综合实验(时钟、位图、USB、KEY) 。2 任务的事件驱动3、中断与中断优先级4、同步与异步一系列时间相关事件称为同步事件,驱动的任务为同步任务随机发生的事件称为异步事件,驱动的任务为异步任务,如中断5、资源与临界资源程序进行时可使用的软硬件环境称为资源,2个以上任务可同时访问的共享资源称为临界资源。任何任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器,资源也可以是一个变量、一个结构或一个数组等。6、容错与安全容错:当系统软、硬件发生故障时,系统仍能正常运转,完成预定的任务或某些重要的不允许间断的任务。包括系统自论断、自恢复、自动切换等功能。安全性:是指系统对自身文件和用户文件的存取合法性的控制。如口令、加密。实时系统的评价指标实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)到分级(如联机查询系统) 。6在实时系统中主要有三个指标来衡量系统的实时性,即响应时间(Response Time) 、生存时间(Survival Time ) 、吞吐量( Throughput) 。*响应时间(Response Time ):是计算机识别一个外部事件到作出响应的时间,在控制应用中它是最重要的指标,如果事件不能及时的处理,系统可能就会崩溃。*生存时间(Survival Time ):是数据有效等待时间,在这段时间里数据是有效的。*吞吐量(Throughput):是在一给定时间内(秒) ,系统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来表示吞吐量,吞吐量是平均响应时间的倒数。系统内核多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加ROM用量,内核本身的数据结构增加了RAM的用量。内核本身对CPU的占用时间一般在2到5个百分点之间。调度这是操作系统的主要职责之一,它决定该轮到哪个任务运行了。往往调度是基于优先级的,根据其重要不同被赋予任务不同的优先级。CPU总是让处在就绪态的优先级最高的任务先运行。何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。任务优先级每个任务都有其优先级(priority) ,静态优先级和动态优先级。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。应用程序执行过程中,如果任务的优先级是可变的,则称之为动态优先级.非占先式与占先式非占先式(non-preemptive)非占先式调度法也称作合作型多任务(cooperative multitasking) ,各个任务彼此合作共享一个CPU 。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到改任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU 的使用权。非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号