资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,ARM,嵌入式系统设计与开发,课程安排,Chapt 1,嵌入式系统概述,Chapt 2 ARM,体系结构及编程模型,Chapt 3 ARM,指令系统,Chapt 4 ARM,嵌入式程序设计基础,Chapt 5,总结交流,Chapt 1,嵌入式系统概述,嵌入式系统组成,嵌入式微处理器,嵌入式操作系统,常用,Linux,命令,典型嵌入式系统组成,硬件,典型嵌入式系统组成,软件,嵌入式系统定义,IEEE,(国际电气和电子工程师协会)的定义,嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”,(原文为,devices used to control,monitor,or assist the operation of equipment,machinery or plants,),一般定义,“,以,应用,为中心、以计算机技术为基础、,软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求,的,专用,计算机系统。,”,嵌入式系统发展,第一阶段:以单芯片为核心的可编程控制器形式的系统;,第二阶段:以嵌入式,CPU,为基础、以简单操作系统为核心的嵌入式系统;,第三阶段:以嵌入式操作系统为标志的嵌入式系统;,第四阶段:以,internet,为标志的嵌入式系统。,嵌入式系统分类,按表现形式分:(硬件范畴),芯片级嵌入(含程序或算法的处理器),模块级嵌入(系统中的某个核心模块),系统级嵌入,按实时性要求分:(软件范畴),非实时系统(,PDA,),软实时系统(消费类产品),硬实时系统(导引头等工业和军工系统),嵌入式微处理器,硬件基础,冯,诺依曼体系结构和哈佛体系结构,CISC,与,RICS,影响,CPU,性能的因素,存储器系统,冯,诺依曼结构和哈佛结构,冯,诺依曼结构,哈佛,结构,冯诺依曼结构,1,)数据与指令都存储在存储器中,2,)被大多数计算机所采用,3,),ARM7,冯诺依曼体系,哈佛结构,1,)程序存储器与数据存储器分开,2,)提供了较大的数存储器带宽,3,)适合于数字信号处理,4,)大多数,DSP,都是哈佛结构,5,),ARM9,是哈佛结构,CISC,和,RISC,CISC,:复杂指令集(,Complex Instruction Set Computer,),具有大量的指令和寻址方式,大多数程序只使用少量的指令就能够运行。,RISC,:精简指令集(,Reduced Instruction Set Computer),8/2,原则:,80%,的程序只使用,20%,的指令,在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使,CPU,硬件结构设计变得更为简单,影响,CPU,性能的因素:流水线、超标量和缓存,RISC,流水线技术:几个指令可以并行执行,提高了,CPU,的运行效率,内部信息流要求通畅流动,超标量执行:超标量,CPU,采用多条流水线结构,高速缓存,(Cache),1,、为什么采用高速缓存,微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。,2,、高速缓存的工作原理,高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝,。,Question?,什么是虚拟内存,?,什么是物理内存,?,BUS and Bus Bridge,存储器系统,RAM,:随机存取存储器,SRAM,:静态随机存储器,DRAM,:动态随机存储器,1,),SRAM,比,DRAM,快,2,),SRAM,比,DRAM,耗电多,3,),DRAM,存储密度比,SRAM,高得多(体积),4,),DRAM,需要周期性刷新,ROM,:只读存储器,FLASH,:闪存,嵌入式微处理器分类,嵌入式微控制器,(EMCU),嵌入式微控制器的典型代表是单片机,这种位的电子器件,目前在嵌入式设备中仍然有着极其广泛的应用。,单片机芯片内部集成,ROM/EPROM,、,RAM,、总线、总线逻辑、定时,/,计数器、看门狗、,I/O,、串行口、脉宽调制输出、,A/D,、,D/A,、,Flash RAM,、,EEPROM,等各种必要功能和外设。,典型的,EMCU,有,51,系列,MC68,系列,PIC,系列,MSP 430,系列,.,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。,微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器,.,近来,Atmel,推出的,AVR,单片机由于其集成了,FPGA,等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。,嵌入式数字信号处理器(,EDSP,),DSP,处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波,FFT,、谱分析等各种仪器上,DSP,获得了大规模的应用。,DSP,的理论算法在,70,年代就已经出现,但是由于专门的,DSP,处理器还未出现,所以这种理论算法只能通过,MPU,等由分立元件实现。,1982,年世界上诞生了首枚,DSP,片,在语音合成和编码解码器中得到了广泛应用。,DSP,的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。,目前最为广泛应用的嵌入式,DSP,处理器是,TI,的,TMS320C2000/C5000/C6000,系列,,ADI,公司的,DSP,的如,Blackfin,系列,另外如,Intel,的,MCS-296,和,Siemens,的,TriCore,也有各自的应用范围,.,嵌入式微处理器,(EMPU),EMPU,嵌入式微处理器是由通用计算机中的,CPU,演变而来的,,80386,80387,与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。,和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有,Am186/88,、,386EX,、,SC-400,、,Power PC,、,68000,、,MIPS,、,ARM/StrongARM,系列等,嵌入式片上系统,(System On Chip),SoC,就是,System on Chip,,,SoC,嵌入式系统微处理器就是一种电路系统。,它结合了许多功能区块,将功能做在一个芯片上,像是,ARM RISC,、,MIPS RISC,、,DSP,或是其他的微处理器核心,加上通信的接口单元,像是万用串行端口(,USB,)、,TCP/IP,通信单元、,GPRS,通信接口、,GSM,通信接口、,IEEE1394,、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。,SoC,嵌入式系统微处理器所具有的其他的好处可以分为下列几种:,利用改变内部工作电压,降低芯片功耗。,减少芯片对外管脚数,简化制造过程。,减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度。,内嵌的线路可以避免外部电路板在信号传递时所造成系统杂讯。,嵌入式操作系统,操作系统分类,(,1,)顺序执行系统:系统内只含有一个程序,独占,CPU,的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如,DOS,操作系统。,(,2,)分时操作系统:系统内同时可以有多个程序运行,把,CPU,的时间分按顺序分成若干片,每个时间片内执行不同的程序。如,UNIX,(,3,)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有,CPU,的控制权,按实时性分类,具有强实时特点的嵌入式操作系统,具有弱实特点的嵌入式操作系统,没有实时特点的嵌入式操作系统,强实时系统,,其系统响应时间在毫秒或微秒级(数控机床),一航实时系统,,其系统响应时间在毫秒几秒的,数量级上,其实时性的要求比强实时系统要差一,些(电子菜谱的查询),弱实时系统,,其系统响应时间约为数十秒或更长(工程机械控制器),按软件结构分类,(,1,)循环轮询系统:(,Polling Loop,),最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。,Initialize(),While(true),if(condition_1)action_1();,if(condition_2)action_2();,if(condition_n)acition_n();,(,2,)事件驱动系统:(,Event-Driven system,),事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。,应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行(,background,)。中断服务程序处理异步事件,这部分可以看成前台行为(,foreground),。,后台也可以叫做任务级,前台也叫中断级。,例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。,嵌入式操作系统及其特点,嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。嵌入时操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,并且把硬件虚拟化。常见的嵌入式系统,Linux,、,uClinux,、,WinCE,、,uCOS-II,、,VxWorks,、,pSOS,、,Nucleus,、,ThreadX,、,Rtems,、,QNX,、,INTEGRITY,、,OSE,、,C Executive,从应用角度可分为通用型嵌入式操作系统和专用型嵌入式操作系统。常见的通用型嵌入式操作系统有,Linux,、,VxWorks,、,Windows CE.net,等。,常用的专用型嵌入式操作系统有,Smart Phone,、,Pocket PC,、,Symbian,等,。,几种典型的嵌入式系统,VxWorks,VxWorks,操作系统是美国,WindRiver,公司于,1983,年设计开发的一种嵌入式实时操作系统(,RTOS,),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。,VxWorks,所具有的显著特点是:,可靠性、实时性和可裁减性。,它支持多种处理器,如,x86,、,i960,、,Sun Sparc,、,Motorola MC68xxx,、,MIPS RX000,、,POWER PC,、,XScale,等等。,应用领域,:,广泛应用于军事通信,导弹制导,卫星通信,飞机导航等,例如美,-16,战斗机,B-2,隐形轰炸机,Windows Embedded,Windows CE 3.0,:一种针对小容量、移动式、智能化、,32,位、连接设备的模块化实时嵌入式操作系统,针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,,WindowsCE,嵌入但不够实时,属于软实时操作系统,目前也开始中文手机的研究开发。,操作系统的基本内核需要至少,200K,的,ROM,。,嵌入式,Linux,嵌入式系统越来越追求数字化、网络化和智能化。因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,整个系统必须是开放的、提供标准的,API,,并且能够方便地与众多第三方的软硬件沟通。,Linux,的内核小、功能强大、运行稳定、系统健壮、效率高,易于定制剪裁,在价格上极具竞争力,uClinux,是针对没有的处理器设计的,它不能使用处理器的虚拟内存管理技术,它对内存的访问是直接的,所有程序中访问地址都是实际的物理地址,u,linux,专为嵌入式系统做了许多小型化的工作,uC/OS-,COS,不但提供了一个完整的嵌入式实时内核的源代码,而且对这,些代码的细节作了详尽的解释,它不仅告诉读者这个实时内核是,怎么写的,还解释了为什么要这样写。而商业上的实时操作系统,软件不但价格昂贵(一般都在,5,千到,2,万美元的价位上),而且其,中很多都是所谓黑盒子,即不提供源代码。,源代码的绝大部分是用,C,语言写的,经过简单的编译,读者就能在,PC,机上运行,边读书、边实践。由于用汇编语言写的部分只有,200,行左右,该实时内核可以方便地移植到几乎所有的嵌入式应用类,CPU,上。移植范例的源代码可以从因特网上下载。,该操作系统支持多达,64,个任务,大部分嵌入式微处理器都支持,uC/OS-,Nokia N,系列,Symbian OS,Moto A1200 Linux OS,MPX220 Windows Mobile,Dopod,Windows Mobile,嵌入式操作系统的基本概念,操作系统的分类,嵌入式实时操作系统,前台与后台,多任务,任务优先级,调度,非占先式与占先式、可重入型函数,前后台系统(后台循环、前台中断),多任务,一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套,CPU,寄存器和自己的栈空间。,多任务运行的实现实际上是靠,CPU,(中央处理单元)在许多任务之间转换、调度。,CPU,只有一个,轮番服务于一系列任务中的某一个。多任务运行使,CPU,的利用率得到最大的发挥,并使应用程序模块化。,在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化综合实验(时钟、位图、,USB,、,KEY,)。,非占先式与占先式,非占先式(,non-preemptive,),非占先式调度法也称作合作型多任(,cooperative,multitasking,),各个任务彼此合作共享一个,CPU,。,中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到改任务主动放弃,CPU,的使用权时,那个高优先级的任务才能获得,CPU,的使用权。,非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有,CPU,,而不必担心被别的任务抢占。,非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放,CPU,。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到,CPU,的控制权,完全取决于应用程序什么时候释放,CPU,。,非占先式(,non-preemptive,),占先式(,preemptive,),当系统响应时间很重要时,要使用占先(,preemptive,)内核。最高优先级的任务一旦就绪,总能得到,CPU,的控制权。,当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的,CPU,使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了,CPU,的控制权。,使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的任务,CPU,的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。,占先式(,preemptive,),中断与中断优先级,同步与异步,一系列时间相关事件称为同步事件,驱动的任务为同步任务,随机发生的事件称为异步事件,驱动的任务为异步任务,如中断,系统内核(,Kernel,),多任务系统中,内核负责管理各个任务,或者说为每个任务分配,CPU,时间,并且负责任务之间的通信。,内核提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加,ROM,用量,内核本身的数据结构增加了,RAM,的用量。内核本身对,CPU,的占用时间一般在,2,到,5,个百分点之间。,调度(,Dispatcher,),这是操作系统的主要职责之一,它决定该轮到哪个任务运行了。,往往调度是基于优先级的,根据其重要不同被赋予任务不同的优先级。,CPU,总是让处在就绪态的优先级最高的任务先运行。,何时让高优先级任务掌握,CPU,的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。,任务优先级,(priority),每个任务都有其优先级(,priority,),静态优先级和动态优先级。,应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。,应用程序执行过程中,如果任务的优先级是可变的,则称之为动态优先级,.,Question?,1,、什么是,CISC,和,RISC,?,2,、什么是冯,诺依曼体系结构和哈佛体系结 构?,3,、什么是非占先式和占先式?,4,、什么是嵌入式系统?什么是嵌入式操作系统?,常用,Linux,命令,cd directory,进入指定的目录,cd.,进入上一级目录,cd/directory,进入目录,cd,进入用户自己的目录,cp file_from file_to,拷贝文件,ls directory,查看指定目录下的文件,ls-l directory,查看指定目录下文件的详细,ls-a directory,查看指定目录下的所有文件,mkdir new_directory,建一个新目录,rm file,删除一个文件,rm-r directory,删除一个目录,rmdir directory,删除一个目录,chmod,改变文件属性,mv,mv,命令用于移动文件和更名文件。例如:,$mv ye.txt/home,将当前目录下的,ye.txt,文件移动到,/home,目录下,,$mv ye.txt ye1.txt,将,ye.txt,文件改名为,ye1.txt,。,reboot,重启命令,halt,关机命令,man,
展开阅读全文