嵌入式ARM讲解.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 ARM 讲解
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,嵌入式时代的西点军校,!,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,嵌入式ARM讲解20101022,嵌入式ARM讲解20101022嵌入式ARM讲解20101022,第,1,章嵌入式微处理器概述第,2,章,ARM,体系结构第,3,章,ARM,指令分类及其寻址方式第,4,章,ARM,程序设计第,5,章,C,及汇编语言的混合编程第,6,章,ADS,的使用第,7,章,ARM,调试环境的建立第,8,章,S3C2410,处理器,2,第一章 嵌入式微处理器概述,1.1,嵌入式系统的概念,1.2,嵌入式系统的应用领域,1.3,嵌入式微处理器的种类,1.4,嵌入式微处理器的特点,1.5 ARM,处理器的特点,1.6 ARM,处理器系列,1.7,嵌入式操作系统,3,1.1,嵌入式系统的概念,嵌入式系统:,以应用为中心,以计算机技术为基础,软硬件可裁减,以适应应用系统对功能、可靠性、成本、体积和功耗等有严格要求的专用计算机系统。,嵌入式系统组成:,硬件:,微处理器、存储器、,I/O,接口和输入输出设备。,软件:,Embedded,RTOS,(,Real,Time Operating System,)、应用软件。,4,5,嵌入式系统的硬件组成,电源模块,时钟模块,复位电路,外围电路,微处理器,MPU,Flash,SDRAM,JTAG,外设,USB,LCD,键盘,其他,通信模块,6,嵌入式系统的软件结构,应用程序,Application,设备驱动程序,Driver,硬件,(,Hardware,),应用,(,Application,),标准接口函数,(,API,),实时操作系统,(,RT,OS,),硬件抽象层,(,HAL,),BSP,、驱动,硬件,(,Hardware,),不带操作系统软件结构 带操作系统软件结构,两类不同的嵌入式系统结构模型,7,嵌入式系统的特性,硬件特性,体积小、集成效率高。,面向特定的应用。,功耗低、电磁兼容性好。,软件特性,嵌入式软件的开发与硬件紧密相关。,软件代码要求高效率和高可靠性。,软件一般固化在,Flash,或,Rom,中。,软件系统具有高实时性。,一般采用,C,语言开发。,8,嵌入式系统设计流程,嵌入式系统设计流程:,1.,需求分析,2.,体系结构设计,3.,硬件的设计、制作及测试,4.,软件的设计、实现及测试,5.,系统集成,6.,系统性能测试及可靠性测试,9,嵌入式系统开发的要素,计算机体系结构基础知识,数字逻辑电路设计知识,C/C+,编程知识,TCP/IP,网络知识,1.2,嵌入式系统的应用领域,家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。,10,智能家居,11,汽车电子产品(,18,个嵌入式控制模块),CAN,总线网络,VOLVO S80,汽车的,CAN,总线网络,嵌入式应用,汽车电子,12,智能玩具与机器人,13,嵌入式技术应用,工业控制,工业方面:机床、冶金、电子、交通、航空航天等行业技术升级的重要基础,14,阿富汗参加反恐作战的,“,赫耳墨斯,”,价值,4,万美元,可携带,2,架摄像机,发挥了很好作用。,军事侦察,15,2002,年,11,月,28,日,以色列一选举投票点,发生枪击事件,造成至少,7,人死亡,数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体。,反恐防暴,16,微型飞行器,-“,黑寡妇”,空中飞行器,17,基于,Win CE,的移动机器人平台,18,基于,RTLinux,的仿人机器人,高,48 cm,重,:6 kg,灵活性:,20 DOF,操作系统,:RT-Linux,接口形式,:USB 1.0(12Mbps),响应周期,:1ms,能源:,DC24V x 6.2A(150W),制造:富士通,19,基于,VXworks,的火星探路者,20,2004,年“勇气号”再次登陆火星,21,1.3,嵌入式微处理器的种类,嵌入式系统上的处理器单元称为嵌入式微处理器。嵌入式微处理器是嵌入式系统硬件的核心、运行嵌入式系统的系统软件和应用软件。,嵌入式微处理器含有:,处理器内核,地址总线、数据总线、控制类总线,处理器本身的辅助支持电路,如时钟、复位电路等,片上,I/O,接口电路及各种外围设备,22,嵌入式处理器分类,微处理器,(Microprocessor Unit,MPU),微控制器,(Microcontroller Unit,MCU),嵌入式,DSP(Digital Signal,Processor,DSP,),片上系统,(System On,Chip,SOC,),23,嵌入式微处理器,24,目前主要的嵌入式处理器类型有,MC68000,、,PowerPC,、,MIPS,、,ARM/,StrongARM,系列等,嵌入式微处理器,25,嵌入式微控制器,又称单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。,单片机芯片内部集成,ROM/EPROM,、,RAM,、总线、总线逻辑、定时,/,计数器、看门狗、,I/O,、串行口、脉宽调制输出、,A/D,、,D/A,、,Flash RAM,、,EEPROM,等各种必要功能和外设。,代表性的通用系列包括,8051,、,P51XA,、,MCS-251,、,MCS-96/196/296,、,C166/167,、,MC68HC05/11/12/16,、,68300,等。,另外还有许多半通用系列如:支持,USB,接口的,MCU 8XC930/931,、,C540,、,C541,;支持,I2C,、,CAN-Bus,、,LCD,及众多专用,MCU,和兼容系列。目前,MCU,占嵌入式系统约,70,的市场份额。,26,嵌入式微控制器,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。,微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。,27,嵌入式,DSP,处理器,DSP,处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、,FFT,、谱分析等各种仪器上,DSP,获得了大规模的应用。,DSP,处理器对系统结构和指令进行了特殊设计,使其适合于执行,DSP,算法,编译效率较高,指令执行速度也较高。,DSP,的理论算法在,70,年代就已经出现,但是由于专门的,DSP,处理器还未出现,所以这种理论算法只能通过,MPU,等由分立元件实现。,1982,年世界上诞生了首枚,DSP,芯片。在语音合成和编码解码器中得到了广泛应用。,DSP,的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。,28,嵌入式,DSP,处理器,有代表性的产品是,Texas Instruments,的,TMS320,系列和,Motorola,的,DSP56000,系列。,TMS320,系列处理器包括用于控制的,C2000,系列,移动通信的,C5000,系列,以及性能更高的,C6000,和,C8000,系列。,Motorola,公司的,DSP56000,已经发展成为,DSP56000,,,DSP56100,DSP56200,和,DSP56300,等几个不同系列的处理器。,PHILIPS,公司今年来也推出了基于可重置嵌入式,DSP,结构低成本、低功耗技术上制造的,DSP,处理器,特点是具备双,Harvard,结构和双乘,/,累加器单元,应用目标是大批量消费类电子产品。,29,SoC,就是,System on Chip,,,SoC,是一种基于,IP,(,Intellectual Property,)核嵌入式系统设计技术。,它结合了许多功能区块,将功能做在一个芯片上,,ARM RISC,、,MIPS RISC,、,DSP,或是其他的微处理器核心,加上通信的接口单元,例如通用串行端口(,USB,)、,TCP/IP,通信单元、,GPRS,通信接口、,GSM,通信接口、,IEEE1394,、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。,SOC,可以分为通用和专用两类。,通用系列包括,Infineon(Siemens),的,TriCore,,,Motorola,的,M-Core,,,Echelon,和,Motorola,联合研制的,Neuron,芯片等。,专用,SOC,一般专用于某个或某类系统中。有代表性的产品是,Philips,的,Smart XA,嵌入式片上系统,(,SoC,),30,知识产权,31,1.4,嵌入式微处理器的特点,嵌入式微处理器和通用处理器比较,价格便宜,特定的功能,体积小,能耗低,使用方便,32,1.5 ARM,处理器的特点,ARM,的含义:英文缩写为,Advanced RISC Machine,。,ARM,是一种通用的,32,位,RISC,处理器。,32,位是指处理器的数据总线是,32,位的,相比,16,位的同频处理器性能更加强大。,RISC,是一种指令集,也指采用该指令集的处理器,英文缩写:,Reduced Instruction Set Computer,代码效率高。,ARM,是一种功耗很低的高性能处理器。,例如:,ARM7TDMI,具有每瓦产生,690MIPS,的能力,已被证明在工业界处于领先水平。,33,ARM,公司并不生产芯片,而是将,ARM,的技术授权给其它公司生产芯片。,ARM,已售出超过,300,亿个处理器,每天的销量超过,1600,万。,ARM,本质上并不是一种芯片,而是一种芯片结构技术,不涉及到芯片生产工艺。,授权生产,ARM,芯片的公司采用不同的半导体技术,面对不同的应用进行扩展和集成,标有不同系列号。,ARM,是一种可扩展、可移植、可集成的处理器。,34,体积小、低功耗、低成本、高性能;,支持,Thumb,(,16,位)和,ARM,(,32,位)双指令集;,大量使用寄存器,指令执行速度更快;,大多数数据操作都在寄存器中完成;,寻址方式灵活简单,执行效率高;,指令长度固定;,对操作系统的支持广泛。,35,1.6 ARM,处理器系列,ARM7,系列,ARM9,系列,ARM9E,系列,ARM10E,系列,SecurCore,系列,Intel,的,Xscale,Intel,的,StrongARM,36,ARM7,系列微处理器,ARM7,系列微处理器的主要应用领域为:工业控制、,Internet,设备、,网络和调制解调器设备、移动电话等多种嵌入式应用。,ARM7,系列微处理器包括如下几种类型的核:,ARM7TDMI,、,ARM7TDMI-S,、,ARM720T,、,ARM7EJ,。,T,:,支持,16,位压缩指令集,Thumb,;,D,:,支持片上,Debug,;,M,:,支持长乘法指令;,I,:,嵌入式,ICE,,支持片上断点和调试点;,S,:,可综合(,synthesizable,);,E,:,支持增强的,DSP,指令;,J,:,支持,java,加速器,Jazelle.,特点:,能够提供,0.9MIPS/MHz,的三级流水线结构。,主频最高可达,130MIPS,37,ARM9,系列微处理器,主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印,机、数字照相机和数字摄像机等。,ARM9,系列微处理器包含,ARM920T,、,ARM922T,和,ARM940T,三种类型,以适用于不同的应用场合。,特点:,5,级整数流水线,指令执行效率更高。,提供,1.1MIPS/MHz,的哈佛结构。,全性能的,MMU,。,支持数据,Cache,和指令,Cache,,具有更高的指令和数据处理能力。,支持,Windows CE,、,Linux,、,uC/OS-II,、,VxWorks,等多种主流嵌入式操作系统。,38,ARM9E,系列微处理器,ARM9E,系列微处理器主要应用于下一代无线设备、数字消费,品、成像设备、工业控制、存储设备和网络设备等领域。,ARM9E,系列微处理器包含,ARM926EJ-S,、,ARM946E-,S,和,ARM966E-S,三种类型,以适用于不同的应用场合。,特点:,支持,DSP,指令集,适合于需要高速数字信号处理的场合。,5,级整数流水线,指令执行效率高。,支持,32,位,ARM,指令集,和,16,位,Thumb,指令集,支持,VFP9,浮点处理协处理器。,全性能的,MMU,,支持多种主流嵌入式操作系统。,主频最高可达,300MIPS,。,39,ARM10E,系列微处理器,ARM10E,系列微处理器具有高性能、低功耗的特点,由于采用了新,的体系结构,与同等的,ARM9,器件相比较,在同样的时钟频率下,性能提,高了近,50,,并且有更低的功耗。,ARM10E,系列微处理器主要应用于下一代无线设备、数字消费,品、成像设备、工业控制、通信和信息系统等领域。,ARM10E,系列微处理器包含,ARM1020E,、,ARM1022E,和,ARM1026EJ-S,三种类型,以适用于不同的应用场合。,特点:,6,级整数流水线,指令执行效率更高,支持,DSP,指令集,适合于需要高速数字信号处理的场合,支持,VFP10,浮点处理协处理器,全性能的,MMU,,支持多种主流嵌入式操作系统。,主频最高可达,400MIPS,具有极低的功耗,40,SecurCore,系列微处理器,SecurCore,系列微处理器主要应用于一些对安全性要求较高,的应用产品及应用系统,如电子商务、电子政务、电子银行业务、,网络和认证系统等领域。,SecurCore,系列微处理器包含,SecurCore SC100,、,SecurCore SC110,、,SecurCore SC200,和,SecurCore SC210,四种类型,以适用于不同的应用场合。,特点:,提供了对安全解决方案的支持,带有灵活的保护单元,以确保操作系统和应用数据的安全,采用软内核技术,防止外部对其进行扫描探测,可集成用户自己的安全特性和其他协处理器,41,StrongARM,处理器与,Xscale,处理器,StrongARM,处理器系列,Intel StrongARM SA-1100,处理器是采用,ARM,体系结构高度集成的,32,位,RISC,微处理器。采用,5,级流水线,它融合了,Intel,公司的设计和处理技术以及,ARM,体系结构的电源效率,采用在软件上兼容,ARMv4,体系结构、同时采用具有,Intel,技术优点的体系结构。,Intel StrongARM,处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。,Xscale,处理器,Xscale,处理器是基于,ARMv5TE,体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。功耗,0.1mW,1.6W,,工作频率可达,1GHz,。它支持,16,位的,Thumb,指令和,DSP,指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。,Xscale,处理器是,Intel,目前主要推广的一款,ARM,微处理器。,42,目前ARM处理器系列,ARM 应用程序处理器(Cortex-A),应用程序处理器定义的依据是处理器执行复杂操作系统(如,Linux,、,Android/Chrome,、,Microsoft Windows(CE/Embedded),)的能力。,此类处理器集成了一个,内存管理单元,(MMU),以管理这些复杂操作系统的内存要求,并可下载和执行第三方软件。此类处理器的应用包括:,智能手机,特色手机,平板电脑,/,电子书阅读器,高级个人媒体播放器,数字电视,机顶盒和卫星接收器,高端打印机,个人导航设备,服务器,企业,ARM 嵌入式实时处理器(Cotrex-R),ARM Cortex-R,实时嵌入式处理器拥有高性能、实时性、安全性和成本效益。这些处理器通常会执行实时操作系统,(RTOS),,而不是在应用程序处理器上运行的高级操作系统。,Cortex-R,系列处理器的示例应用包括:,大容量存储控制器,汽车、交通控制及安全系统,医疗、工业控制和航空,手机基带处理,企业网络设备,多功能打印机,通信和家庭媒体设备,ARM 嵌入式处理器(Cortex-M),嵌入式处理器可为超低功耗的嵌入式计算应用提供最佳解决方案。此类处理器的应用包括:,商业,MCU,汽车控制系统,电动机控制系统,大型家用电器控制器,智能仪表,传感器,物联网,ARM 安全处理器(SecurCore),SecurCore,应用包括:,SIM,智能卡,高级支付系统,电子护照,电子票务,和运输系统,1.7,嵌入式操作系统,计算机系统由硬件和软件构成,在发展初期并没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源越来越丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序进一步发展形成了操作系统。到目前为止,主流的操作系统有三种:多道批处理、分时和实时操作系统。,48,嵌入式操作系统结构,49,嵌入式操作系统,实时操作系统的特点,IEEE,的实时,UNIX,分委会认为实时操作系统应具备以下的几点,:,异步的事件响应,切换时间和中断延迟时间确定,优先级中断和调度,抢占式调度,内存锁定,连续文件,同步,50,嵌入式操作系统,实时操作系统的特点,总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是,实时性,、,可靠性,和,灵活性,与实时应用软件相结合成为有机的整体起着核心作用,由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。,从实时系统的应用特点来看实时操作系统可以分为两种:,一般实时操作系统,和,嵌入式实时操作系统,。,51,嵌入式操作系统,实时操作系统的特点,一般实时操作系统,应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。,嵌入式实时操作系统,应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小,(,一般在几,K,几十,K,内,),、可固化使用实时性强,(,在毫秒或微秒数量级上,),的特点,。,52,嵌入式操作系统,基本概念,对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。,很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。,前后台系统,53,基本概念,中断服务程序处理异步事件,这部分可以看成,前台行为,,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。,循环中调用相应的函数完成相应的操作,这部分可以看成,后台行为,,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。,ISR,ISR,ISR,ISR,后台,前台,中断服务程序,时,间,前后台系统,嵌入式操作系统,54,嵌入式操作系统,基本概念,操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。,操作系统,硬件,硬件驱动,操作系统,用户程序,55,嵌入式操作系统,基本概念,实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于,RTOS,之上的各个任务,,RTOS,根据各个任务的要求,进行资源,(,包括存储器、外设等,),管理、消息管理、任务调度、异常处理等工作。在,RTOS,支持的系统中,每个任务均有一个优先级,,RTOS,根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。,实时操作系统(,RTOS,),56,嵌入式操作系统,基本概念,一个任务,也称作一个线程,是一个简单的程序,该程序可以认为,CPU,完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套,CPU,寄存器和自己的栈空间。,任务,57,嵌入式操作系统,基本概念,当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即,CPU,寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入,CPU,的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。,CPU,的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于,CPU,有多少寄存器要入栈。,任务切换,58,嵌入式操作系统,基本概念,多任务系统中,内核负责管理各个任务,或者说为每个任务分配,CPU,时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如,2,5,的,CPU,运行时间、,RAM,和,ROM,等。,内核提供必不可少的系统服务,如信号量、消息队列、延时等。,内核,59,嵌入式操作系统,基本概念,调度是内核的主要职责之一。,调度就是决定该轮到哪个任务运行了。,多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指,CPU,总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握,CPU,的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。,调度,60,嵌入式操作系统,基本概念,非占先式内核要求每个任务自我放弃,CPU,的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个,CPU,。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃,CPU,的使用权时,那个高优先级的任务才能获得,CPU,的使用权。,非占先式内核,61,嵌入式操作系统,基本概念,当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到,CPU,的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的,CPU,使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了,CPU,的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。,占先式内核,62,嵌入式操作系统,基本概念,任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。,任务优先级,63,嵌入式操作系统,基本概念,中断是一种硬件机制,用于通知,CPU,有个异步事件发生了。中断一旦被识别,,CPU,保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(,ISR,)。中断服务子程序做事件处理,处理完成后,程序回到:,1,.,在前后台系统中,程序回到后台程序;,2,.,对非占先式内核而言,程序回到被中断了的任务;,3,.,对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。,中断,64,前后台系统,嵌入式操作系统,基本概念,中断,ISR,任务,ISR,非占先操作系统,任务,A,任务,B,任务,C,ISR,占先操作系统,任务,A,任务,B,任务,C,65,嵌入式操作系统,基本概念,时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在,10ms,到,200ms,之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。,时钟节拍,66,使用嵌入式操作系统的优缺点,优点,使程序的设计和扩展变得容易,大大提高了开发效率。,充分发挥,32,位,CPU,多任务的潜力,实现多任务设计,能够充分利用硬件资源和实现资源共享。,实时性和健壮性能够得到更好的保证。,缺点,嵌入式操作系统增加,ROM/RAM,等额外开销,,5,10,的,CPU,额外负荷。,67,嵌入式操作系统分类,按收费模式划分,商用型,Vxworks,Nucleux,,,PlamOS,Symbian,WinCE,QNX,免费型,Android,Linux,CLinux,C/OS-,按实时性划分,硬实时,Vxworks,C/OS-,软实时,WinCE,RTLinux,无实时,Embedded Linux,Android,68,Linux,是开放源码和免费使用的,遍布全球的众多,Linux,爱好者又是,Linux,开发的强大技术后盾。,嵌入式,Linux(Embedded Linux),是指对,Linux,经过小型化裁剪后,能够固化在容量只有几百,K,字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用,Linux,操作系统。嵌入式,Linux,的开发和研究是目前操作系统领域的一个热点。主要有,RTLinux,和,CLinux,Linux,的内核小、功能强大、,API,丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。,Linux,不仅支持,x86 CPU,,还可以支持其他数十种,CPU,芯片。,近几年,Linux,在嵌入式领域异军突起,过去的一年中有,13%,的用户已经开始使用嵌入式,Linux,系统进行开发工作;有,52%,的用户决定在未来,24,个月内开始使用,Linux,作为嵌入式操作系统的开发原型。,嵌入式,Linux,69,cLinux,70,Windows Embedded,Windows CE,:一种针对小容量、移动式、智能化、,32,位、连接设备的模块化实时嵌入式操作系统(缩减的,Win95,)。,针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统,,由于其,Windows,背景,界面比较统一认可。可以使用大多数,Windows,开发工具(如,VB,,,VC,等),大多数,Windows,应用程序经过移植后就可以运行在,WinCE,平台上。,操作系统的基本内核需要至少,200K,的,ROM,。,71,VxWorks,VxWorks,操作系统是美国,WindRiver,公司于,1983,年设计开发的一种嵌入式实时操作系统(,RTOS,),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。,VxWorks,所具有的显著特点是:,可靠性、实时性和可裁减性。,它支持多种处理器,如,x86,、,i960,、,Sun Sparc,、,Motorola MC68xxx,、,MIPS,、,POWER PC,等等。,以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器(,1997,年,7,月,4,日登陆火星表面)。,72,Symbian OS,Symbian,由诺基亚、西门子、索尼爱立信等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。,Symbian,操作系统的前身是,EPOC,。,针对,PDA,及智能手机的,能够提供良好的软实时的操作系统,目前占有,60,的智能手机市场,与之竞争的有,Windows Mobile,、,PalmOS,以及,Linux,主要版本,Series 60/90/80/40,UIQ,73,Palm OS,Palm OS,是著名的网络设备制造商,3COM,旗下的,Palm Computing,掌上电脑公司的产品。,Palm OS,是一套专门为掌上电脑编写的操作系统,充分考虑到了掌上电脑内存相对较小的情况,所以,Palm,操作系统本身所占的内存很小,基于,Palm,操作系统编写的应用程序所占的空间也很小,通常只有几十,KB,,因此基于,Palm,操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。,Palm OS,在,PDA,市场上占有很大的市场份额,,Palm OS,的市场份额占到将近,90%,,最近下降,70,,目前主要与,WIN CE,进行激烈竞争。,代表性的产品有,Palm m505,、,Palm m500,、,Palm III,等。,74,QNX,加拿大,QNX,公司的产品。,QNX,是在,X86,体系上面开发出来的,这和别的,RTOS,不一样,别的好多,RTOS,都是从,68K,的,CPU,上面开发成熟,然后再移植到,X86,体系上面来的。,QNX,是一个实时的、可扩充的操作系统,它部分遵循,POSIX,相关标准,由于,QNX,具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(手掌电脑、手机)、,GPS,设备的实时操作系统使用。,75,C/OS,及,C/OS,-II,C/OS,Micro Controller O S,C/OS,简介,美国人,Jean Labrosse 1992,年完成,已应用于数百种产品中。,应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等,1998,年,C/OS,-II,,目前的版本,C/OS,-II V2.72,2000,年,得到美国航空管理局(,FAA,)的认证,可以用于飞行器中,是一个源码公开、可移植、可裁减、占用资源少、抢先式的实时多任务操作系统。其绝大部分源码采用,ANSI C,写的,移植性好。高校教学可免费使用。,网站,www.ucos-II.com,(,),76,ARM,体系结构,广东省嵌入式软件公共技术中心,广东工业大学信息工程学院,77,第二章,ARM,体系结构,2.1 ARM,处理器工作状态,2.2 ARM,处理器工作模式,2.3 ARM,寄存器,2.4 ARM,的异常中断,2.5 ARM,的存储体系,2.6 ARM,片上总线,78,2.1 ARM,处理器工作状态,ARM,状态。,32,位,,ARM,状态下执行字对齐的,32,位,ARM,指令。,Thumb,状态。,16,位,,Thumb,状态下执行半字对齐的,16,位,Thumb,指令。,在程序执行的过程中,处理器可在,2,种状态下切换。,切换时不影响处理器的模式寄存器的内容。,两种指令集有相应的状态切换命令。,ARM,处理器开始执行代码的时候,只能处于,ARM,状态,79,2.2 ARM,处理器工作模式,ARM,微处理器支持,7,种工作模式,用户模式(,usr,),:,ARM,的正常运行模式,通常用来执行一般的应用程序。,快速中断模式(,fiq,),:由外部触发,用于高速数据传输或通道处理。,外部中断模式(,irq,),:由外部触发,用于一般的外部中断处理。,管理模式(,svc,),:操作系统使用的保护模式。,中止模式,(abt),:数据或者指令预取指出现错误或者异常时进入该模式,用于虚拟内存或存储保护。,系统模式(,sys,),:运行具有特权的操作系统任务。,未定义模式(,und,),:当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。,除了用户模式外,其他模式均可视为特权模式,80,2.2 ARM,处理器工作模式,改变,ARM,处理器工作模式的方法,:,软件改变,改变,CPSR4:0,位,外部中断响应,异常处理,81,2.3 ARM,寄存器,ARM,总共有,37,个寄存器,,31,个通用寄存器,和,6,个状态寄存器,但并不是同时可见的。,R0,R7,:未分组寄存器。,R8R14,:分组寄存器。,R15,:,程序计数器,PC,。,R13,(,SP,),:在,ARM,中常用作堆栈指针,应用程序初始化,R13,,使其指向异常模式专用的堆栈。,R14(LR),:,link register,,放置当前子程序返回地址或异常模式返回地址。,R15,:,Program Counter,(,PC,),CPSR,(,Current Program Status Register,)当前程序状态寄存器。,SPSR,(,Saved Program Status Register,)备份程序状态寄存器,,SPSR,用于在程序异常中断时保存被中断的程序状态,82,2.3 ARM,寄存器,83,关于,PSR,寄存器,PSR,分为,CPSR,和,SPSR,,它们的格式相同。,NZVC,:,指令作运算时的标志位。,IFT,:,I,=1,禁止,IRQ,,,F,=1,禁止,FIQ,,,T,=1,执行,thumb,指令。,Mode bits,User,:,10000,Abort,:,10111,FIQ,:,10001,Undefined,:,11011,IRQ,:,10010,System,:,11111,Supervisor,:,10011,84,运行模式位,M4,:,0,的具体含义,85,条件码标志的具体含义,86,2.4 ARM,的异常中断,复位,(reset):,当处理器的复位引脚有效时,系统产生复位中断,程序跳到中断处理程序处执行。,复位中断发生的情况,:,系统加电时,系统复位时,跳转到复位中断向量处,(0 x00000000),未定义指令,(undefined instruction):,当,ARM,处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常处理。,软件中断,(software interrupt):,由用户定义的中断指令,在实时操作系统中可以通过该机制实现系统功能的调用。,87,2.4 ARM,的异常中断,指令预取中止,(prefech abort):,如果处理器预取的指令的地址不存在,或者该地址不允许当前指令访问,处理器产生指令预取中止异常处理。,数据访问中止,(data Abort):,如果数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常处理。,外部中断请求,(IRQ):,当处理器的外部中断请求引脚有效,而且,CPSR,寄存器的,I,控制位被清除时,处理器产生外部中断请求,(IRQ),异常处理。,快速中断请求,(FIQ):,当处理器的外部快速中断请求引脚有效,而且,CPSR,寄存器的,F,控制位被清除时,处理器产生快速中断请求,(FIQ),异常处理。,88,2.4 ARM,的异常中断,异常中断类型,异常中断模式,向量地址,优先级(,1,最高),复位,管理模式,0 x00000000,1,未定义指令,未定义模式,0 x00000004,6,软件中断,(SWI),管理模式,0 x00000008,6,指令预取中止,中止模式,0 x0000000C,5,数据访问中止,中止模式,0 x00000010,2,保留,0 x00000014,IRQ,(外部中断请求),IRQ,模式,0 x00000018,4,FIQ,(快速中断请求),FIQ,模式,0 x0000001C,3,89,ARM,处理器对异常中断的响应过程,进入异常,中断的过程,(,由内核自动完成,),保存PC,4,值到,新的异常模式的,L,r,中,以便处理完异常后,能正确返回原程序。,保存CPSR到,新的异常模式的,SPSR,中。,强制改变,Mode bits,,使,ARM,进入相应的运行模式。,强制,PC,值,设置成该异常模式的向量地址,从而跳转到相应的异常处理程序处执行程序。,设置,CPSR,中的中断禁止位,以禁止中断发生。,从异常中断返回的过程,(,由内核自动完成,),由链接寄存器,LR,的值恢复,PC,,返回到发生异常展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


嵌入式ARM讲解.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14600885.html