(第1章 嵌入式系统概述) 第3节解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

COMPUTERSCIENCEANDTECHNOLOGY•嵌入式操作系统就是支持嵌入式系统工作的OS,最主要的特点是实时性。•所谓实时系统是指一个优先级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其他服务,而且在获得CPU使用权后,可以不间断地执行到任务完毕除非有更高级地任务出现。•系统的正确性不仅取决与执行结果的正确性,更取决于产生结果的时间。•实时系统(解释)是指“一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统”。嵌入式实时操作系统COMPUTERSCIENCEANDTECHNOLOGY•一般来说,操作系统内核只提供基本的功能,如建立和管理进程、管理设备等。但是,一些桌面操作系统,如Windows等,将许多功能引入内核,操作系统的内核变得越来越大。内核变大使得占用的资源增多,剪裁起来很麻烦。•嵌入式操作系统采用微内核结构,内核只提供基本的功能,比如:任务的调度、任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,比如网络功能、文件系统等均工作在用户态,以系统进程或函数调用的方式工作。因而系统都是可裁减的,用户可以根据自己的需要选用相应的组件。嵌入式实时操作系统特点1.微内核结构COMPUTERSCIENCEANDTECHNOLOGY•任务的调度有三种方式:可抢占式调度、不可抢占式调度和时间片轮转调度。•不可抢占式调度:一个任务一旦获得CPU就独占CPU运行,除非由于某种原因,它决定放弃CPU的使用权;•可抢占式调度:基于任务优先级,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其它任务;•时间片轮转调度:当两个或两个以上任务有同样的优先级,不同任务轮转地使用CPU,直到系统分配的CPU时间片用完。•目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。嵌入式实时操作系统特点2.任务调度COMPUTERSCIENCEANDTECHNOLOGY•多数嵌入式系统对时间的要求较高,称之为实时系统。•有两种类型的实时系统:硬实时系统和软实时系统。•软实时系统(尽快)并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;•硬实时系统(规定时间内)对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。嵌入式实时操作系统特点3.硬实时和软实时COMPUTERSCIENCEANDTECHNOLOGY•一些桌面操作系统使用了虚拟存储器的概念。采用段式管理、页式管理、或段页式管理。这种存储管理方式占用了较多的系统资源。•但是,大多数嵌入式系统不使用虚存技术,对内存的访问是直接的,使用物理地址;而且,大多数嵌入式操作系统对内存空间没有保护,各个进程共享同一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储器。•由此可见,嵌入式系统的开发人员必须参与系统的内存管理,对软件中的一些内存操作必须格外小心。嵌入式实时操作系统特点4.内存管理COMPUTERSCIENCEANDTECHNOLOGY•嵌入式操作系统内核可以在Flash上直接运行,也可以加载到内存中运行。•Flash的运行方式,是把内核的可执行映像烧写到Flash上,系统启动时从Flash的某个地址开始执行。这种方法实际上是很多嵌入式系统所采用的方法。•内核加载方式是把内核的压缩文件存放在Flash上,系统启动时读取压缩文件在内存里解压,然后开始执行。这种方式相对复杂一些,但是运行速度可能更快,因为RAM的存取速率要比Flash高。嵌入式实时操作系统特点5.内核加载方式COMPUTERSCIENCEANDTECHNOLOGY启动程序BootLoader•PC机中,完成初始化处理器、硬件初始化等操作的是BIOS。•对于嵌入式系统,处于经济性、价格方面考虑,一般不配置BIOS,须自行编写程序完成相应的功能。即BootLoader程序。•系统加电复位后,从复位地址上执行指令,通常映射到这个指令的是固态存储器(ROM,flash)。•主要包括初始化硬件设备、建立内存空间映射图、启动操作系统、启动内存管理、任务管理、加载驱动程序等,最后执行应用程序或等待用户命令。•BootLoader依赖于系统的软硬件环境,因此建立一个通用的,标准的BootLoader比较困难。COMPUTERSCIENCEANDTECHNOLOGY常见的实时操作系统国内RTOS:•女娲Hopen•桑夏2000•DeltaOS•中软Linux2.0•LinuxHardHat•Linux(MontaVista)•RedFlagLinux(红旗Linux)•HBOS(“天堂之鸟”)•Suse•RedHat•EmbedixLynxOS(LynuxWorks)COMPUTERSCIENCEANDTECHNOLOGY常见的实时操作系统国外RTOS:•VXWorks(风河系统)•WindowsCE(微软)•pSOSystem(风河系统)•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(微软)COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统的分类•小规模嵌入式系统:由8位或16位为控制器为核心,软件设计以“C”语言为主。自动售货机,洗衣机,智能玩具,键盘控制器,鼠标,CD驱动器,传真机,打印机,复印机等。•中等规模嵌入式系统:由16位、32位、DSP、RISC计算机构成,软件构成上经常使用操作系统。路由器,音响系统,银行ATM,SIM卡,移动电话,PDA。•复杂嵌入式系统:硬软件较复杂,硬件上使用大规模处理器或可编程逻辑阵列,采用软硬件协同设计方法,软件上经常使用加密解密算法,离散傅立叶变换及逆变换算法,TCP/IP协议栈等。无线网络产品,实时多媒体处理系统,高速网络系统,计算机安全产品等。COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统开发技术•计算机体系结构•数字电路设计及模拟电子技术•数据通信•控制工程•传感器以及测试技术•软件工程•汇编语言程序设计•C语言程序设计•RTOS编程技术COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统开发工具•编译器:GNU编译器•调试工具:GNU调试工具•集成开发环境(IDE)•绘图入门工具•算法开发工具:UML/SDL工具库•网络/通信协议•配置管理工具•需求管理工具•DSP开发工具•器件驱动器开发工具•软硬件协同验证工具•Java工具•存储器分析工具•软件仿真/建模工具•WinCE工具•测试软件事件跟踪工具•内电路仿真器(ICE)•ROM仿真器•JTAG仿真器•逻辑分析器•示波器COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统设计——设计目标•执行效果——运行速度,执行时间、使用效果•功能性和用户接口•生产成本•能耗•其他需求(物理尺寸、重量等)•环境与EMCCOMPUTERSCIENCEANDTECHNOLOGY嵌入式系统设计—系统设计一般流程系统结构设计系统需求分析模具结构设计硬件构件设计软件构件设计系统集成系统测试产品规格说明书COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统——软硬件协同设计系统说明文档高层算法模型软硬件划分和任务分配划分模型高度模型通信模型软硬件接口定义硬件设计要求行为模型划分RTL综合软件设计要求用例分析结构设计子系统设计用例设计范例设计软硬件协同仿真验证创建仿真模型,分析与确认COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统设计系统结构设计COMPUTERSCIENCEANDTECHNOLOGY硬件构件设计流程硬件构件功能设计硬件构件详细设计硬件构件制作硬件构件单元测试硬件构件联合测试COMPUTERSCIENCEANDTECHNOLOGY软件构件设计流程软件构件概要设计软件构件详细设计软件构件编码实现软件构件单元测试多软件构件组合测试COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统设计流程•1.系统需求分析确定设计任务和设计目标,提练设计规格说明书,作为设计指导和验收的标准。系统需求一般包括功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能性需求包括系统性能、成本、功耗、体积、重量等因素。•2.体系结构设计描述系统如何实现所述的功能性和非功能性需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统设计流程•3.硬件/软件设计(硬件、软件、执行装置并行设计)基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。嵌入式系统设计的大部分工作集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。•4.系统集成把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统设计流程•5.系统测试对设计好的系统进行测试,检查是否满足规格说明书中给定的功能要求。•针对系统的不同复杂程度,有不同的系统设计方法,比如瀑布设计方法、自顶向下的设计方法、自下向上的设计方法、螺旋设计方法、逐步细化设计方法、并行设计方法等。可根据实际情况和熟悉程度灵活选用。COMPUTERSCIENCEANDTECHNOLOGY验收阶段提交的文档样例•技术文件目录•技术任务书•技术方案报告•产品标准(草案)•技术条件•可靠性技术设计•技术设计说明书•试产总结•测试报告COMPUTERSCIENCEANDTECHNOLOGY硬件/软件开发工具主要商家•1.实时在线仿真系统ICE(In-CircuitEmulator)()•2.高级语言编译器(CompilerTools)()。提供高档嵌入式微处理器编译器的公司有:Microsoft(x86)、Borland(x86)、Microtec(68k、PowerPC、x86、i960)、Intel(i960)、Diab(PowerPC、68K)、GreenHill(68k、PowerPC、MIPS、X86)等。嵌入式Java将会在未来两年在高档嵌入式微处理器中得到应用。•3.源程序模拟器(Simulator)(;)•嵌入式系统开发工具市场:国外产品占领市场90%以上,国内产品占领市场很小,但正在兴起,很快进入市场。COMPUTERSCIENCEANDTECHNOLOGY硬件开发环境COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统应用情况•1.国外情况美国:水平较高日本:较普及欧洲共同体:较好新加坡:一般•2.国内情况国内先进水平:一般台湾:较好香港:较高澳门:一般COMPUTERSCIENCEANDTECHNOLOGY嵌入式系统主要应用领域1•国防工业、军事工业、兵器工业:各种武器控制(火炮控制、导弹控制、智能炸弹制导引爆装置)、坦克、舰艇、轰炸机等陆海空各种军用电子装备,雷达、电子对抗军事通信装备,野战指挥作战用各种专用设备等。我国嵌入式计算机最早用于导弹控制。

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功