您好,欢迎访问三七文档
•嵌入式系统简介•嵌入式系统的组成•嵌入式系统开发流程第9章嵌入式系统概述•广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和DSP系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件和软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现•从狭义上讲,那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的专用软硬件系统称为嵌入式系统。9.1嵌入式系统简介嵌入式系统的几个重要特征1.系统内核小:由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。2.专用性强:嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。3.系统精简:嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。4.高实时性OS:这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。5.嵌入式软件开发走向标准化:嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-TimeOperatingSystem)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。6.嵌入式系统需要开发工具和环境:由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。9.2嵌入式系统的组成•嵌入式系统由嵌入式硬件与嵌入式软件组成。•嵌入式硬件以芯片、模板、组件、控制器形式埋藏于设备内部。•嵌入式软件是实时多任务操作系统和各种专用软件,一般固化在ROM或闪存中。•嵌入式系统软硬兼施,融为一体,成为产品,但在开发过程中需要一些开发工具进行辅助开发。嵌入式系统的整体架构嵌入式微处理器SDRAMROMI/OA/DD/A人机交互接口通用接口实时操作系统(RTOS)图形用户接口BSP/HAL硬件抽象层/板极支持包任务管理文件系统应用程序嵌入式计算机系统硬件层软件层中间层功能层嵌入式微处理器•对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。•具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。嵌入式微处理器•可扩展的处理器结构,能迅速地开发出满足应用需求的产品。•嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。嵌入式微处理器分类嵌入式处理器嵌入式微控制器(MCU)嵌入式DSP处理器(DSP)嵌入式微处理器(MPU)嵌入式片上可编程系统(SOPC)•嵌入式系统硬件核心是嵌入式处理器。•嵌入式处理器可以分为四类:嵌入式微处理器EMPU(EmbeddedMicroprocessorUnit)嵌入式微控制器EMCU(EmbeddedMicrocontrollerUnit)嵌入式数字信号处理器EDSP(EmbeddedDigitalSignalProcessor)嵌入式片上系统ESoC(EmbeddedSystemonChip)嵌入式系统硬件核心嵌入式微处理器EMPU•嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。•嵌入式微处理器制造商:摩托罗拉、英特尔、IBM、日立、NEC、东芝、AMD、国家半导体、Zilog、IDT、富士通、Atmel、太阳、微系统、夏普、Oki、飞利浦等。•主要的嵌入式微处理器包括:MotorolaPowerPC、IntelPentium、Motorola68000、strongARM、MIPS、AMDX86系列等等。•嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设接口封装在同一片集成电路里。•嵌入式微控制器制造商:摩托罗拉、英特尔、英飞凌科技、Atmel、日立、NEC、三菱、东芝、松下、Microchip、富士、飞利浦、德州仪器、三星、三洋、索尼、Oki、凌阳科技等。•主要的嵌入式微控制器包括:MCS-51、MCS-251、MCS-96/196/296、P51XA、C166/167、68K、Z8、C540、PIC、AVR等系列。嵌入式微控制器EMCU•嵌入式DSP专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理等领域应用广泛。•DSP正在大量进入嵌入式市场,目前广泛应用的是TI产品TMS320C2000/C5000系列,另外Intel和Siemens也有相应的产品。嵌入式数字信号处理器EDSP•ESoC:在一个硅片上实现一个更为复杂的系统。•各种通用处理器内核将作为SoC设计公司的标准库,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述。•用户只需定义出整个应用系统,仿真通过后,就可以将设计图交给半导体工厂制作样品。•这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。嵌入式片上系统ESoC•嵌入式系统软件核心包括:系统软件:嵌入式操作系统支撑软件:嵌入式软件开发平台及工具应用软件:嵌入式应用软件嵌入式系统软件核心•1.软件要求固态化存储为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮在磁盘中。•2.软件代码高质量、高可靠性尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。嵌入式系统软件的特征•3.操作系统软件具有高实时性在多任务嵌入式系统中,对各项任务进行统筹兼顾、合理调度是保证系统功能的关键,单纯提高处理器的速度是无法完成这些要求的,也是没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此操作系统软件的高实时性是基本要求。•4嵌入式系统应用语言:据统计,在嵌入式系统设计中,最受欢迎的前3种编程语言分别是C(74.6%)、汇编(69.6%)和C++(50.1%)。嵌入式系统软件的特征•通用计算机具有完善的操作系统,应用程序的开发以及完成后的软件都在OS平台上面运行,但一般不是实时的。•嵌入式系统则不同,应用程序用汇编语言和C语言来开发,可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。嵌入式实时操作系统•一般来说,操作系统内核只提供基本的功能,如建立和管理进程、管理设备等。但是,一些桌面操作系统,如Windows等,将许多功能引入内核,操作系统的内核变得越来越大。内核变大使得占用的资源增多,剪裁起来很麻烦。•嵌入式操作系统采用微内核结构,内核只提供基本的功能,比如:任务的调度、任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,比如网络功能、文件系统等均工作在用户态,以系统进程或函数调用的方式工作。因而系统都是可裁减的,用户可以根据自己的需要选用相应的组件。嵌入式实时操作系统特点1.微内核结构•任务的调度有三种方式:可抢占式调度、不可抢占式调度和时间片轮转调度。•不可抢占式调度:一个任务一旦获得CPU就独占CPU运行,除非由于某种原因,它决定放弃CPU的使用权;•可抢占式调度:基于任务优先级,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其它任务;•时间片轮转调度:当两个或两个以上任务有同样的优先级,不同任务轮转地使用CPU,直到系统分配的CPU时间片用完。•目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。嵌入式实时操作系统特点2.任务调度•多数嵌入式系统对时间的要求较高,称之为实时系统。•有两种类型的实时系统:硬实时系统和软实时系统。•软实时系统并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;•硬实时系统对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。嵌入式实时操作系统特点3.硬实时和软实时•一些桌面操作系统使用了虚拟存储器的概念。采用段式管理、页式管理、或段页式管理。•但是,大多数嵌入式系统不使用虚存技术,对内存的访问是直接的,使用物理地址;而且,大多数嵌入式操作系统对内存空间没有保护,各个进程共享同一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储器。•由此可见,嵌入式系统的开发人员必须参与系统的内存管理,对软件中的一些内存操作必须格外小心。嵌入式实时操作系统特点4.内存管理•嵌入式操作系统内核可以在Flash上直接运行,也可以加载到内存中运行。•Flash的运行方式,是把内核的可执行映像烧写到Flash上,系统启动时从Flash的某个地址开始执行。这种方法实际上是很多嵌入式系统所采用的方法。•内核加载方式是把内核的压缩文件存放在Flash上,系统启动时读取压缩文件在内存里解压,然后开始执行。这种方式相对复杂一些,但是运行速度可能更快,因为RAM的存取速率要比Flash高。嵌入式实时操作系统特点5.内核加载方式常见的实时操作系统国内RTOS:•女娲Hopen•桑夏2000•DeltaOS•中软Linux2.0•LinuxHardHat•Linux(MontaVista)•RedFlagLinux(红旗Linux)•HBOS(“天堂之鸟”)•Suse•RedHat•Embedix•LynxOS(LynuxWorks)常见的实时操作系统国外RTOS:•VXWorks(风河系统)•WindowsCE(微软)•VRTX(明导资讯)•Palm•PowerTV•AMX(KADAK)•CExecutive•PSX(JMI)•VelOSity(GreenHills)•OS-9(MicrowareSystems)•OSE(EneaOSESystems)•QNX(QNXSoftwareSys)•RTXC(Lineo/EmbeddedPowerCorp)•SuperTask!(USSoftware)•ThreadX(ExpressLogic)•TNT/RTX(VenturCom)•WindowsNTEmbedded/XP(微软)嵌入式系统开发工具•编译器:GNU编译器•调试工具:GNU调试工具•集成开发环境(IDE)•绘图入门工具•算法开发工具:UML/SDL工具库•网络/通信协议•配置管理工具•需求管理工具•DSP开发工具•器件驱动器开发工具•软硬件协同验证工具•Java工具•存储器分析工具•软件仿真/建模工具•WinCE工具•测试软件事件跟踪工具•内电路仿真器(ICE)•ROM仿真器•JTAG仿真器•逻辑分析器•示波器9.3嵌入式系统开发流程1嵌入
本文标题:嵌入式系统开发流程
链接地址:https://www.777doc.com/doc-6008712 .html