嵌入式系统中国矿业大学复习_第1页
嵌入式系统中国矿业大学复习_第2页
嵌入式系统中国矿业大学复习_第3页
嵌入式系统中国矿业大学复习_第4页
嵌入式系统中国矿业大学复习_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统

复习提纲考试题型:填空题20选择题20简答题30综合题30考试内容:课程教学内容和课程教材内容综合题内容:系统扩展、C程序设计考试形式:开一页A4纸教学主要内容嵌入式系统基础知识嵌入式系统的开发与调试ARM体系结构和指令集ARM汇编语言程序设计基础嵌入式系统硬件平台设计嵌入式系统接口技术(2)第一章嵌入式系统基础知识1.1嵌入系统的定义和组成嵌入式系统的定义嵌入式系统的发展趋势嵌入式系统的组成RTOS1.2嵌入微处理器体系结构1.3嵌入式微处理器的结构和类型1.4嵌入式系统的开发与调试1.1什么是嵌入式系统国内普遍被认同的定义:嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。中国矿业大学信息与电气工程学院1.2嵌入式系统的发展史嵌入式系统设计的核心部件是各种类型的嵌入式处理器。中国矿业大学信息与电气工程学院(1)以单芯片为核心的可编程控制器形式的系统。(2)以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。(3)以嵌入式操作系统为标志的嵌入式系统。(4)以Internet为标志的嵌入式系统。1.3嵌入式系统的组成中国矿业大学信息与电气工程学院软件嵌入式处理器接口接口存储器板级支持包嵌入式操作系统应用程序输入输出硬件软件1.4RTOSRTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。2嵌入式微处理器体系结构冯·诺依曼体系结构与哈佛结构精简指令集计算机流水线技术信息存储的字节顺序3嵌入式处理器的结构和类型中国矿业大学信息与电气工程学院分类:★嵌入式微控制器(MicroControllerUnit)★嵌入式微处理器(EmbeddedMicroProcessorUnit)★嵌入式DSP处理器EDSP(Embedded

DigitalSignalProcessor)★嵌入式片上系统SoC(SystemonChip) ★多核处理器

1.4嵌入式系统的开发与调试

1嵌入式系统设计的特点

嵌入式系统通常是面向特定应用的系统;嵌入式系统的硬件和软件都必须高效地设计,量体裁衣、去除冗余;嵌入式系统设计需要交叉开发环境;嵌入式系统的程序需要固化;

嵌入式系统的软件开发难度较大;嵌入式系统还需要提供强大的硬件开发工具和软件包的支持,需要设计者从速度、功能和成本综合考虑。“宿主机/目标机”方式嵌入式系统的开发通常采用“宿主机/目标机”方式。宿主机(Host)是一台通用的计算机,一般是PC机。它通过串口或网络连接与目标机进行通信。

目标机(Target)常用在嵌入式系统的开发过程期间。目标机可以是嵌入式系统的实际运行环境,也可以是能替代实际环境的仿真系统。

2嵌入式系统的设计流程

2.3体系结构设计体系结构是系统整体结构的一个规划和描述,设计完成之后用于构建整个体系结构的构件。体系结构描述了系统如何实现所述的功能和非功能的需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。2.3体系结构设计包括:硬件平台的选择:处理器、硬件部件软件平台的选择:操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。处理器是最重要的,同时操作系统和编程语言也是非常关键的。处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。第二章ARM体系结构和指令集主要内容:ARM体结构简介ARM微处理器结构ARM微处理器的寄存器结构ARM微处理器的异常处理ARM的存储器结构ARM微处理器指令系统中国矿业大学信息与电气工程学院ARM7TDMI4T1支持Halfword

和signedhalfword/byte和Systemmode支持Thumb指令集24ARM9TDMIARM720TARM940T改良的ARM/Thumb交互作用以及CLZ指令5TESaturatedmathsDSPmultiply-accumulateinstructionsXScaleARM1020EARM9E-SARM966E-S3早期的ARMsARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelle支持Java字节码

6ARM11SIMDARM版本总结2ARM微处理器结构ARM7TDMI-SARM7TDMI的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI一致;嵌入式Embedded-ICE,支持片上断点和调试点;支持64位乘法;支持片上调试Debug;支持高密度16位的压缩Thumb指令集3ARM处理器的寄存器结构处理器的运行模式处理器的工作状态处理器的寄存器组织处理器模式说明备注

用户(usr)正常程序执行模式不能直接切换到其它模式

系统(sys)运行操作系统的特权任务与用户模式类似,但具有可以直接切换到其它模式等特权

快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式

中断(irq)用于通用中断处理IRQ异常响应时进入此模式

管理(svc)操作系统保护模式系统复位和软件中断响应时进入此模式

中止(abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处

未定义(und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式3.1处理器的运行模式处理器7种模式3.2处理器的工作状态进入Thumb状态当操作数寄存器的状态位为0时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef等),则异常处理返回时,自动切换到Thumb状态。进入ARM状态当操作数寄存器的状态位为1时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。3.3内部寄存器简介在ARM处理器内部有37个用户可见的寄存器。在不同的工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiq*R9(SB,v6)R9R9_fiq*R10(SL,v7)R10R10_fiq*R11(FP,v8)R11R11_fiq*R12(IP)R12R12_fiq*R13(SP)R13R13_svc*R13_abt*R13_und*R13_irq*R13_fiq*R14(LR)R14R14_svc*R14_abt*R14_und*R14_irq*R14_fiq*R15(PC)R15状态寄存器R16(CPSR)CPSRSPSR无SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM状态各模式下的寄存器程序状态寄存器

条件位:N=

1-结果为负,0-结果为正或0Z=1-结果为0,0-结果不为0C=1-进位,0-借位V=1-结果溢出,0结果没溢出Q位:仅ARM5TE/J架构支持指示增强型DSP指令是否溢出J位仅ARM5TE/J架构支持J=1:处理器处于Jazelle状态中断禁止位:I=1:禁止IRQ.F=1:禁止FIQ.TBit仅ARMxT架构支持T=0:处理器处于ARM状态T=1:处理器处于Thumb状态Mode位(处理器模式位):0b10000 User0b10001 FIQ0b10010 IRQ0b10011Supervisor0b10111 Abort0b11011 Undefined0b11111 System2731NZCVQ2867IFTmode1623

815

54024fsxc

UndefinedJ2.6ARM指令格式及其寻址方式2.6.1ARM处理器寻址方式2.6.2指令集介绍ARM指令集Thumb指令集2.6.1ARM处理器基本寻址方式寻址方式分类寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM处理器具有9种基本寻址方式。1.寄存器寻址; 2.立即寻址;3.寄存器移位寻址;

4.寄存器间接寻址;5.基址寻址; 6.多寄存器寻址;7.堆栈寻址;

8.块拷贝寻址;9.相对寻址。51寻址:位寻址直接寻址1.指令格式2.条件码3.存储器访问指令4.数据处理指令6.ARM分支指令7.杂项指令8.伪指令ARM指令集ARM是三地址指令格式,指令的基本格式如下:1ARM指令格式ARM指令集——基本指令格式<opcode>{<cond>}{S}<Rd>,<Rn>{,<operand2>}

其中<>号内的项是必须的,{}号内的项是可选的。各项的说明如下:opcode:指令助记符; cond:执行条件;S:是否影响CPSR寄存器的值;Rd:目标寄存器; Rn:第1个操作数的寄存器;operand2:第2个操作数;指令语法目标寄存器(Rd)源寄存器1(Rn)源寄存器2(Rm)ADDr3,r1,r2r3r1r2例:3Load/Store指令ARM指令集——存储器访问指令ARM处理器是典型的RISC处理器,对存储器的访问只能使用加载和存储指令实现。RAM存储空间及I/O映射空间统一编址,除对RAM操作以外,对外围IO、程序数据的访问均要通过加载/存储指令进行。加载(Load):存储器中的数据传送到寄存器;存储(Store):寄存器中的数据传送到存储器;存储器访问指令分为单寄存器操作指令、多寄存器操作指令、交换指令。嵌入式系统第9章ARM汇编语言程序设计基础

汇编伪操作及程序结构基于Linux的GNU汇编器格式汇编语言与C语言混合编程汇编语言程序的结构CODE32AREAcodesec,CODE,READONLYmainPROCSTMFDSP!,{LR}ADR R0,strhelloBL_printfBLwelcomefunLDMFDSP!,{LR}strhello;32位ARM指令段代码段属性只读;函数main;相关寄存器入栈;strhello地址;调用库函数;调用子函数welcomefun;相关寄存器出栈DCB“Helloworld!\n\0”;定义14字节的字节空间ENDP;mainPROC结束welcomefunSTMFDSP!,{LR};子函数welcomefun;相关寄存器入栈ADR R0,adrstrarm;adrstrarm的地址LDR R0,[R0,#0];strarm的值存入r0BL_printf;调用库函数LDMFDSP!,{LR};相关寄存器出栈adrstrarmDCDstrarm;保存strarm的地址AREAconstdatasec,DATA,READONLY,ALIGN=0strarmDCB“WelcometoARMworld!\n\0”;存放字符串EXPORTmain;全局声明main,供外部调用...END;程序结束数据段指定数据段单字节对齐伪代码ARM汇编与C的混合编程汇编程序中调用C程序C程序中调用汇编程序C程序中内嵌汇编语句从汇编程序中访问C程序变量ATPCSATPCS(ARM-ThumbProcedureCallStandard)规定了一些子程序间调用的基本规则,这些规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则。有了这些规则之后,单独编译的C语言程序就可以和汇编程序相互调用。使用C语言编译器编译的C语言子程序满足用户指定的ATPCS类型。而对于汇编语言来说,则需要用户来保证各个子程序满足ATPCS的要求。ATPCS规范要点寄存器的使用规则堆栈使用规则参数传递规则子程序结果返回规则132嵌入式硬件平台设计存储器系统设计S3C2410简介最小系统设计4引脚描述最小系统简介1、一个嵌入式处理器是不能独立工作的,必须给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程序存储器,则还要加上存储器系统,然后嵌入式处理器才可能工作。2、这些提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处理器的最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论