资源预览内容
第1页 / 共124页
第2页 / 共124页
第3页 / 共124页
第4页 / 共124页
第5页 / 共124页
第6页 / 共124页
第7页 / 共124页
第8页 / 共124页
第9页 / 共124页
第10页 / 共124页
亲,该文档总共124页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
嵌入式嵌入式系统系统 基于基于3232位微处理器与实时操作位微处理器与实时操作系统系统20062006年春季年春季北京航空航天大学计算机学院北京航空航天大学计算机学院2联系方法主讲教师:白跃彬白跃彬 副教授副教授牛建伟牛建伟 副教授副教授地 址:体育馆南配楼404房间如新楼307房间电 话:0108231999001082317601邮件地址:bybbuaa.edu.cnniujianweibuaa.edu.cn课程网址:ftp:/es:esldmc.buaa.edu.cn/课件下载,阅读参考资料指定,作业布置和提交3课程目的n本课程介绍了嵌入式系统的前沿技术和发展趋势,重点讲述了基于ARM微处理器的嵌入式硬件平台、嵌入式操作系统(RTlinux)和嵌入式软硬件系统开发技术。n采用理论学习和实践并重的教学方法,着重培养学生的实际动手能力,通过熟悉开发环境与开发流程、编程实践等基础实验,使学生能够掌握嵌入式系统设计的基本方法。此外还增加了嵌入式多媒体应用、游戏开发等开放式实验,使得基础较好的同学能够获得进一步的嵌入式开发实践机会。4需要的基础知识n先导课程计算机操作系统微机原理C语言n需要了解的基础知识了解操作系统、单片机和微机原理的基本概念,能够熟练使用C语言。5学时分配n课程属性: 专业基础课n总学时数: 48 n课内学时: 48n讲课学时数:30n实验学时数:18n学分: 36课程大纲(约30学时)课次学时形式内容第2周3讲课绪论第3周3讲课嵌入式硬件基础第4周3讲课ARM微处理器体系结构第5周3讲课ARM指令集第6周3讲课基于ARM的嵌入式硬件接口设计第8周3讲课嵌入式硬件设计工具使用Cadence第10周3讲课嵌入式操作系统概述第12周3讲课嵌入式Linux第14周3讲课嵌入式软件开发方法概述第16周3讲课嵌入式系统设计实例分析第19周2考试时间:周五晚时间:周五晚8:00-11:00 地点:地点:4号楼号楼315 7专题实验内容(18学时)地点:地点:2号楼机房(上午号楼机房(上午9:0012:00)课次学时形式内宾第 7周3实验实验一:熟悉基本开发环境及软硬件平台 C和ARM汇编程序混合设计(整数排序算法)第 9周3实验实验二:嵌入式Linux程序设计(串口通信程序)第11周3实验实验三:嵌入式linux内核第13周3实验实验四:嵌入式Linux图形程序设计第15周3实验实验五:触摸屏及LED驱动程序设计(大作业)第17周3实验实验六:触摸屏及LED驱动程序设计(大作业)注:注:1、实验、实验1-6在实验室统一讲解辅导,要求在课内在实验室统一讲解辅导,要求在课内18个学个学时内完成时内完成8开放式项目实验(约20学时)地点:开放实验室地点:开放实验室内容:内容: 学生可以单独或者合作(最多3人)开发一个简单的嵌入式系统设备,可从下面的命题中选取,也可自己设计题目。MP3播放器MP4播放器基于Linux的PDA(记事本、通讯录、备忘录等功能)基于Linux的可视电话便携式旅游信息终端简单Email编辑、收发器(具有RJ45和Wi-fi接口)简单游戏(游戏杆控制)9n掌握一种学习方法-理论学习和实践并重n学习嵌入式软硬件系统的基本概念、基本原理和设计方法n获得嵌入式开发设计的实践经验n获得学分n为未来职场的发展奠定技术基础大家能够期望的收获10您的期望合理吗?通过本门课程的学习,你将获得以下知识:n了解嵌入式软件开发流程(期望值:)n学会使用实时操作系统,了解多任务(期望值:)n掌握基本嵌入式硬件知识(期望值:)n提高C语言编程能力(期望值:)n独立或合作开发出嵌入式应用软件(期望值:)n掌握嵌入式软件编程(期望值:)n掌握硬件设计知识(期望值:)n学会操作系统移植(期望值:)n成为嵌入式系统设计高手(期望值:)111. 符意德 编著. 嵌入式系统设计原理与应用. 北京:清华大学出版社,20042.孙玉芳 等译. 嵌入式计算系统设计原理(computers as components, principles of embedded computing system design, wayne wolf).北京:机械工业出版社,2002参考教材12n考核方式n平时作业和表现(占20%)+大作业(占30%)+笔试(50%)考核方式和评分标准131C H A P T E R绪论绪论14主要内容1 13 32 24 4嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌入式系统的典型应用嵌入式系统的典型应用5 5嵌入式系统的基本设计过程嵌入式系统的基本设计过程15嵌入式系统简介n计算机系统的三大领域n服务器市场n功能强n利润最大的市场n可用性强n可扩展性n桌面市场n最广阔的市场n嵌入式市场n潜力最大的市场16嵌入式系统简介n以往计算机分类:n大型计算机、中型机、小型机和微计算机n目前计算机分类:n超级计算机,大型计算机、工作站、微计算机、亚微计算机亚微计算机(嵌入式计算机) 是以嵌入式系统的形式隐藏在各种装置、产品和系统中17嵌入式系统简介18嵌入式系统简介n 一般定义n以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统(技术角度)n嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。(系统角度)n术语嵌入式反映了这些系统通常是更大系统(被称之为嵌入的系统)的一个完整子系统。嵌入式的系统可以包含多个嵌入式系统。n广义定义n任何一个非计算机的计算系统19nIEEE定义n嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。n通常执行特定功能n嵌入式系统的核心-嵌入式微处理器n严格的时序和稳定性要求n全自动操作循环嵌入式系统简介20n微机学会定义n嵌入式系统是以嵌入式应用为目的的计算机系统。可分为系统级、板级、片级n系统级:各种类型的工控机、系统级:各种类型的工控机、PC104PC104模块模块n板级:各种类型的带板级:各种类型的带CPUCPU的主板及的主板及OEMOEM产品产品n片级:各种以单片机、片级:各种以单片机、DSPDSP、微处理器为核心的产品、微处理器为核心的产品嵌入式系统简介21嵌入式系统简介n广义上讲,凡是带有微处理器的专用软硬件系统都可称为广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和嵌入式系统。如各类单片机和DSPDSP系统。这些系统在完成较系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件核软件的能力有限,在实现复有操作系统,管理系统硬件核软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现。杂多任务功能时,往往困难重重,甚至无法实现。n从狭义上讲,我们更加强调那些使用嵌入式微处理器构成从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。本课程中的嵌入式系统是指狭义上的场合的嵌入式系统。本课程中的嵌入式系统是指狭义上的嵌入式系统。嵌入式系统。22嵌入式系统简介n发展历史发展历史 嵌入式系统本身是一个相对模糊的定义。一个手持的嵌入式系统本身是一个相对模糊的定义。一个手持的MP3MP3和一个和一个PC104PC104的微型工业控制计算机都可以认为是嵌入式的微型工业控制计算机都可以认为是嵌入式系统。系统。 嵌入式系统已经有了近嵌入式系统已经有了近3030年的发展历史,它是硬件和软年的发展历史,它是硬件和软件交替发展的双螺旋式发展。件交替发展的双螺旋式发展。 最早的单片机是最早的单片机是IntelIntel公司的公司的80488048,它出现在,它出现在19761976年年MotorolaMotorola同时推出了同时推出了68HC0568HC05,ZilogZilog公司推出了公司推出了Z80Z80系列,系列,这些早期的单片机均含有这些早期的单片机均含有256256字节的字节的RAMRAM、4K4K的的ROMROM、4 4个个8 8位位并口、并口、1 1个全双工串行口、两个个全双工串行口、两个1616位定时器。位定时器。 之后在之后在8080年代初,年代初,IntelIntel又进一步完善了又进一步完善了80488048,在它的,在它的基础上研制成功了基础上研制成功了80518051。 2319811981年年Ready SystemReady System开发了世界上第开发了世界上第1 1个个商业嵌入式实时内核(商业嵌入式实时内核(VTRX32VTRX32),包含了许多),包含了许多传统操作系统的特征,包括任务管理、任务间传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理通讯、同步与相互排斥、中断支持、内存管理等功能。等功能。随后,出现了如随后,出现了如Integrated System Integrated System Incorporation (ISI)Incorporation (ISI)的的PSOSPSOS、IMGIMG的的VxWorksVxWorks、QNXQNX公司的公司的QNXQNX等,等,Palm OSPalm OS,WinCEWinCE,嵌入式嵌入式LinuxLinux,LynxLynx,uCOSuCOS、NucleuxNucleux,以及国内的以及国内的HopenHopen、Delta OSDelta OS等嵌入式操作系统也相继出等嵌入式操作系统也相继出现。现。嵌入式系统简介24嵌入式系统简介n基于8位,16位,32位的嵌入式系统n微处理器飞速发展的结果是嵌入式计算成为一门学科 。在嵌入式系统的早期阶段,所有基本硬件构件相对较小也较简单,如:8位的CPU、74系列的芯片及晶体管等,其软件子系统是采用一体化的监控程序,不存在操作系统平台。而今天组成嵌入式系统的基本硬件构件已较复杂,如:16位、32位CPU或特殊功能的微处理器、特定功能的集成芯片、FPGA或CPLD等,其软件设计的复杂性成倍增长。因此研究嵌入式系统的设计原理及技术,提供系统的设计方法和开发工具是嵌入式计算学科的关键技术。25嵌入式系统简介n典型的8位微处理系统nMCS-51系列的单片机是低端嵌入式系统中用得最多的微处理器。26嵌入式系统简介n典型的16位微处理系统nMCS-96系列单片机和16位DSP芯片27嵌入式系统简介n典型的32位微处理系统nARM系列是应用较广泛的32位微处理器。实际上该系列的MCU芯片很多,但大都是已ARM微内核为核心的。32位的DSP应用的也很广泛。28n特点n功耗限制n嵌入式系统中,尤其是在用电池供电的嵌入式系统中,这是一个主要考虑的因素。大耗电量直接影响到硬件费用,并影响电源寿命以及带来散热问题。n低成本n包含硬件成本和软件成本。硬件成本主要决定于所使用的微处理器、所需的内存及相应的外围芯片;软件成本通常难于预测,但一个好的设计方法有利于降低软件成本。n多速率n系统同时运行多个实时性任务,系统必须同时控制这些动作,但这些动作有些速度慢,有些速度快。n环境相关性n嵌入式系统不是独立的,而是与其被嵌入的设备紧密相关联。嵌入式系统简介29嵌入式系统简介n特点n系统内核小n由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。n比如ENEA公司的OSE实时OS,内核只有5K,而Windows的内核则要大得多。n专用性强n嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。n同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。30嵌入式系统简介n特点n不可垄断性nPC有WinTel垄断n嵌入式系统工业的基础是以应用为中心的“芯片”设计和面向应用的软件产品开发。n产品相对稳定性n普通处理器18月n嵌入式处理器810年31嵌入式系统简介n实时性n实时性的本质是任务处理所化费时间的可预测性,即任务需要在规定的时限内完成。n任务执行的时间可以根据系统的软硬件的信息而进行确定性的预测。也就是说,如果硬件可以做这件工作,那么基于实时操作系统的软件将可以确定性的做这件工作。n实时系统n实时系统的正确性依赖于运行结果的逻辑正确性和运行结果产生的时间正确性,即实时系统必须在规定的时间范围内正确地响应外部物理过程的变化。n嵌入式系统实时系统n有些嵌入式系统没有实时性要求32嵌入式系统简介n硬实时软实时n“软”意味着如果没有满足指定的时间约束并不会导致灾难性的后果,而对于硬实时系统来说却是灾难性的 n从实践上说,软实时和硬实时之间的区别通常(隐含的和错误的)与系统的时间精度有关:由于这个原因,典型的,软实时任务的调度精度必须大于千分之一秒,而硬实时任务为微秒级。 33嵌入式系统简介n实时频谱图34嵌入式系统简介n市场n2001年嵌入式系统国际会议年会Jim Turley的报告中,统计得到 PC的数量只占CPU 总耗量的0.1%。n据CCID2003年的数据显示,2000年嵌入式软件市场规模为70.33亿元,2001年为95.43亿元,2002年118.56亿元,三年平均增长38.85%。n2002年中国软件市场为345.0亿元,嵌入式软件约占软件总市场的34.37。35嵌入式系统简介n市场n2004年,软件统计数据为:n套装软件共计478亿元,为具有独立产品形态的软件。n其中包括系统软件89亿元(操作系统44.19亿元、数据库管理系统20.06亿元、支撑软件25.71亿元)、n中间件软件6.98亿元、n应用软件304.53亿元(包括通用应用软件(安全软件、办公软件、管理软件、游戏软件、教育软件等)与行业应用软件(金融、电信、政府等)、n嵌入式软件(673.62亿元)n相关软件服务(937.48亿元):除生产产品化软件之外的所有的软件研发及相关活动,包括系统集成、软件外包、咨询、数据加工和处理等。36嵌入式系统简介输入接口输入接口操作系统操作系统(协议栈协议栈)应用程序应用程序软件子系统软件子系统硬件子系统硬件子系统嵌入式系统组成输出接口输出接口外围设备外围设备37嵌入式系统的软/硬件框架38嵌入式系统简介n硬件子系统39嵌入式系统简介n嵌入式外围设备n在嵌入式硬件系统中,除了嵌入式处理器之外的完成存储、通信、I/O、调试等功能的其它部件。n分类n存储器类型:静态易失型存储器(RAM/SRAM),动态存储器(DRAM),非易失型存储器(ROM、EPROM、EEPROM、FLASH)。其中,FLASH(闪存)以可擦写次数多,存储速度快,容量大及价格便宜等有点在嵌入式领域得到广泛的应用。n接口类型:目前存在的所有接口在嵌入式系统中都有其广泛的应用,但是以下几种接口的应用最为广泛,包括RS-232接口(串口)、IrDA(红外)、SPI(串行设备接口)、I2C、USB、Ethernet和普通并口。n显示类型:CRT、LCD和触摸屏等外围显示设备。40嵌入式系统简介n最小硬件系统41嵌入式系统简介n嵌入式软件子系统42嵌入式系统与单片机、PC相比的优势n采用32位RISC嵌入式微处理器和实时操作系统组成的嵌入式控制系统,与传统基于单片机的控制系统和基于PC的控制方式相比,具有以下突出优点:u性能方面:性能方面:采用采用3232位位RISCRISC结构微处理器,主频从结构微处理器,主频从30MHz30MHz到到624MHz624MHz以上,处理能力大大超出单片机系统,接近以上,处理能力大大超出单片机系统,接近PCPC机的水机的水平,但体积更小,能够真正地平,但体积更小,能够真正地“嵌入嵌入”到设备中;到设备中; u实性性方面:实性性方面:嵌入式机控制器内嵌实时操作系统(嵌入式机控制器内嵌实时操作系统(RTOSRTOS),),能够完全保证控制系统的强实时性;能够完全保证控制系统的强实时性;u人机交互方面:人机交互方面:嵌入式控制器可支持大屏幕的液晶显示器,嵌入式控制器可支持大屏幕的液晶显示器,提供功能强大的图形用户界面;输入方法多种多样;提供功能强大的图形用户界面;输入方法多种多样;u系统升级方面:系统升级方面:嵌入式控制器可为控制系统专门设计,其功嵌入式控制器可为控制系统专门设计,其功能专一,成本较低,而且开放的用户程序接口(能专一,成本较低,而且开放的用户程序接口(APIAPI)保证了)保证了系统能够快速升级和更新。系统能够快速升级和更新。 43主要内容1 13 32 24 4嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌入式系统典型应用嵌入式系统典型应用5 5嵌入式系统的基本设计过程嵌入式系统的基本设计过程44嵌入式处理器分类n微处理器微处理器(Microprocessor Unit, MPU) n微控制器微控制器(Microcontroller Unit, MCU) n嵌入式嵌入式DSP (Embedded Digital Signal Processor, EDSP) n片上系统片上系统(System On Chip) 45嵌入式微处理器46n目前主要的嵌入式处理器类型有目前主要的嵌入式处理器类型有Am186/88Am186/88、386EX386EX、SC-400SC-400、PowerPCPowerPC、6800068000、MIPSMIPS、ARM/ARM/StrongARMStrongARM系列等系列等嵌入式微处理器47嵌入式微控制器n又称单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。n单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。n代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12 /16、68300等。n另外还有许多半通用系列如:支持USB接口的MCU 8XC930/931、C540、C541;支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式系统约70的市场份额。48嵌入式微控制器n微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。降、可靠性提高。n微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。般比较丰富,适合于控制,因此称为微控制器。49嵌入式DSP处理器nDSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。nDSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。nDSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。1982年世界上诞生了首枚DSP芯片。在语音合成和编码解码器中得到了广泛应用。DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。50嵌入式DSP处理器n有代表性的产品是Texas Instruments的 TMS320系列和Motorola的DSP56000系列。nTMS320系列处理器包括用于控制的C2000系列,移动通信的C5000系列,以及性能更高的C6000和C8000系列。nMotorola公司的DSP56000已经发展成为DSP56000,DSP56100, DSP56200和DSP56300等几个不同系列的处理器。nPHILIPS公司今年来也推出了基于可重置嵌入式DSP结构低成本、低功耗技术上制造的DSP处理器,特点是具备双Harvard结构和双乘/累加器单元,应用目标是大批量消费类电子产品。51nSoC就是System on Chip,SoC是一种基于IP(Intellectual Property)核嵌入式系统设计技术。n它结合了许多功能区块,将功能做在一个芯片上,ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,例如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。nSOC可以分为通用和专用两类。n通用系列包括Infineon(Siemens)的TriCore,Motorola的M-Core,Echelon和Motorola联合研制的Neuron芯片等。n专用SOC一般专用于某个或某类系统中。有代表性的产品是Philips的Smart XA嵌入式片上系统(SoC)52SOC体系结构ASIC CoreMemoryEmbedded ProcessorCoreAnalogFunctionsCommunicationSensorInterface53知识产权54主要内容1 13 32 24 4嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌入式系统典型应用嵌入式系统典型应用5 5嵌入式系统的基本设计过程嵌入式系统的基本设计过程55操作系统的发展n计算机系统由硬件和软件构成,在发展初期并没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源越来越丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序进一步发展形成了操作系统。到目前为止,主流的操作系统有三种:多道批处理、分时和实时操作系统。56嵌入式操作系统结构n操作系统分类n微内核(micro-kernel)n单晶内核(monolithic kernel)n混合内核(hybrid kernel)57嵌入式操作系统n实时操作系统的特点 IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点: 异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步 58嵌入式操作系统n实时操作系统的特点 总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。 从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统一般实时操作系统和嵌入式实时操作系统嵌入式实时操作系统。59嵌入式操作系统n实时操作系统的特点 一般实时操作系统一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。 嵌入式实时操作系统嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K几十K 内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点 。60嵌入式操作系统n基本概念 对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。 很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。前后台系统61n基本概念 中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。 循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。 ISRISRISRISR后台前台中断服务程序时间前后台系统嵌入式操作系统62嵌入式操作系统n基本概念 操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。 操作系统硬件硬件驱动操作系统用户程序63嵌入式操作系统n基本概念 实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。 实时操作系统(RTOS)64嵌入式操作系统n基本概念 代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。 代码的临界区65嵌入式操作系统n基本概念 程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。资源66任务A共享资源任务B任务C信号量嵌入式操作系统n基本概念 可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。共享资源访问共享资源之前申请信号量其它任务访问受阻而不能使用共享资源得到允许后,才能使用共享资源67嵌入式操作系统n基本概念 一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。任务68嵌入式操作系统n基本概念 当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。任务切换69嵌入式操作系统n基本概念 多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如25的CPU运行时间、RAM和ROM等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。内核70嵌入式操作系统n基本概念 调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。 调度71嵌入式操作系统n基本概念 非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。非占先式内核72嵌入式操作系统n基本概念 当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。占先式内核73嵌入式操作系统n基本概念 任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。 任务优先级74嵌入式操作系统n基本概念 中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。中断75前后台系统嵌入式操作系统n基本概念中断ISR任务ISR非占先操作系统任务A任务B任务CISR占先操作系统任务A任务B任务C76嵌入式操作系统n基本概念 时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。时钟节拍77使用嵌入式操作系统的优缺点n优点n使程序的设计和扩展变得容易,大大提高了开发效率。n充分发挥32位CPU多任务的潜力,实现多任务设计,能够充分利用硬件资源和实现资源共享。n实时性和健壮性能够得到更好的保证。n缺点n嵌入式操作系统增加ROM/RAM等额外开销,510的CPU额外负荷。78嵌入式操作系统分类n按收费模式划分n商用型nVxworks, Nucleux ,PlamOS, Symbian, WinCE, QNX, pSOS,VRTX,Lynx OS, Hopen, Delta OSn免费型nLinux, CLinux,C/OS-,eCos,uITRONn按实时性划分n硬实时nVxworksn软实时nWinCE,RTLinuxn无实时nEmbedded Linux79 nLinux是开放源码和免费使用的,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾。n嵌入式Linux(Embedded Linux)是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。主要有RTLinux和CLinuxnLinux的内核小、功能强大、API丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。nLinux不仅支持x86 CPU,还可以支持其他数十种CPU芯片。n近几年Linux在嵌入式领域异军突起,过去的一年中有13%的用户已经开始使用嵌入式Linux系统进行开发工作;有52%的用户决定在未来24个月内开始使用Linux作为嵌入式操作系统的开发原型。 嵌入式Linux及应用80cLinux81Windows EmbeddednWindows CE:一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统(缩减的Win95)。n针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统,n由于其Windows背景,界面比较统一认可。可以使用大多数Windows开发工具(如VB,VC等),大多数Windows应用程序经过移植后就可以运行在WinCE平台上。n操作系统的基本内核需要至少200K的ROM。 82VxWorksnVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。nVxWorks所具有的显著特点是: 可靠性、实时性和可裁减性。 它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。n以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器(1997年7月4日登陆火星表面)。83Symbian OSnSymbian由诺基亚、西门子、索尼爱立信等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。Symbian操作系统的前身是EPOC。n针对PDA及智能手机的,能够提供良好的软实时的操作系统,目前占有60的智能手机市场n与之竞争的有Windows Mobile、PalmOS以及Linuxn主要版本nSeries 60/90/80/40nUIQ84Palm OSnPalm OS是著名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品。nPalm OS是一套专门为掌上电脑编写的操作系统,充分考虑到了掌上电脑内存相对较小的情况,所以Palm操作系统本身所占的内存很小,基于Palm操作系统编写的应用程序所占的空间也很小,通常只有几十KB,因此基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。nPalm OS在PDA市场上占有很大的市场份额, Palm OS的市场份额占到将近90%,最近下降70,目前主要与WIN CE进行激烈竞争。n代表性的产品有Palm m505、Palm m500、Palm III等。85QNXn 加拿大QNX公司的产品。n QNX是在X86体系上面开发出来的,这和别的RTOS不一样,别的好多RTOS都是从68K的CPU上面开发成熟,然后再移植到X86体系上面来的。n QNX是一个实时的、可扩充的操作系统,它部分遵循POSIX相关标准,由于QNX具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(手掌电脑、手机)、GPS设备的实时操作系统使用。86C/OS及C/OS-IInC/OSMicro Controller O SnC/OS简介简介n美国人Jean Labrosse 1992年完成,已应用于数百种产品中。n应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等 n1998年C/OS-II,目前的版本C/OS -II V2.72n2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中n是一个源码公开、可移植、可裁减、占用资源少、抢先式的实时多任务操作系统。其绝大部分源码采用ANSI C写的,移植性好。高校教学可免费使用。n网站www.ucos-II.com(www.micrium.com)87OSEnOSE主要是由瑞典的ENEA Data AB下属的ENEA OSE Systems AB 负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。nOSE的客户深入到电信、数据、工控、航空邓领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信、诺基亚、西门子等公司确立了良好的关系。n目前手机市场占有率为15左右,期望在未来3G手机市场占有率达到50。88Nucleus PLUSNucleus 主要应用:网络设备,例如,路由器,机顶盒等89主要内容1 13 32 24 4嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌入式系统的典型应用嵌入式系统的典型应用5 5嵌入式系统的基本设计过程嵌入式系统的基本设计过程90嵌入式系统的应用领域嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮工控设备工控设备智能仪表智能仪表汽车电子汽车电子网络设备网络设备消费电子消费电子军事国防军事国防电子商务电子商务网络网络工业控制工业控制92嵌入式系统的应用n家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。93嵌入式视频服务器94现代化家庭95嵌入式Internet应用96嵌入式系统在信息家电中的应用n信息家电(Information Appliance)n一般可认为,那些低单价、操作简单、可通过因特网发送或获取信息,将逐步分割或替代PC的某些功能,并能与其它信息产品交换资料或讯息的产品可统称为信息家电。97信息家电的分类及特点n信息家电的分类n网络电视(NetTV)n网上游戏机(Internet gaming device)n智能掌上型设备(Internet smart handheld device)n网络电话(Internet screen Phone)nConsumer NC client等。n信息家电技术特点n处理器发展趋向低成本、高整合性与低耗能。n整合数字与模拟处理的技术。n较PC更强调通讯能力。n利用软件增加产品的差异性(高附加价值的关键)98典型的信息家电产品信息家电定义代表性产品网络电视具有机顶盒或内建网络连接的电视Microsoft WebTV网络可视电话具有集成网络接入的屏幕电话InfoGear iPhone网络游戏机具有集成网络接入的游戏操纵台Sega Dreamcast网络智能手持器件蜂窝电话、个人数据助理(PDA)和其它集成网络接入的便携式器件3Com Palm AT&T PocketNet Phone Nokia 9000,9000I,9110,7110NC委托(clients)提供网络接入以及能下载应用软件的器件IBM NetStationPC-中间器件通过PC接入网络以下载内容的器件DIAMON Multimedia Rio Player Nuvomedia Rocket e-BookAudible Mobile PlayerSource: IDC, Hambrecht & Quist99100信息家电数字机顶盒101汽车电子产品(18个嵌入式控制模块)CAN总线网络VOLVO S80汽车的CAN总线网络嵌入式应用汽车电子102智能玩具与机器人103嵌入式技术应用工业控制n工业方面:机床、冶金、电子、交通、航空航天等行业技术升级的重要基础104阿富汗参加反恐作战的阿富汗参加反恐作战的“赫耳墨斯赫耳墨斯”价值价值4 4万美元,万美元,可携带可携带2 2架摄像机,发挥了架摄像机,发挥了很好作用。很好作用。军事侦察105 2002年11月28日,以色列一选举投票点,发生枪击事件,造成至少7人死亡,数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体。反恐防暴106微型飞行器微型飞行器-“黑寡妇黑寡妇”空中飞行器107基于Win CE的移动机器人平台108基于RTLinux的仿人机器人 高高 48 cm48 cm重重: 6 kg: 6 kg灵活性:灵活性:20 DOF20 DOF操作系统操作系统: RT-Linux: RT-Linux接口形式接口形式: USB 1.0 (12Mbps): USB 1.0 (12Mbps)响应周期响应周期: 1ms: 1ms能源:能源: DC24V x 6.2A (150W)DC24V x 6.2A (150W)制造:富士通制造:富士通 109基于VXworks的火星探路者1102004年“勇气号”再次登陆火星111主要内容1 13 32 24 4嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌入式系统应用及发展趋势嵌入式系统应用及发展趋势5 5嵌入式系统的基本设计过程嵌入式系统的基本设计过程112嵌入式系统设计的主要步骤n以自顶向下的角度来看,系统设计从系统需求分析开始;第二步是规格说明,在这一步我们对需设计的系统功能进行更细致地描述,这些描述并不涉及系统的组成;第三步是系统结构设计,在这一阶段以大的构件为单位设计系统内部详细构造,明确软、硬件功能的划分;第四步是构件设计,它包括系统程序模块设计、专用硬件芯片选择及硬件电路设计;第五步是系统集成,在完成了所有构件设计的基础上进行系统集成,构造出所需的完整系统。 需求分析规格说明体系结构设计构件设计系统调试与集成113需求分析与规格说明n在设计之前,我们必须清楚要设计什么。在设计的最初阶段,我们应从客户那里收集系统功能的非形式描述,在此称其为需求;对需求进行提炼,以得到系统的规格说明,规格说明中应包含我们进行系统体系结构设计所需的足够信息。n在此把需求和规格说明区分开是必要的,因为嵌入式系统的用户不是专业人员,他们对系统的描述是建立在他们想象的、系统应具备的功能基础上,对系统可能有些不切实际的期望,表达要求时使用自己的话而不是专业术语。因而,必须将用户的描述转化为系统设计者的描述,从用户的需求中整理形成正式的规格说明。 114用户需求的格式n用户需求通常包括功能部分和非功能部分。非功能部分需求主要指:性能、价格、尺寸和重量、功耗等。右边表是一个在系统设计的初始阶段使用的需求说明表格样本,该表格用简练、清晰的语句描述系统的基本需求。 项目目说明明名称目的输入输出功能性能生产成本功耗尺寸和重量115GPS移动地图系统移动地图系统:示例示例项目目说明明名称GPS移动地图目的为司机等用户提供图形状的移动地图输入一个电源开关、两个操作按钮、GPS信号输入输出LCD显示器,分辨率为400600功能可接5种GPS接收器;三种用户可选的地图比例;总是显示当前经纬度性能0.25秒内即可更新一次屏幕,常温下工作生产成本1500元(人民币)功耗四节电池供电应连续工作8小时,功耗约100mW尺寸和重量尺寸不大于20cm30cm,重量不大于0.25公斤GPS移动地图是一种手持设备,该设备为用户(如汽车驾驶员)显示他当前所处位置周围的地图;显示的地图内容应随用户以及该设备所处位置的改变而改变。该设备从GPS上得到其位置信息,移动地图的显示看起来应类似纸张上的地图。针对用户的初步要求,我们编写出如右表所示的系统需求表。116描述规格说明的工具n规格说明应更精确地反映用户的需求,它是设计者在设计时必须明确遵循的要求。规格说明应小心编写,描述应足够清晰,不能有歧义,以便别人可以通过它来验证设计是否达到要求。规格说明中通常只描述系统应做什么,而不描述系统该怎么做。n描述规格说明的工具可采用统一建模语言(UML)。UML语言是一种面向对象的建模语言,它是软件工程课程中详细讲解的内容,本书附录A中简要地介绍了它的概念和图形工具。117体系结构设计 n系统结构设计的目的是描述系统如何实现系统的功能,它是系统整体结构的一个计划。右图以框图的形式描述了GPS移动地图的体系结构,图中展示了移动地图的主要操作和其间的数据流。框图仍很抽象,还没有规定软件完成什么,专用硬件完成什么,等等。但该图还是清楚地描述了许多功能,如需搜索地形图数据库、需显示地图、需接收GPS信号等。 GPS接收 器信号搜 索引擎显 示控制显示器数 据库用 户接口118系统硬件体系结构 显示器显示控制器(含显缓)存储器GPS信号接收器CPUI/O接口119系统软件体系结构GPS接口程序数据库查询输入/输出控制程序显示控制定时器120构件设计 n体系结构设计中告诉我们需要什么样的构件,而构件设计中就是设计或选择符合体系结构和规格说明中所需求的构件。构件通常既包括硬件,如FPGA、电路板等,也包括软件模块。n一些硬件构件是现成的。现成的硬件构件即有标准构件,也有专用构件,例如CPU芯片,存储器芯片等就是标准构件,而在移动地图中GPS接收器就是专用构件。同样地,软件构件也可利用标准软件模块,如地图数据库及数据库标准访问例程及函数。n更多的情况下,我们需要自己设计一些构件,即使采用标准的集成电路,也必须设计连接它们的印刷电路板,同时,需做大量的定制编程。当然,建立嵌入式软件模块时,必须确保系统实时性良好,并且在允许的范围内不占用更多的存储空间。在移动地图这个例子中,电能消耗特别重要,设计时应尽量减少存储器读/写,因为存储器访问是主要的功耗来源,存储器的访问必须精心安排,以避免多次读取相同的数据。 121系统调试与集成 n只有建立构件后,才能将它们合并得到一个可以运行的系统。当然在系统集成阶段并不是仅仅把所有的构件连接在一起就行,通常都会发现以前设计上的错误。在系统集成时按阶段构架系统,并每次只对一部分模块排错,能够更容易地发现并定位错误。我们必须确保在体系结构和各构件设计阶段尽可能按阶段集成系统,并相对独立地测试系统功能。系统集成时要准确定位出现的错误是非常困难的,在这一阶段,设计者的专业知识和经验将起很大的作用。 122教学硬件平台ARM2002嵌入式内核总量嵌入式内核总量: 6.265亿亿498M498M87M87M19M19M17.617.6MM*包括用于32位、64位RISC结构的片上系统123教学硬件平台ARMUPNetARM2410S124教学软件平台Linuxn近200种操作系统,WinCE、Linux、Vxworks、QNX、Nucleus、n适于学习的源代码开放的操作系统:Linux、C/OSnLinux:层次结构且内核完全开放、网络功能强大、完整开发工具、广泛的硬件支持、遵循通用国际标准,便于程序的移植 nC/OS:源代码公开、实时内核、易懂、易学、易用
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号