第1章嵌入式系统基础【学习目标】●知道嵌入式系统的运用领域掌握嵌入式系统的基础知识了解嵌入式系统的设计开发方法第1章嵌入式系统基础.1嵌入1.11.21.31.41.5嵌入式操作系统Linux操作系统ARM处理器平台介绍嵌入式系统开发嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式操作系统1.1嵌入式系统概述从应用的角度看,嵌入式系统与通用计算机系统相比,有如下一些特点:(1)专用性强。(2)实时性好。(3)可裁剪性好。(4)可靠性高。(5)功耗低。(6)系统内核小。(7)具有专门的开发工具和开发环境。(8)多技术的融合。嵌入式系统可以应用于以下领域:工业控制对生产过程各种流程的控制,如流水线控制。利用嵌入式产品和技术,如可编程控制器、数字机床、电力系统、电网安全、电网设备监测、工业机器人等可以对工业生产过程中的生产流程加以控制,从而提高生产效率和产品质量、减少人力资源。美国Segway公司出品的两轮自平衡车,其内部就使用嵌入式系统来实现传感器数据采集、电机控制等。军事电子设备和现代武器军事领域从来就是许多高新技术的发源地,嵌入式系统在军事上的应用体现在军事侦察、指挥控制自动化、后勤保障现代化、战场系统网络化等方面。如各种武器控制、舰艇、坦克、轰炸机等陆海空军用电子装备,雷达、电子对抗军事通信装备,野战指挥作战用各种专用设备等。比较成功的应用是美军在海湾战争中利用嵌入式系统设计开发了Adhoc设备安装在直升机、坦克、移动步兵身上,从而构成一个自愈合、自维护的作战梯队。通信设备网络通信设备中,嵌入式系统发挥了重要的作用,交换机、机顶盒、路由器、调制解调器等都是嵌入式应用系统。嵌入式网关和嵌入式因特网路由器已经成为嵌入式系统的一大应用方向。交通管理在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。环境工程与自然水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。在很多环境恶劣,地况复杂的地区,嵌入式系统将实现无人监测。商用各类收款机、电子秤、条形码阅读机、POS系统、点钞机、IC卡输入设备、自动柜员机、各种银行专业外围设备等。在智能家电中应用各种家用电器(电视机、冰箱、微波炉、电话等)将通过家庭通信、控制中心与Internet连接,实现远程控制、信息交互、网上娱乐、远程医疗和远程教育等。转变为智能网络家电,还可以实现远程医疗,远程教育等。消费电子产品后PC时代的消费电子产品应具有强大的网络和多媒体处理功能,易用的界面和丰富的应用功能,这些特性都依赖于嵌入式系统提供的强大的数字处理能力和简洁实用的特性。嵌入式技术在消费电子产品方面的应用包括数字电视机机项盒、录像机、数码相机、DVD、手机、掌上电脑、家庭网络设备等具有强大的网络和多媒体处理能力的设备。1.2嵌入式操作系统1、商用型嵌入式实时操作系统2、免费嵌入式实时操作系统1、商用型嵌入式实时操作系统Palm:著名的网络设备制造商3COM的子公司PalmComputing掌上电脑公司的产品,主要用于PDA,市场占有率较大。VxWork:美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS)。具有良好的持续发展能力、高性能的内核和友好的开发环境。其突出特点是可靠性好、实时性好和具有可裁剪性,支持多种处理器,如X86,i960,MIPS,PowerPC等,目前市场占有率最高,广泛地应用于通信、航空、军事等领域。其缺点是它支持的硬件相对较少,并且源代码不开放,需要专门的技术人员进行开发和维护。pSOS:美国ISI公司,现被WindRiver公司兼并,主要用于网络通信设备。WindowsEmbedded:WindowsCE.NET及WindowsXPEmbedded。其中WindowsCE3.0是一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统。针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,操作系统的基本内核需要至少200K的ROM。WindowsCE嵌入但不够实时,属于软实时操作系统,目前也开始中文手机的研究开发,由于其Windows背景,界面比较统一。Symbian:由诺基亚、西门子、索尼爱立信等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。2、免费嵌入式实时操作系统µC/OS-Ⅱ:Micrium公司开发的微控制器操作系统,由美国人JeanLabrosse在1992年完成,可用于8位、16位、32位处理器。其应用面覆盖了很多领域,如照相机、医疗器械、音响设备、发动机控制等。特点:源代码公开,可固化(ROMable),可裁剪(Scalable),占先式(总是运行最高优先级的就绪任务)、多任务、可确定性、任务栈、系统服务、中断管理、稳定性和可靠性。μC/OS-II可以管理64个任务,应用程序最多可以有56个任务,并且提供以下服务:任务管理(任务创建、删除、任务挂起与唤醒、优先级切换等)、信号量、互斥信号量、消息队列、事件标志、定时管理和存储模块管理。嵌入式Linux:指针对Linux经过小型化裁剪后,能够固化在容量只有几百字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统,Linux是开放源码的,几乎支持所有的32位、64位CPU,内核中支持的硬件种类繁多,几乎可以从网络上找到所有硬件驱动程序。Linux的内核小、功能强大、运行稳定、系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。Linux不仅支持x86CPU,还可以支持其他数十种CPU芯片。eCOS:由Redhat推出的小型即时操作系统(Real-Timeoperatingsystem),最低编译核心可小至10K的级别,适合用于作bootloader增强,微小型系统。此系统和嵌入式Linux系统的差异是他将操作系统做成静态连结(staticlibrary)的方式,让应用程式透过连结(linker)产生出具有操作系统的特性的应用程式。eCOS的全称为embeddedConfigurationoperatingsystem,eCOS是开放原码、免权利金的即时作业系统,这套作业系统是针对嵌入式系统及应用而设计,因此是以单一个行程1)再搭配多个执行绪的方式来执行。1.3Linux操作系统1.3.1Linux的发展历史1.3.2Linux发行版本1.3.3Linux系统的特点和组成1.3.1Linux的发展历史1991年,他用汇编语言编写了Linux系统的第一个内核Linux0.0.1。1994年3月,Linux1.0版发行。Linux1.3版本之后,Linux已可运行在Intel、Digital以及SunSparc等处理器上。从1998年开始,很多商业公司也加入了Linux的开发阵营中,因此出现了很多新的版本,如Slackware、RedHat、Suse、OpenLinux和TurboLinux等。目前Linux内核由150多万行代码组成,Linux也已经拥有一千多万用户。Linux内核GNU/Linux附同GNU工具已经占据Unix50%的市场。一些公司正把内核、应用程序、安装软件进行打包,生产Linux的发行版本。1.3.2Linux发行版本uClinux(micro-Conrol-Linux):uCLinux是Lineo公司的主打产品,是一种优秀的嵌入式Linux版本,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目标处理器没有存储管理单元MMU(MemoryManagementUnit)的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU,其多任务的实现需要一定技巧。与标准Linux相比,uCLinux采用实存储器管理策略,而标准Linux利用CPU硬件的支持实现虚拟内存机制。Embedix:Embedix是由嵌入式Linux行业主要厂商之一Luneo推出的,是根据嵌入式应用系统的特点重新设计的Linux发行版本。Embedix提供了超过25种的Linux系统服务,包括Web服务器等。系统需要最小8MB内存,3MBROM或快速闪存。Embedix基于Linux2.2内核,并已经成功地移植到了Intelx86和PowerPC处理器系列上。像其它的Linux版本一样,Embedix可以免费获得。Luneo还发布了另一个重要的软件产品,它可以让在WindowsCE上运行的程序能够在Embedix上运行。Luneo还将计划推出Embedix的开发调试工具包、基于图形界面的浏览器等。可以说,Embedix是一种完整的嵌入式Linux解决方案。Xlinux:XLinux是由美国网虎公司推出,主要开发者是陈盈豪。他在加盟网虎几个月后便开发出了基于XLinux的、号称是世界上最小的嵌入式Linux系统,内核只有143KB,而且还在不断减小。XLinux核心采用了“超字元集”专利技术,让Linux核心不仅可能与标准字符集相容,还涵盖了12个国家和地区的字符集。因此,XLinux在推广Linux的国际应用方面有独特的优势。PoketLinux:PoketLinux由Agenda公司作为其新产品“VR3PDA”的嵌入式Linux操作系统。它可以提供跨操作系统构造统一的、标准化的和开放的信息通信基础结构,在此结构上实现端到端方案的完整平台。PoketLinux资源框架开放,使普通的软件结构可以为所有用户提供一致的服务。PoketLinux平台使用户的视线从设备、平台和网络上移开,由此引发了信息技术新时代的产生。在PoketLinux中,称之为用户化信息交换(CIE),也就是提供和访问为每个用户需求而定制的“主题”信息的能力,而不管正在使用的设备是什么。MidoriLinux:由Transmeta公司推出的MidoriLinux操作系统代码开放,在GUN普通公共许可(GPL)下发布,可以从网站上下载。该公司有个名为“MidoriLinux计划”。“MidoriLinux”这个名字来源于日本的“绿色”——Midori,用来反映其Linux操作系统的环保外观。CalderaOpenLinux:Caldera将OpenLinux这套系统定位为容易使用与设置的发行版,以集成使用环境与最终用户办公环境,容易安装使用与简便管理为系统目标,有望成为最流行的公司团体台式Linux操作系统,适合初学者使用,全部安装需要1GB的硬盘空间。SuSE:SuSE是欧洲最流行的Linux发行版,而且SuSE是软件国际化的先驱,让软件支持各国语系,贡献颇丰,SuSE也是用RPM作为软件安装管理程序,不过SuSE并不适合新手使用,提供了非常多的工具软件,全部安装需4.5GB的硬盘空间,安装过程也较为复杂。TurboLinux:TurboLinux是日本制作的Linux发行版,其最大特色便是以日文版、中文简/繁体版、英文版三种形式发行,其安装的简易性与系统设置的难度与RedHat差不多,且安装界面是汉化的,系统本身支持中文简体,在中国国内有广大的用户群。红旗嵌入式Linux:由北京中科院红旗软件公司推出的嵌入式Linux是国内做得较好的一款嵌入式操作系统,界面做得都非常的美观,安装也比较容易,新版本逐渐屏蔽了一些底层的操作,适合于新手使用。目前,中科院计算所自行开发的开放源码的嵌入式操作系统EasyEmbeddedOS(EEOS)也已经开始进入实用阶段了。该款嵌入式操作系统重点支持p-Java。系统目标一方面是小型化,另一方面能重用Linux的驱动和其它模块。由于有中科院计算所的强大科研力量做后盾,EEOS有望