1软件学院嵌入式技术信息工程学院张明2软件学院前言从上个世纪九十年代中期到现在,嵌入式系统已经从一个不起眼的单词,发展成覆盖所有应用领域、家喻户晓的时髦话题。3软件学院前言虽然我国已经是嵌入式产品生产、应用和消费的大国,但国内工业界的技术水平、特别是设计水平相当落后。4软件学院前言嵌入式开发的新要求:能够使用工具缩短嵌入式产品的开发周期;能够自行规划、选型、设计、并组织开发一个拥有自主知识产权的嵌入式新产品。5软件学院课程目的•理论与实践相结合•以嵌入式软件工程思想为指导,以应用为目的,全面介绍嵌入式系统及其开发技术•对嵌入式系统及开发有一个全景的把握。•配套实验:基于ARM的嵌入式系统开发6软件学院课程目的•从纯软件到硬/软件结合•从“纸”上谈兵(编程序)到“板”上谈兵•从“懂”怎么做到“会”做•从讲/听到讲/听/做。7软件学院课程的主要内容•嵌入式系统导论(概念、分类、发展历程、特点、应用领域、发展趋势)•嵌入式硬件系统(基本组成,嵌入式微处理器,外围电路等)•嵌入式软件系统(分类、特点、体系结构、运行流程、操作系统、开发方法)•嵌入式系统领域的一些新动态和成果8软件学院参考资料•罗蕾,嵌入式实时操作系统及应用开发,北航出版社.•张大波,嵌入式系统原理、设计与应用,机械工业出版社•C.M.Krishna,KangG.Shin.REAL-TIMESYSTEMS.TsinghuaUniversityPress,McGraw-Hill.•ASurveyofReal-timeOperatingSystems9软件学院参考资料•32位嵌入式系统编程,中国电力出版社•嵌入式Linux设计与应用,清华大学出版社•嵌入式系统的实时概念,北航出版社•嵌入式操作系统综述,•Wikipedia,EmbeddedSystem,•软件学院核心内容•无所不在的嵌入式系统•嵌入式系统定义•嵌入式系统的特征•嵌入式系统的分类•嵌入式系统基本结构•嵌入式应用开发12软件学院1.1无所不在的嵌入式系统比尔.盖茨曾经预言:随着后PC时代的到来,PC将无处不在。嵌入式PC13软件学院科学家的共识计算机将变得小巧玲珑,藏身在任何地方,又消失在所有地方;功能强大,无影无踪。计算机变得无处不在:例如在墙里、在手腕上、在手写纸上等等,随用随取、伸手可及14软件学院嵌入式系统应用领域现代嵌入式应用汽车电子工控设备智能仪表通信设备移动计算军用电子信息家电电子商务智能玩具15软件学院典型系统:采样控制系统A/D传感器被控设备激励器D/A控制器A/D控制采样辅助信息16软件学院典型系统:飞行控制系统空气数据状态估计飞行控制飞行管理空中交通控制导 航状态估计状态估计飞机传感信息响应命令物理飞机虚拟飞机操作系统接口17软件学院典型系统:实时信号处理系统雷达信号处理系统雷达数据信号处理器组控制状态信号处理参数采集数字化数据…DSP共享存储器轨迹记录轨迹记录18软件学院典型应用领域:信息家电信息家电PCDVD机顶盒HPCWebTV无线通信设备Internet电话上网冰箱音视频终端PDA智能手机19软件学院典型应用领域:普适计算普适计算传感器网络信息设备智能环境远程医疗诊断智能教室可穿戴设备移动终端移动信息发布20软件学院典型应用:车载综合管理系统车载综合管理系统驾驶员信息车载信息系统倒车雷达汽车黑匣子车载MP3车载DVD车载电话GPS车载上网21软件学院小结•嵌入式系统无处不在,桌面系统依然有用•计算机与使用者的比率达到和超过100:1的阶段•95%以上都是嵌入式计算机系统•嵌入式应用带动了产业的迅猛发展22软件学院1.2嵌入式系统的定义不同的定义方式及其起源23软件学院计算机工业的分类传统的分类大型计算机、中型机、小型机和微型机特殊分类PC新的分类嵌入式计算机和通用计算机24软件学院定义一:当前国内通用嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的专用系统。25软件学院定义二:早期的定义看不见的计算机,一般不能被用户编程,它有一些专用的I/O设备,对用户的接口是应用专用的。26软件学院定义三:IEEE定义Deviceusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants27软件学院定义四:跨行业先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物28软件学院定义五:基于OS由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视、管理等功能29软件学院定义六:广义定义作为某种技术过程的一核心处理环节,能直接与宿主环境接口或交互的计算机系统例导弹控制系统30软件学院实时系统•POSIX1003.b定义能够在限定响应时间内提供所需水平服务的计算机系统•一般性定义一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间:如果系统的时间约束条件得不到满足,将会发生系统出错。31软件学院实时系统衡量指标•响应时间•吞吐量•生存时间32软件学院嵌入式系统的实时性从广义概念上讲,嵌入式系统都可以看成是一个实时系统。33软件学院1.3嵌入式系统的特征•技术密集•专用紧凑•安全可靠•多种多样•及时相应•成本敏感•开发困难•不可垄断•其它34软件学院技术密集嵌入式系统是计算机技术、微电子技术和行业技术相结合的产物。35软件学院专用紧凑嵌入式系统在体积、功耗、配置、处理能力、电磁兼容性等方面有明显的应用约束。36软件学院安全可靠•可靠性要求极高•网络信息安全•防危安全37软件学院多种多样•嵌入式处理器种类繁多•外设随应用领域变化•操作系统五花八门•嵌入式开发工具不一•嵌入式系统实时性多样化•应用领域广泛38软件学院及时响应嵌入式系统需要实时性保障,能够尽可能快地对外部技术过程的请求发出响应,及时完成。39软件学院成本敏感嵌入式产品每一批次的产品数量大,单位成本对产品的市场前景和利润影响极大。40软件学院开发困难交叉开发环境通信连接宿主机目标机41软件学院不可垄断嵌入式系统是一个分散的工业。没有哪一个系列的处理器和操作系统能够垄断全部市场。42软件学院其他:确定性•任务个数确定•每个任务执行时序确定•每个任务所占资源等确定•任务间通信延迟确定43软件学院1.4嵌入式系统发展历程197019851998萌芽阶段简单系统阶段RTOS阶段网络化阶段单芯片可编程控制器无操作系统8位MCUDSP32位嵌入式处理器pSOS+、VxWorks、QNXSOC芯片、多核VxWorks、Symbian、Linux、面向领域OS监测、伺服、指示功能工业应用军事应用无OS、VRTX家电、医疗、仪器仪表、通信简单工具:XRAY;无GUI汇编语言汇编语言消费电子、手机、汽车电子、…...pRISM+、Tornado汇编、C、C++GUI、网络、文件系统、...汇编、C、C++、JavaTornado、GNU、BrewInternet、流媒体、数据库、…智能家电、联网设备、无线终端、….处理器集成度越来越高;RTOS功能越来越强大;嵌入式中间件迅速发展;开发环境逐渐完善;应用领域覆盖完全。44软件学院1.5嵌入式系统的分类•按处理器位数划分•按应用类别划分•按系统的实时性划分•按工业界应用的复杂程度划分45软件学院按处理器位数划分按所采用的处理器位数,可以分为4位、8位、16位、32位和64位系统。46软件学院按系统实时性划分•硬实时汽车的ABS和安全气囊系统、飞行控制系统、核电控制系统•软实时电视信号、证券交易•自适应实时自动调整满足环境需要,保证性能级别47软件学院按工业界应用的复杂程度划分•简单单处理器系统•可扩展单处理器系统•复杂嵌入式系统•制造或过程控制中使用的计算机系统48软件学院1.6嵌入式系统基本结构外设备围嵌入式应用应用编程接口API嵌入式操作系统嵌入式处理器49软件学院嵌入式硬件组成外设与扩展USBLCD手写笔键盘红外其他嵌入式处理器电源复位晶振ROMDRAMFlash端口调试接口CPU核心处理器定时器预分频器DMAI/O端口中断控制A/D处理器核网口50软件学院嵌入式软件组成嵌入式硬件层应用编程接口API嵌入式应用系统嵌入式实时操作系统操作系统内核功耗管理文件管理GUI基本组件汽车电子有线无线网络浏览器扩展组件嵌入式数据库信息家电板级支持包51软件学院1.7嵌入式系统的设计要求•功能实用、便于升级•并发处理、及时响应•造型自然、结构紧凑•接口方便、操作容易•稳定可靠、维护简便•功耗管理、降低成本52软件学院1.8嵌入式系统开发•开发过程•设计方法•编程•测试•嵌入式软件的重用•开发平台53软件学院一、嵌入式系统开发过程产品定义系统概要设计处理器选定软件概要设计软件详细设计编码调试软件测试系统总体框架操作系统选定开发环境选定符合需求YesNo系统总体设计软件设计原理图设计PCB设计制板与调试硬件测试硬件设计NoNo软硬件集成与测试产品发布54软件学院二、嵌入式系统的设计•软件设计•硬件设计•集成设计55软件学院三、嵌入式编程8265482012121052222005年8070402312101052232006年编程语言2005~2006CC++汇编JavaHDLAdaVBBasicPascal其他Fortran56软件学院四、嵌入式系统测试•软件功能的测试依赖于硬件。•强壮性测试、可用性测试难。•测试用例、测试结果上载困难。•测试线程、任务、子系统之间的交互、并发和容错能力难。嵌入式测试困难:57软件学院常规测试之外,嵌入式系统测试还包括:•定期测试微处理器、存储器、以及嵌入式程序占用的存储空间。•外围设备的测试。•电源测试。•耗材的测试,如燃料测试。•安全测试。•通信电缆测试。58软件学院五、嵌入式软件的重用•遵循Moore定律,嵌入式软件的规模和复杂性迅速增大。•软件多样性迅速增加。•开发周期缩短,软件的质量需要保证。嵌入式软件开发面临的问题:嵌入式构件59软件学院六、嵌入式软件开发平台为用户开发(包括需求分析、规格说明、设计、编码、测试、产品分配和维护等)嵌入式应用程序而提供的高起点、综合的支撑环境。60软件学院开发平台的构成•面向领域的应用程序基本框架•可重用的组件库•参考设计•应用示例•开发工具集•嵌入式实时操作系统•相关文档等61软件学院特殊的开发工具•在线仿真器•数学计算工具如MathCAD•JTAG和BDM•软件固化工具•实时软件调试测试工具62软件学院小结理解和掌握嵌入式系统的基本概念,了解嵌入式系统开发过程的轮廓,为进一步的学习奠定基础