中国矿业大学嵌入式系统开页纸

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

★【嵌入式系统定义】(国内普遍被认同的定义也是从技术角度的定义):是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。)另:嵌入到对象体中的专用计算机系统(从系统角度定义)。。是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。嵌入式系统是指操作系统和功能软件集成于计算机硬件系统。广义:凡是带有微处理器的专用软硬件系统都是(如单片机和DSP系统)。狭义:更加强调那些使用嵌入式微处理器构成独立系统,具有操作系统和特定功能,用于特定场合的嵌入式系统。★【组成】一般由嵌入式微处理器,外围硬件设备,嵌入式操作系统以及用户应用程序4部分组成。特点:由三要素引出:嵌入性:嵌入到对象体系中,有对象环境要求;专用性:软、硬件按对象要求裁减;计算机:实现对象的智能化功能。发展史:(1)以单芯片为核心的可编程控制器形式的系统(2)以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统(3)以嵌入式操作系统为标志的嵌入式系统(4)以Internet为标志的嵌入式系统。发展趋势:硬件:精简系统内核、降低功耗;软件:嵌入式操作系统:便于移植,源代码开放,内核小,执行效率高,网络结构完整;开发平台:强大的硬件开发工具,软件支持包。组成:嵌入式微处理器、外围硬件设计备、嵌入式操作系统及用户应用程序4部分组成,嵌入式系统设计的核心部件是各种类型的嵌入式处理器。【嵌入式系统组成】:(1)硬件层是由嵌入式微处理器、存储器系统、通用设备接口和I/O接口(A/D、D/A、I/O等)组成;硬件层包括:电源电路、时钟电路、存储电路的电路模块,其中操作系统和应用程序固化在模块的rom中;(2)中间层-板级支持包(BSP);它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。(3)系统软件层---嵌入式操作系统;由实时多任务操作系统(RTOS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成(4)应用软件层---应用程序;由基于RTOS开发的应用程序组成,用来完成对被控对象的控制功能。功能层是面向被控对象和用户的,为方便用户操作,需要提供一个友好的人机界面。【RTOS】是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。特点:约束性、可预测性、可靠性、交互性;★【嵌入式微处理器体系结构】冯·诺依曼:(1)由CPU和存储器构成,其程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个处理器的不同物理位置(2)被大多数计算机所采用;ARM7—冯·诺依曼。哈佛:(1)将程序和数据存储在不同的存储空间。即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。(2)提供了较大的存储器带宽(3)适合于数字信号处理(4)大多数DSP都是哈佛结构;ARM9—哈佛。★【RISC】精简指令集计算机:在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单。RISC特点:指令集中的大多数指令只需要执行简单和基本的功能;减少指令数和寻址方式;减少存储器访问指令,采用Load/Store指令;芯片逻辑采用硬布线逻辑,大部分指令控制在1个或小于1个机器周期内完成。;指令译码简化。【CISC】复杂指令集计算机:具有大量的指令和寻址方式、2/8规律、大多数程序只使用少量的指令就能够运行。【区别】CISC指令执行时间很长,可以对存储器和寄存器进行算术和逻辑操作,难以用优化编译器生成高效的目标代码程序;RISC没有较长执行时间的指令,只能对寄存器进行算术和逻辑操作,Load/Store体系结构,采用优化编译技术,生成高效的目标代码程序.【流水线(Pipeline)技术】:几个指令可以并行执行,提高了CPU的运行效率,内部信息流要求通畅流动.【信息存储的字节顺序】:(大多数计算机采用8位(bit)的数据块作为最小的、可寻址的存储器单位,称为1字节。在微处理器中,使用字(word)表明整数和指令数据的的大小。字长决定了微处理器的寻址能力,对于一个字长为n位的微处理器,它的虚拟地址范围为0~2^n-1。地址空间可视为大小2^32个8位的字节/大小2^30个32位的字/大小2^31个16位的半字.)小端存储器系统:低字节数据存放在内存低地址处,高字节数据存放在内存高地址处,存储器系统字节0连接到数据线7~0(低位对齐)。大端~:高字节数据存放在低地址处,低字节数据存放在内存高地址处,~31~24(高位对齐)。注意:如果实际的存储器格式与芯片的存储器格式不符时,只有以字为单位的数据存取才正确,否则将出现不可预期的结果。【嵌入式微处理器的结构和类型】:(1)嵌入式微控制器MCU:将整个计算机系统的主要硬件集成到一块芯片中芯片内部集成ROM/EPROM,RAM,总线,总线逻辑,定时/计数器,Watchdog,I/O,串行口等各种必要功能和外设.(2)嵌入式微处理器MPU:和通用计算机的处理器对应的CPU(3)嵌入式DSP处理器EDSP:专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令执行速度(4)嵌入式片上系统SoC:以知识产权核IP为设计基础,在单个芯片上集成处理器、存储器、各种接口等部件,组成一个部分完整的计算机系统,可以完成特定的应用功能。(5)多核处理器:将两个或多个CPU核封装在一个芯片内部,可节省大量的晶体管和封装成本,同时还能显著提高处理器的性能。【嵌入式系统设计的特点】:嵌入式系统通常是面向特定应用的系统;嵌入式系统的硬件和软件都必须高效地设计,量体裁衣、去除冗余;嵌入式系统设计需要交叉开发环境;嵌入式系统的程序需要固化;嵌入式系统的软件开发难度较大;嵌入式系统还需要提供强大的硬件开发工具和软件包的支持,需要设计者从速度、功能和成本综合考虑。★【开发:“宿主机/目标机”方式】:宿主机(Host)是一台通用的计算机,一般是PC机。它通过串口或网络连接与目标机进行通信。目标机(Target)常用在嵌入式系统的开发过程期间。目标机可以是嵌入式系统的实际运行环境,也可以是能替代实际环境的仿真系统。过程:首先,利用宿主机上丰富的设备资源以及良好的开发环境来开发和仿真调试目标机上的软件。/通过UART接口或Ethernet接口将交叉编译生成的目标代码传输并下载到目标机上,并用交叉调试器在实时内核/操作系统或监控程序的支持下进行实时分析和调试。最后,目标机在特定的环境下运行。【嵌入式系统的设计流程】:开始→系统需求分析阶段→规格说明阶段→体系结构设计阶段→硬件构件设计+软件构件设计+执行装置设计→系统集成→系统测试→嵌入式产品发布→结束【体系结构设计】包括:硬件平台的选择:处理器、硬件部件/软件平台的选择:操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等【采用RISC的ARM微处理器的特点】支持Thumb/ARM双指令集;指令执行采用3级流水线(例ARM7TDMI-S)/5级流水线(例ARM920TDMI);有指令cache和数据cache,大量使用寄存器,指令执行速度更快;支持大端格式和小端格式存储字数据;支持字节(byte,8位)、半字(halfword,16)、字(word,32);支持7种处理模式;具有片上总线AMBA;采用存储器映像I/O的方式;降低了电压电源;体积小,成本低,性能高【ARM(AdvancedRISCMachine)体系结构】32位的ALU;31个32位通用寄存器及6个状态寄存器;32*8位乘法器;32*32位桶形移位寄存器;指令译码及控制逻辑;指令流水线;数据/地址寄存器。★【处理器的运行模式】用户(usr):正常程序执行模式,不能直接切换到其它模式/系统(sys):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其它模式等特权/快速中断(fiq):支持高速数据传输及通道处理,FIQ异常响应时进入此模式/外部中断(irq):用于通用中断处理,IRQ异常响应时进入此模式/管理(svc):操作系统保护模式,系统复位和软件中断响应时进入此模式/数据访问终止(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护/未定义指令终止(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。除用户模式外,其它模式均为特权模式,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。下面五种为异常模式,它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。用户模式和系统模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。用户模式下,当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理中进行处理器模式的切换。★【处理器的工作状态】:(1)ARM状态,此时处理器执行32位的字对齐的ARM指令;(2)Thumb状态,此时处理器执行16位的半字对齐的Thumb指令。ARM指令集效率高,但是代码密度低;Thumb指令集具有较高的代码密度,却仍然保持ARM的大多数性能上的优势,它是ARM指令集的子集。进入Thumb状态:当操作数寄存器的状态位为1时,执行BX指令使微处理器从ARM状态切换到Thumb状态。当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,从异常向量地址开始执行程序也可以进入ARM状态。【ARM指令集和Thumb指令集的不同点】:没有乘加指令及64位乘法指令,没有协处理器指令,没有数据交换指令,没有程序状态寄存器指令★【处理器的寄存器组织】:共有37个寄存器,分为两类。通用32位寄存器(31个):不分组寄存器(R0~R7):对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。分组寄存器(R8~R14):它们所对应的物理寄存器取决于当前的处理器模式。寄存器R8~R12有两个分组的物理寄存器。一组用于FIQ模式,访问R8_fiq~R12_fiq,允许快速中断处理,另一组用于除FIQ以外的其他模式,访问R8_usr~R12_usr。这样在发生FIQ中断后,可以加速FIQ的处理速度。R13~R14有6个分组,一个用于用户和系统模式,其余5个分别用于5种异常模式。R13为堆栈指针(SP):每组异常模式都有自己的分组R13。在入口处,异常处理程序将用到的其他的寄存器的值保存到堆栈中;返回时,重新将这些值加载到寄存器,这种异常处理方法保证了异常出现后不会导致执行程序的状态不靠谱。R14为链接寄存器(LR):当执行带链接分支指令(BL)时,得到R15的备份(当中断或异常出现,或当中断或异常程序执行BL指令时,相应的分组寄存器(如R14_svc)用来保存R15的返回值)。在其他情况下,将R14当作通用寄存器。R15为程序计数器(PC):它指向正在取指的地址。读程序计数器,指令读出的R15的值是指令地址加上8字节,由于ARM指令是字对齐的,所以R15寄存器的最低两位总是为0。在ARM状态下,位【1:0】为0,位【31:2】保存PC;在Thumb状态,位【0】为0,位【31:1】保存PC。状态寄存器(6个):CPSR(R16)为程序状态寄存器,在所有处理器模式下都可以访问CPSR。在异常模式中,另外一个寄存器“程序状态保存寄存器(SPSR)”用于保留CPSR状态。每种异常都有自己的SPSR,

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功