您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 嵌入式系统应用考点总结(中国矿业大学徐海学院信息10-
中国矿业大学徐海学院信息10-1邹柯22100804第一章嵌入式系统概述嵌入式系统--综合描述是现代科学多学科互相融合的以应用技术产品为核心,以计算机技术为基础,以通信技术为载体,以消费类产品为对象,引入各类传感器,进入Internet网络技术的连接,从而适应应用环境的产品。无多余软件,软件以固化态出现,硬件亦无多余存储器,可靠性高,成本低,体积小,功耗少,包含于各种不同类型的设备。技术密集,投资强度大,高度分散,不断创新的知识密集型系统。反映当代最新技术的先进水平。嵌入式系统定义IEEE(国际电气和电子工程师协会)给出的定义:嵌入式系统是用于控制、监视或者辅助装置、机器或者设备运行的装置。通常执行特定功能以微电脑和外围构成核心严格的时序和稳定性要求此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(国内普遍被认同的定义)从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。广义与狭义的嵌入式系统“嵌入式系统”是指操作系统和功能软件集成于计算机硬件系统;广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统如各类单片机和DSP系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点但由于他们没有操作系统,管理系统硬件和软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有操作系统,具有特定功能,用于特定场合的嵌入式系统国内普遍被认同的定义:•嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统三要素三要素:嵌入、专用、计算机嵌入式系统的特点:由三要素引出·嵌入性:嵌入到对象体系中,有对象环境要求·专用性:软、硬件按对象要求裁减·计算机:实现对象的智能化功能嵌入式系统的组成嵌入式系统一般由嵌入式微处理器、外围硬件设计备、嵌入式操作系统及用户应用程序4部分组成。嵌入式系统设计的核心部件是各种类型的嵌入式处理器。⑴嵌入式系统的硬件组成硬件层是由嵌入式微处理器、存储器系统、通用设备接口和I/O接口(A/D、D/A、I/O等)组成。在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(ROM和SDRAM等),就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。嵌入式系统之最小系统嵌入式微处理器—核心、存储器(ROM、RAM、FlashROM)、I/O设备、电源模块、复位嵌入式系统之接口模块USB模块、LCD模块、键盘模块⑵嵌入式系统的软件组成•中间层---板级支持包(BSP)(与硬件相关的底层驱动软件)中间层也称为硬件抽象层(HAL)或板级支持包(BSP),它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。BSP具有以下两个特点:1)操作系统相关性2)硬件相关性设计一个完整的BSP需要完成两部分工作:嵌入式系统的初始化:片级初始化、板级初始化和系统级初始化设计硬件相关的设备驱动。•系统软件层---嵌入式操作系统(是嵌入式应用软件的基础和开发平台。嵌入式系统的出现,解决了嵌入式软件开发标准化的难题。通用性强、可靠性强)软件层由嵌入式操作系统、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成。嵌入式操作系统的作用一般只是为了应用程序提供必要运行环境(任务调度),附加任务通讯、内存管理等功能。嵌入式系统和系统的硬件基础关系紧密,一般都需要移植和配置才可以使用。嵌入式操作系统让嵌入式系统的开发利用通用的功能模块,这可以让开发更加高效。•应用软件层---应用程序在嵌入式系统中,应用程序的层级远远少于通用计算机。由于控制硬件是嵌入式系统基本的操作,因此嵌入式应用程序依然与系统的硬件基础关系密切。尤其在没有操作系统的情况下,嵌入式的应用程序需要直接访问寄存器或者设备的地址来操作硬件。基于RTOS开发的应用程序组成,用来完成对被控对象的控制功能。功能层是面向被控对象和用户的,为方便用户操作,往往需要提供一个友好的人机界面。嵌入式系统发展1、以单芯片为核心的可编程控制器形式的系统。(一般没有操作系统的支持,通过汇编语言直接控制。)2、以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。(有简单操作系统的支持,但通用性较弱。)3、以嵌入式操作系统为标志的嵌入式系统。(兼容性佳。)4、以Internet为标志的嵌入式系统。(与Internet相结合。)第2章ARM微处理器硬件结构⑴什么是ARMARM既可以认为是一个公司的名字,也可认为是对一类微处理器的通称,还可以认为是一种技术的名字。⑵CISC和RISC技术①CISC:复杂指令集计算机(ComplexInstructionSetComputer)•具有大量的指令和寻址方式•8/2原则:80%的程序只使用20%的指令•大多数程序只使用少量的指令就能够运行。②RISC:精简指令集计算机(ReducedInstructionSetComputer)•在通道中只包含最有用的指令•确保数据通道快速执行每一条指令•使CPU硬件结构设计变得更为简单RISC体系结构特点:•指令集中的大多数指令只需要执行简单和基本的功能;•减少存储器访问指令;•芯片逻辑采用硬布线逻辑;•减少指令数和寻址方式•指令译码简化。CISC与RISC的对比⑶计算机体系结构分类①冯·诺依曼体系结构模型冯·诺依曼体系结构的特点1)数据与指令都存储在存储器中2)被大多数计算机所采用ARM7——冯·诺依曼体系结构②哈佛体系结构哈佛体系结构的特点1)程序存储器与数据存储器分开2)提供了较大的存储器带宽3)适合于数字信号处理4)大多数DSP都是哈佛结构ARM9——哈佛体系结构⑷ARM和Thumb指令ARM体系结构在V4版中增加了16位Thumb指令集。ARM指令集效率高,但是代码密度低;Thumb指令集具有较高的代码密度,却仍然保持ARM的大多数性能上的优势,它是ARM指令集的子集。ARM和Thumb状态切换•所有的ARM指令都是可以有条件执行的,而Thumb指令仅有一条指令具备条件执行功能。•ARM程序和Thumb程序可相互调用,相互之间的状态切换开销几乎为零。进入Thumb状态:当操作数寄存器的状态态位为1进入ARM状态:当操作数寄存器的状态态位为0ARM操作面向32位操作数,以字为单位对齐Thumb操作面向16位操作数,以半字为单位对齐;⑸流水线技术流水线(pipeline)是Intel首次在486芯片中开始使用的。流水线(Pipeline)技术:几个指令可以并行执行•提高了CPU的运行效率•内部信息流要求通畅流动为增加处理器指令流的速度,ARM7系列使用3级流水线.⑹ARM存储系统ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式。•大端格式(big-endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中•小端格式(little-endian):与大端存储格式相反。低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。ARM可以用little/bigendian格式存取数据.存储器系统的层次结构第三章ARM寻址方式与指令系统3.1ARM编程模型3.1.1处理器模式处理器7种模式除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。快中断、中断、管理、中止、未定义这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。用户、系统这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。3.1.2ARM微处理器的工作状态第一种:为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种:为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。⑴进入Thumb状态当操作数寄存器的状态位为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef等),则异常处理返回时,自动切换到Thumb状态。Thumb的特点①Thumb是对32位寄存器操作的16位指令集②与32位ARM指令集相比代码尺寸更小,更适合嵌入式应用。③因为是对32位结构的CPU操作,所以比纯16位的指令集效率更高。④与其它32位下的16位指令集相比,它还可以切换到32位ARM指令集并全速执行。⑵进入ARM状态当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。3.1.3内部寄存器在ARM7TDMI处理器内部有37个用户可见的寄存器。31个通用寄存器6个状态寄存器在不同的工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。⑴在汇编语言中寄存器R0~R13为保存数据或地址值的通用寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令;⑵其中R0~R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器;⑶寄存器R8~R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器;寄存器R8~R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。⑷寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。①寄存器R13常作为堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。②R14为链接寄存器(LR),在结构上有两个特殊功能:在每种模式下,模式自身的R14版本用于保存子程序返回地址;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。◇R14(LR)寄存器与子程序调用操作流程:1.程序A执行过程中调用程序B;2.程序跳转至标号Lable,执行程序B。同时硬件将“BLLable”指令的下一条指令所在地址存入R14(LR);3.程序B执行最后,将R14寄存器的内容放入PC,返回程序A;◇R14寄存器与异常发生异常发生时,程序要跳转至异常服务程序,对返回地址的处理与子程序调用类似,都是由硬件完成的。区别在于有些异常有一个小常量的偏移。◇R14寄存器注意要点当发生异常嵌套时,这些异常之间可能会发生冲突。例如:如果用户在用户模式下执行程序时发生了IRQ中断,用户模式寄存器不会被破坏。但是如果允许在IRQ模式下的中断处理程序重新使能IRQ中断,并且发生了嵌套的IRQ中断时,外部中断处理程序保存在R14_irq中
本文标题:嵌入式系统应用考点总结(中国矿业大学徐海学院信息10-
链接地址:https://www.777doc.com/doc-325063 .html