2022年哈尔滨工业大学嵌入式系统课程考试知识点整理 .pdf
名师整理精华知识点20XX 年秋季嵌入式系统课程复习提纲整理人: 工大A02-6068寝FuriO .C Chapter 1 1、嵌入式系统的定义,嵌入式系统的体系结构,嵌入式系统的组成,嵌入式系统的特点。定义:以应用为中心,以计算机技术为基础,软硬件可以剪裁,适应应用系统对功能、可靠性、成本、体积、重量、功耗严格要求的专用计算机系统。简而言之,就是含有处理器的专用软硬件系统,具有自主信息处理能力。体系结构:硬件层 -中间层 -操作系统层 -应用层硬件层:嵌入式处理器、储存器系统、中断控制器、定时/计时器、 DMAC 、UART 、USB 控制器、 LCD 控制器中间层:板级支持包操作系统层:嵌入式操作系统(文件子系统、图形子系统、网络子系统、其他应用模块)应用层:用户应用程序组成:嵌入式系统主要由嵌入式处理器、外围设备、嵌入式操作系统、用户应用软件系统四部分组成。特点:嵌入专用、综合性强、设计高效、程序固化、需要独立开发系统、生命周期长、可靠性高、成本低、资源受限、功耗低。2、嵌入式处理器的结构:哈佛结构Vs 冯诺依曼结构。哈佛结构:将程序指令和数据分开储存结构;存储器地址独立编址、独立访问;四总线制提高吞吐率(程序、数据分别有相对独立的数据和地址总线);取值与执行能力并行。冯诺依曼结构:指令存储器与数据存储器一体化设计;指令地址和数据地址统一编制;高速运算时,存储传输通道有瓶颈。3、信息存储中的大端模式,小端模式。ARM 处理器支持哪种模式?大端储存:低地址储存字数据的高字节。小端储存:低地址储存字数据的低字节。arm 处理器支持这两种储存模式。4、嵌入式处理器的分类及性能特点。分类:嵌入式微控制器、嵌入式微处理器、嵌入式DSP 处理器、嵌入式片上系统微处理器:嵌入式处理器保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。微控制器 (单片机) :和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 16 页 - - - - - - - - - - 名师整理精华知识点控制,因此称微控制器。DSP 处理器:DSP 处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。在数字滤波、 FFT 、谱分析等各种仪器上DSP 获得了大规模的应用。其运算速度比MPU 快了几十倍,在语音合成和编码解码器中得到了广泛应用。片上系统: SOC 最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SOC 具有极高的综合性,在一个硅片内部运用 VHDL 等硬件描述语言,实现一个复杂的系统。用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高 了系统的可靠性,提高了设计生产效率。5、常见的嵌入式操作系统。哪种应用最广泛?常见嵌入式操作系统:嵌入式Linux,WindowsCE,VxWorks 目前应用最广泛的是Linux 6、嵌入式系统性能评价有何特点。流行的测试基准有哪些。性能评价特点:评价没有统一规范,不同目的、不同人员、采取不同的度量项目和测试方法,对测试结果会有不同的解释。流行的测试基准: MIPS 测试基准、 Dhrystone测试基准, EEMBC 测试向量Chapter 2 1、嵌入式系统设计方法,嵌入式系统设计特点。嵌入式系统设计方法:基于 EDA(PCB) 和 ICE 的设计方法基于 EDA(PLD) 和 EOS 的设计方法基于 IP 核的系统级设计方法嵌入式系统设计特点(与通用系统设计相比):嵌入式系统通常是面向特定应用的系统软/硬件协同并行开发需要交叉开发环境可利用的系统资源相对较少实时嵌入式操作系统的多样性程序需要固化到硬件系统中嵌入式软件开发难度较大2、嵌入式硬件设计需要考虑哪些方面,处理器选择时需要考虑哪些方面。嵌入式硬件设计:体系结构设计、硬件选择、硬件布局处理器选择:应用领域与用户需求,性能,工具链,开发难度,I/O 接口,处理器储存系统选择(MMU ,容量, SDRAM ) ,市场因素(价格、是否易购买,技术支持与售后)3、什么是交叉编译,为什么需要交叉编译。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 16 页 - - - - - - - - - - 名师整理精华知识点交叉编译:简单的说,就是在一个平台上生成另一平台所运行的代码。由于嵌入式系统的可用资源有限,嵌入式开发和调试工作通常要通过高性能的宿主机完成。4、解释 jtag。JTAG: JTAG(Joint Test Action Group; 联合测试行动小组 )是一种国际标准测试协议( IEEE 1149.1 兼容) ,主要用于芯片内部测试。现在多数的高级器件都支持 JTAG 协议, 如 DSP、 FPGA 器件等。标准的 JTAG 接口是 4 线: TMS 、TCK 、TDI 、TDO ,分别为模式选择、时钟、数据输入和数据输出线。5、嵌入式系统软件调试方法有哪几种。嵌入式系统软件调试方法:1,插桩调试法 (stub, 在目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试); 2,直接调试法 ; 3,ROM 仿真调试法 (运行在目标机的Flash 或 ROM 的一段程序负责监控目标机上被调试程序的运行情况通过和宿主机的配合,完成嵌入式系统的调试); 4,模拟器法 (是一组应用程序运行于一个OS 之上( Linux 或 windows )提供对目标板功能的模拟 ); Chapter 3 1、ARM 处理器特点。功耗低、成本低、性能高支持 Thumb(16 位)/ARM(32 位)双指令集指令长度固定 (32 位/16 位) 大量使用寄存器,指令执行速度更快寻址方式灵活简单,执行效率高2、ARM 处理器的各系列情况。通用系列ARM7 系列极低的功耗( 0.28mW/MHz ) ,适合对功耗要求较高的应用; 具有嵌入式 ICE RT 逻辑,调试开发方便 ; 能够提供 0.9MIPS/MHz 的三级流水线结构 ; 支持的操作系统: uC/OS-II 、uCLinux 等; 性能最高可达 130MIPS; ARM7TMDI是目前使用最广泛的32 位嵌入式处理器, 属低端 ARM 处理器核 ; ARM9 系列5 级整数流水线,指令执行效率更高; 提供 1.1MIPS/MHz 的加速能力 ; 全性能的 MMU ,支持 Windows CE、Embedded Linux等; 支持数据 Cache和指令 Cache; 性能最高可达 300MIPS; ARM9E 系列精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 16 页 - - - - - - - - - - 名师整理精华知识点支持 DSP 指令集( MAC ); 5 级整数流水线,指令执行效率更高; 支持 VFP9 浮点处理协处理器 ; 全性能的 MMU ,支持 Windows CE、Embedded Linux等; 支持数据 Cache和指令 Cache; 性能最高可达 300MIPS; ARM10E 系列支持 DSP 指令集( MAC ); 6 级整数流水线,指令执行效率更高; 支持 VFP10 浮点处理协处理器 ; 全性能的 MMU ,支持 Windows CE、Embedded Linux; 支持数据 Cache和指令 Cache; 性能最高可达 400MIPS; ARM11 系列高性能8 级流水 ; 增强的 ARMv6 体系结构 ; 与同等的 ARM10 相比较,在同样的时钟频率下,性能提高了近 50; 时钟频率达到 500750MHz; 低功耗ARM11 系列微处理器采用了两种先进的节能方式,使其功耗极低; 0.6mW/MHz (0.13 m, 1.2V); Cortex 系列ARM Cortex-A Series高性能应用Applications processors for complex OS and user applications 支持 ARM 、Thumb 和 Thumb-2 指令集带 MMU ,运行 Linux、Windows CE等操作系统TI OMAP35xx ,ST(意法半导体)ARM Cortex-R Series实时性应用Embedded processors for real-time systems 支持 ARM 、Thumb 和 Thumb-2 指令集ARM Cortex-M Series 低成本应用Embedded processors optimized for cost sensitive applications Supports the Thumb-2 instruction set only 不带MMU ,不加载或者加载简单嵌入式操作系统不带MMU ,运行 Vxworks 等实时操作系统安全系列SecurCore系列SecurCore系列微处理器专为安全需要而设计精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 16 页 - - - - - - - - - - 名师整理精华知识点具有 ARM 体系结构的低功耗、高性能的特点; 提供了完善的 32 位 RISC 技术的安全解决方案 ; SecurCore系列微处理器在系统安全方面的特点带有灵活的保护单元,以确保操作系统和应用数据的安全; 采用软处理器内核技术(处理器布局随机化),防止外部对其进行扫描探测 ; 可集成用户自己的安全特性和其他协处理器; 3、ARM 处理器的工作模式及模式转换,ARM 处理器的工作状态及状态转换。ARM 微处理器支持 7 种工作模式: User用户、 System系统、 IRQ 外部中断、FIQ 快速中断、 Supervisor管理、 Abort 中止、 Undefined 未定义(详见附录)ARM 处理器工作模式的转换:1、通过软件改变(系统调用) ;2、通过外部中断或异常处理改变(外部中断-IRQ 、FIQ ,异常处理 -来自CPU 内部)ARM 微处理器有两种工作状态:ARM 状态、 Thumb 状态(详见附录)ARM微处理器工作状态转换:在程序执行过程中,可以随时两种工作状态间切换。4、ARM 处理器的异常类型及异常响应和返回过程。异常类型:异常类型具体含义复位当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行未定义指令当 ARM 处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真软件中断该异常由执行 SWI 指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用指令预取中止若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常数据中止若处理器数据访问的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常IRQ (外部中断请求)当处理器的外部中断请求引脚有效,且CPSR 中的 I 位为0 时,产生 IRQ 异常。系统的外设可通过该异常请求中断服务FIQ (快速中断请求)当处理器的快速中断请求引脚有效,且CPSR 中的 F 位为0时,产生 FIQ 异常异常响应:当出现异常后,ARM 处理器会执行以下操作1 将 CPSR 复制到相应的 SPSR 中2 对 CPSR 进行设置根据异常类型,强制设置CPSR 的工作模式位设置中断禁止位,以禁止中断发生如果处理器处于 Thumb 状态,则切换到 ARM 状态3 将下一条指令的地址存入相应链接寄存器LR 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 16 页 - - - - - - - - - - 名师整理精华知识点LR 中保存的是下一条指令的地址(当前执行指令地址4或8,与异常类型有关)4 强制 PC 从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处异常返回:异常响应处理完毕,处理器将从异常返回:1、将 SPSR 复制回CPSR;2、将链寄存器 LR 的值减去相应的偏移量后送到PC 中。另外,复位异常处理程序不需要返回。5、ARM 处理器的寄存器组织的用途。ARM 处理器的寄存器: 37 个 32 位寄存器 (31 个通用寄存器 ,6 个状态寄存器);这些寄存器不能被同时访问,取决于处理器的工作状态、 工作模式。 (详见附录)6、ARM 处理器的寻址方式。ARM 寻址方式:1-立即寻址操作数本身就在指令中给出,只要取出指令也就取到了操作数;2 -寄存器寻址利用寄存器中的数值作为操作数, 这种寻址方式是各类微处理器经常采用的一种方式,也是一种执行效率较高的寻址方式;3 -寄存器间接寻址以寄存器中的值作为操作数的地址,而操作数本身存放在存储器; 4 -基址寻址将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加 ; 5 -相对寻址以程序计数器 PC 的当前值为基地址,指令中的地址标号作为偏移量; 6 -多寄存器寻址一条指令可以完成多个寄存器值的传送,最多传送16 个通用寄存器的值; 7 -堆栈寻址7、ARM 处理器的基本指令(课件中举例的)。基本指令集:1-跳转指令2-数据处理指令(数据传送指令、算术逻辑运算指令和比较指令)3-乘法指令与乘加指令4-程序状态寄存器访问指令5-加载 /存储指令6-数据交换指令7-移位指令8-协处理器指令9-异常产生指令精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 16 页 - - - - - - - - - - 名师整理精华知识点计算机ATXDRXDGNDDTRDSRDTE计算机BTXDRXDGNDDTRDSRDTEChapter 5 1、硬件电路设计原理(几个步骤)。原理图 (SCH)-网络表 (NET)- 印制板 (PCB) 2、集成电路功耗产生的原因,功耗的种类,低功耗设计有哪些技术。集成电路的功耗包括 静态功耗 和动态功耗 两部分静态功耗电路状态没有翻转时产生的功耗静态功耗: Ps = V*I 动态功耗电路状态发生翻转时产生的功耗动态功耗: Pd=V2*f*C V 为工作电压, f 为时钟频率, C 为负载电容目前大多数电路采用CMOS 工艺,静态功耗很小,可以忽略,起主要作用的是动态功耗,因此降低功耗主要从降低动态功耗入手低功耗设计技术:低功耗器件、低功耗电路形式、单电源低电压供电、电源管理单元设计、降低或动态改变处理器的时钟频率、降低持续工作电流、编译低功耗优化设计、硬件软化与软件硬化、减少处理器工作时间、采用快速算法、通信中尽量传输通信速率、数据采集系统中降低采集速率、显示器静态/动态显示3、嵌入式系统的中的存储器类型,解释虚拟存储器。在嵌入式系统中所用到的存储器主要有:触发器(Flip-Flops and Latches ) 、寄存器 (Register Files ) 、静态随机访问存储器 (SRAM) 、动态随机访问存储器(DRAM ) 、闪速存储器 (FLASH ) 、磁盘 (Magnetic Disk)等 . 这些存储器的速度,为触发器最快,寄存器次之,SRAM 再次, DRAM 较慢,然后是 FLASH ,磁盘最慢 ;价格正好反之,磁盘的每兆字节价格最便宜,触发器最贵虚拟存储器 : 虚拟存储器 (Virtual Memory )技术是一种通过硬件和软件的综合来扩大用户可用存储空间的技术;虚拟存储器主要是为了满足应用程序对高速大容量主存的需求;虚拟存储器实现的重定位是由一个地址映象表机构完成 ;虚拟存储器还提供存储共享和保护机制;嵌入式系统的VR 通常由MMU 硬件实现。4、RS232C概述,其机械特性和电气特性,如何实现双机互联。RS232C定义了数据终端设备 (DTE) 与数据通信设备 (DCE)之间的接口特性 ,是接口电路与外设连接的通信标准。机械特性:接口、电缆,e.x.DB25、RJ45 电气特性:非归零、双极性编码、负逻辑电平(逻辑1 -5-15V)双机互联: 1,无硬件握手;2,有硬件握手:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 16 页 - - - - - - - - - - 名师整理精华知识点(硬件握手工作过程详见附录) 5、USB 规范、 USB 构成, USB 体系结构。USB(Universe Serial Bus )规范:USB1.1规范( 1998年, 1.5Mbps、12Mbps)USB2.0规范( 2000年, 1.5Mbps、12Mbps、480Mbps)USB3.0 规范( 20XX 年 11 月 17 日,1.5Mbps、12Mbps、480Mbps、5.0Gbps)USB 构成:一个 USB 系统定义为三个部分,主机、设备、互联。 (详见附录)6、了解 PCI 总线概述及特性。PCI 总线概述:是一种同步的独立于处理器之外的32/64 位系统总线。PCI 总线特性 : 高带宽、高速度与处理器无关,具有自动配置能力同步时序协议集中式仲裁策略典型的多总线体系结构采用主从结构的系统总线支持无限的突发式( Burst)传送可以传送单个数据,也可以是成组数据Chapter 7 1、嵌入式 Linux 的特点,典型嵌入式Linux。嵌入式 Linux 的特点 : 继承了 Linux 的优点开源开放有较为成熟的技术社区体积小无许可证费用工具链越来越完整和丰富可以进行定制化的改造实时性得到了提高对嵌入式的硬件有较好的支持典型嵌入式 Linux:嵌入式 Linux 有多个不同的版本源于 linux 应用于不同的领域有各自的特点典型的嵌入式 Linux 出现很多嵌入式linux: Embedix,ETLinux ,LEM ,RTLinux, LinuxRouterProject,LOAF ,uCLinux,muLinux,ThinLinux,精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 16 页 - - - - - - - - - - 名师整理精华知识点FirePlug 和 PizzaBoxLinux 平台化嵌入式 linux Android Moblin+Maemo MeeGO 2、嵌入式 Linux 的进程状态转换,嵌入式Linux 的进程创建和删除方法,进程调度。3、嵌入式 Linux 系统调用含义,嵌入式Linux 的中断处理过程。4、嵌入式 Linux 的信号机制,进程互斥方法。5、嵌入式 Linux 内存管理机制,虚拟文件系统。附录ARM 微处理器支持7 种工作模式User-用户模式( usr)ARM 处理器正常的程序执行状态System-系统模式( sys)运行具有特权的操作系统任务IRQ- 外部中断模式(irq)用于通用的中断处理FIQ-快速中断模式(fiq )用于高速数据传输或通道处理Supervisor-管理模式( svc)操作系统使用的保护模式复位、软中断调用(SWI)Abort- 中止模式 (abt) 当数据或指令预取中止时进入该模式可用于虚拟存储及存储保护Undefined-未定义指令模式(und)当未定义的指令执行时进入该模式可用于支持硬件协处理器的软件仿真特权模式除用户模式以外,其余6 种模式称之为特权模式(Privileged Modes )当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的异常模式除去用户模式和系统模式以外的5 种又称为异常模式(Exception Modes )常用于处理中断或异常,以及需要访问受保护的系统资源等情况ARM 微处理器的工作状态一般有两种第一种为 ARM 状态处理器执行32 位的 ARM 指令ARM 指令要求字对齐第二种为 Thumb 状态处理器执行16 位的 Thumb 指令精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 16 页 - - - - - - - - - - 名师整理精华知识点Thumb 指令要求半字对齐工作状态切换在程序的执行过程中,处理器可以随时在两种工作状态之间切换处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容ARM 微处理器在开始执行代码时总是处于ARM 状态也就是复位后进入ARM 状态工作状态切换方法进入 Thumb 状态执行 BX 指令BX :带状态切换的跳转指令当操作数寄存器的最低位0为 1时, 可以使微处理器从ARM状态切换到Thumb 状态BX R0 ;R0 的最低位 0 为 1 处理器工作在Thumb 状态,如果发生异常并进入异常处理子程序,则异常处理完毕返回时,自动从ARM 状态切换到Thumb 状态进入 ARM 状态执行 BX 指令BX :带状态切换的跳转指令当操作数寄存器的最低位0 为 0 时,可以使微处理器从Thumb 状态切换到ARM 状态BX R0 ;R0 的最低位 0 为 0 处理器工作在Thumb 状态,如果发生异常并进入异常处理子程序,则进入时处理器自动从Thumb 状态切换到ARM 状态ARM 状态下的寄存器组织通用寄存器通用寄存器包括R0R15 可以分为三类未分组寄存器R0R7 分组寄存器R8R14 程序计数器R15 (PC) 未分组寄存器R0R7 在所有的工作模式下,每个未分组寄存器都指向对应的一个物理寄存器在中断或异常处理进行工作模式转换时,由于不同的处理器工作模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏分组寄存器R8R14 R8R12 每个寄存器对应2 个不同的物理寄存器当使用 FIQ 模式时,访问R8_fiqR12_fiq 当使用其他模式时,访问R8_usrR12_usr R13、R14 每个寄存器对应6 个不同的物理寄存器其中一个寄存器是用户模式与系统模式共用精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 16 页 - - - - - - - - - - 名师整理精华知识点另外 5 个物理寄存器对应于其他5 种不同的工作模式R13 寄存器常用作堆栈指针SP(Stack Pointer) ,一种习惯用法也可使用其他的寄存器作为堆栈指针在 Thumb 指令集中,某些指令强制使用R13 作为堆栈指针在应用程序初始化时,一般都要初始化每种模式下的R13,使其指向该工作模式的栈空间R14 寄存器也称链接寄存器LR (Link Register )当执行 BL 子程序调用指令时,R14 中得到 R15(程序计数器 PC)的备份BL Label ;下一条指令地址LR, LabelPC 当发生中断或异常时, 对应的分组寄存器R14_svc、 R14_irq、 R14_fiq 、R14_abt 和 R14_und 用来保存R15 的返回值其他情况下, R14 用作通用寄存器R15 寄存器R15 寄存器用作程序计数器(PC)在 ARM 状态下,位 1:0为 0,位 31:2用于保存PC 在 Thumb 状态下,位 0为 0,位 31:1 用于保存 PC 由于 ARM 体系结构采用了多级流水结构,对于ARM 指令集而言,PC 总是指向当前执行指令的下两条指令的地址,即PC 的值为当前执行指令的地址值加8 个字节R15 也可用作通用寄存器,但一般不这么使用因为对R15 的使用有一些特殊的限制,当违反了这些限制时,程序的执行结果是未知的CPSR 寄存器用作 CPSR(Current Program Status Register) CPSR 可在任何工作模式下被访问,它包括条件标志位、 中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位异常模式下有一个专用的物理状态寄存器,称为SPSR( Saved Program Status Register)当异常发生时,SPSR 用于保存CPSR 的当前值,从异常退出时则可由SPSR 来恢复 CPSR 用户模式和系统模式不属于异常模式,没有SPSR Thumb 状态下的寄存器组织Thumb 状态下的寄存器集是ARM 状态下寄存器集的一个子集程序可以直接访问8 个通用寄存器(R7R0)程序计数器( PC)堆栈指针( SP)连接寄存器( LR)CPSR 在每一种异常模式下都有一组SP、LR 和 SPSR 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 16 页 - - - - - - - - - - 名师整理精华知识点CPSRCPSRSPSRPCR15当前程序状态寄存器LRR14SPR13R12R11R10R9R8R7R7R6R6R5R5R4R4R3R3R2R2R1R1R0R0ThumbARM备份程序状态寄存器程序计数器未分组寄存器分组寄存器工作状态链接寄存器堆栈指针SPSR两种状态下寄存器比较程序状态寄存器的构成一个当前程序状态寄存器(CPSR)五个备份程序状态寄存器(SPSR)备份的程序状态寄存器用来进行异常处理程序状态寄存器的功能保存 ALU 中的当前操作信息控制允许和禁止中断设置处理器的工作模式条件码标志( Condition Code Flags )N、Z、C、V 均为条件码标志位它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行在 ARM 状态下,绝大多数的指令都是有条件执行的在 Thumb 状态下,仅有分支指令B 是有条件执行的标志位 N 当用两个补码表示的带符号数进行运算时N=1 表示运算结果为负数N=0 表示运算结果为正数或零精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 16 页 - - - - - - - - - - 名师整理精华知识点标志位 Z Z=1 表示运算结果为零;Z=0 表示运算结果为非零标志位 V 对于加 /减法运算指令, 当操作数和运算结果为补码表示的带符号数时, V=1 表示符号位溢出对于其他的非加/减运算指令, V 的值通常不改变标志位 C 加法运算(包括比较指令CMN ) :当运算结果产生了进位时(无符号数溢出) ,C=1,否则 C=0 减法运算(包括比较指令CMP ) :当运算时产生了借位(无符号数溢出),C=1,否则 C=0 对于包含移位操作的非加/减运算指令, C 为移出值的最后一位对于其他的非加/减运算指令, C 的值通常不改变中断禁止位I 和 F I=1 禁止 IRQ 中断; I=0 允许 IRQ 中断F=1 禁止 FIQ 中断; F=0 允许 IRQ 中断运行状态控制位T 对于 ARM v5 及以上的 T 系列处理器,当该位为1 时,程序运行于Thumb 状态,否则运行于ARM 状态对于 ARM v5 及以上的非T 系列处理器,当该位为1 时,执行下一条指令以引起未定义指令异常;当该位为0 时,表示运行于ARM状态工作模式位M4:0 这些位决定了处理器的工作模式指令助记符助记符指令功能描述ADC带进位加法指令ADD加法指令AND逻辑与指令B跳转指令BIC位清零指令BL带返回的跳转指令BLX带返回和状态切换的跳转指令BX带状态切换的跳转指令CDP协处理器数据操作指令CMN取负比较指令CMP比较指令精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 16 页 - - - - - - - - - - 名师整理精华知识点助记符指令功能描述ADC 带进位加法指令ADD 加法指令AND 逻辑与指令B 跳转指令BIC 位清零指令BL 带返回的跳转指令BLX 带返回和状态切换的跳转指令BX 带状态切换的跳转指令CDP 协处理器数据操作指令CMN 取负比较指令CMP 比较指令助记符指令功能描述ORR 逻辑或指令RSB 反向减法指令RSC 带借位的反向减法指令SBC 带借位减法指令STC 协处理器寄存器写入存储器指令STM 批量内存字写入指令STR 寄存器到存储器的数据传输指令SUB 减法指令SWI 软件中断指令SWP 交换指令TEQ 相等测试指令TST 位测试指令ExampleCode: C code void swap ( int v , int k ) int temp ; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 16 页 - - - - - - - - - - 名师整理精华知识点temp = v k ; v k = v k + 1 ; v k + 1 = temp ; 寄存器分配v RN 0 ;v K RN 1 ;k temp RN 2 ;local variable temp2 RN 3 ;temporary for vk+1 vkaddr RN 12 ;to hold address of vk ARM codeswap: add vkaddr, v, k, LSL #2 ; reg vkaddr=v+k*4 ; reg vkaddr has the address of vk LDR temp, vkaddr, #0 ; temp = v k LDR temp2, vkaddr, #4 ; temp2 = v k + 1 STR temp2, vkaddr, #0 ; v k = temp2 STR temp, vkaddr, #4 ; v k + 1 = temp mov pc, lr ; return to calling routine 利用硬件握手进行发送和接收数据的工作过程计算机 A 接收计算机B 发送当计算机A 准备好,则使DTR 有效。计算机B 通过采集DSR 知道当计算机A 准备好接收数据,则可以发送数据当计算机A 未准备好,则使DTR 无效。计算机B 通过采集DSR 知道当计算机A 未准备好接收数据,则可以停止发送数据计算机 B 接收计算机A 发送当计算机B 准备好,则使DTR 有效。计算机A 采集 DSR,知道当计算机 B 准备好接收数据,则可以发送数据当计算机B 未准备好,则使DTR 无效。计算机A 通过采集DSR 知道当计算机B 未准备好接收数据,则可以停止发送数据一个 USB 系统定义为三个部分主机( Host)一个 USB 系统只有一个主机设备( Device)一个 USB 系统最多有127 个设备集线器也是设备互连( Interconnect)主从结构,只有主机才能启动数据传输采用主机轮询方式通信(类似程序查询方式)主机与设备可以通信,设备之间不能通信精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 16 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 16 页 - - - - - - - - - -