ARM9嵌入式复习总结
ARM9嵌入式系统复习

ARM9嵌入式系统复习选择15*1判断10*1专业名词5*2简答4*5综合分析10*21、嵌入式系统的定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、提及、功耗严格要求的专用计算机系统。
2、嵌入式系统的基本特征:嵌入性、专用性、计算机系统。
专用性:采用专用的嵌入式处理器,功能、算法和专用性。
小型化与有限资源、资源约束和空间约束与专用性。
3、嵌入式系统的组成:嵌入式系统通常由嵌入式微处理器、嵌入式操作系统、应用软件和外围设备借口的嵌入式计算机系统和执行装置(被控对象)组成。
4、RTOS的定义:RTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。
RTOS的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间。
5、RTOS的特点:①约束性②可预测性③可靠性④交互性6、RTOS的调度技术:(1)抢占式调度和非抢占式调度(2)静态表驱动策略和优先级驱动策略7、RTOS的分类:主要分为硬实时系统和软实时系统两类。
8、实时系统的分类:根据任务的周期划分:周期任务、偶发任务、非周期任务根据是否允许任务超时:强实时任务、准实时任务、弱实时任务、弱强实时任务9、RTOS的内核:实时内核(μC/OS)、基于组件的内核(如OS-Kit\Coyote、2K、MMLite)、基于Q0S的内核、通用操作系统的实时变种(如RT-linux、RTAI-linux、实时windows NT/XP)。
10、CISC的定义:早期的计算机采用的复杂指令集计算机。
11、RISC的定义:精简指令集计算机。
(ARM用的是RISC)12、RISC计算机的特点:①流水线每周期前进一步②更多的通用寄存器③有独立的Load和Store指令完成数据的传输。
13、ARM9系列微处理器通常采用五级流水线技术,包括:取指令(F)、译码(D)、执行(E)、访存(M)、回写(W)。
ARM9复习题

ARM9复习题1、嵌入式系统的定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2、嵌入式系统的三个基本要素:嵌入性、专用性、计算机系统。
3、GUI:图形用户界面(接口)API:应用系统接口IP核:知识产权核RISC:精简指令集计算机CISC:复杂指令集计算机HAL:硬件抽象层BSP:板级支持包4、嵌入式系统的组成:嵌入式微处理器(EMPU)硬件存储器通用设备接口和I/O接口应用程序系统软件操作系统(OS)软件中间层/驱动层:BSP、HAL应用软件5、实时系统(RTOS)包括强实时系统和弱实时系统。
6、嵌入式微处理器体系结构:1)冯诺依曼结构(ARM7):程序、数据存在一个存储器的不同物理位置。
2)哈佛结构(ARM9):程序、数据分开放在不同存储器中。
7、ARM7:三级(取指、译码、执行)流水线ARM9:五级(取指、译码、执行、数据缓冲、回写)8、处理器的分类:嵌入式微控制器、嵌入式微处理器、嵌入式DSP处理器、嵌入式片上系统。
9、ARM处理器结构:小端存储格式、大端存储格式。
10、ARM处理器的七种工作模式:用户模式(usr)、快速中断模式(fiq)、外部中断/普中断模式(irq)、管理模式(svc)、系统模式(sys)、未定义(und)、中止(abt)。
特权模式(除用户)、异常模式5种(特权模式除系统模式)11、处理器的工作状态:32位的ARM和16位的Thumb。
12、ARM和Thumb的切换方法:1.系统上电复位后—ARM状态(32位代码)异常发生—ARM(处理后)—Thumb2.ThumbThumb(BX)—ARM1—Thumb3.BX Rm0—ARM13、ARM状态下的寄存器(37个):通用的寄存器(31个):32位R0—R15其中R0—R7是所有模式均可用的,R13(SP 堆栈指针)、R14(LR 链接寄存器)、R15(PC 程序计数器)状态寄存器(6个):14、ARM体系结构的异常类型和异常处理模式:复位——复位——管理模式;未定义指令——未定义指令——未定义模式;软件中断——软件中断——管理模式;指令欲取中止——中止(预取指令)——中止模式;数据中止——中止(数据)——中止模式;IRQ——IRQ——外部中断请求模式;FIQ——FIQ——快速中断请求模式。
arm嵌入式学习——学习总结

ARM嵌入式学习笔记ARM嵌入式学习笔记 (1)1.嵌入式系统概述 (3)1.1.定义及特点 (3)1.2.嵌入式系统的发展 (3)1.3.未来嵌入式系统的发展方向 (3)1.4.典型的嵌入式系统的组成 (4)2.嵌入式软硬件系统 (4)2.1.电路的基本知识 (4)2.2.数制转换 (4)2.3.计算机组成原理 (4)2.4.嵌入式软件 (5)2.5.计算机编程语言 (5)2.6.数据结构 (5)2.7.操作系统 (5)2.7.1.操作系统的设计思路 (5)2.7.2.操作系统的分类 (5)3.ARM处理器 (6)3.1.微处理器和微控制器 (6)3.2.ARM处理器介绍 (6)3.2.1.ARM渗透到了许多应用领域 (6)3.2.2.ARM具有的优点 (6)3.2.3.ARM指令集 (6)3.3.ARM的结构 (15)3.3.1.ARM体系结构的命名 (15)3.3.2.处理器工作模式 (16)3.3.3.存储系统 (16)3.3.4.寻址方式 (16)4.嵌入式Linux (17)1.嵌入式系统概述1.1.定义及特点嵌入式系统是一种为特定设备服务,软硬件可裁剪的计算机系统,其英文名称是Embedded System。
特点是形式变化多样、体积小,可以灵活地适应各种设备的需求。
嵌入式系统的一些例子:手机、汽车、ATM等等。
1.2.嵌入式系统的发展电子计算机诞生以来,计算机的发展有两个方向:一个方向是体积大型化、处理能力超强的大型计算机;另一个是向体积小型化,功能多样化的方向发展。
●嵌入式微控制器即传统意义上的单片机,是目前嵌入式系统的前身。
一般都是8位或者16位。
●嵌入式微处理器单片机的发展时间较早,处理能力很低,只能应用在一些相对简单的控制领域。
嵌入式微处理器是近几年随着大规模集成电路发展同步发展起来的。
与单片机相比,嵌入式微处理器的处理能力更强,主流的嵌入式微处理器都是32位的。
嵌入式微处理器在一个芯片上集成了复杂的功能,有的还把常见的外部设备控制器也集成到芯片内部。
ARM嵌入式期末复习

一、名词解释1、嵌入式微控制器MCU,又名单片机,将整个计算机系统集成到一块芯片中。
与微处理器相比,最大特点是单片化,体积减小,功耗和成本下降、可靠性提高,是目前嵌入式系统工业的主流。
2、RTOS实时操作系统,针对不同处理器优化设计的高效、实时、多任务内核。
3、嵌入式系统以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统4、JTAGJTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。
1、IP核IP核是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。
2、流水线技术是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。
3、MMU内存管理单元包含指令cache,指令MMU,数据cache,数据MMU4、DMA这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。
5、交叉编译环境交叉编译是指,在某个主机平台上用交叉编译器编译出可在其他平台上运行的代码的过程。
二、简答题1、ARM处理器的工作状态与切换方法ARM处理器有32位ARM和16位Thumb两种工作状态。
在32位ARM状态下执行字对齐的ARM指令,在16位Thumb状态下执行半字对齐的Thumb指令。
ARM处理器在两种工作状态之间可以切换,切换不影响处理器的模式或寄存器的内容。
(1)当操作数寄存器的状态位(位[0])为1时,执行BX指令进入Thumb状态。
如果处理器在Thumb状态进入异常,则当异常处理返回时,自动转换到Thumb状态。
(2)当操作数寄存器的状态位(位[0])为0时,执行BX指令进入ARM状态,处理器进行异常处理。
ARM9嵌入式系统复习重点

ARM9嵌入式系统复习重点1.1 嵌入式微处理器的分类(P13)答:根据用途,微处理器分为:嵌入式微控制器,嵌入式微处理器(ARM系列,MIPS系列,PowerPC系列),嵌入式DSP处理器,嵌入式片上系统,双核和多核处理器;1.2 嵌入式操作系统的特性答:嵌入式操作系统便于移植,具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,能够在短时间内支持更多的微处理器。
1.3 3级流水线与总线架构(P10)2.1 ARM7 TDMI 命名(P24)2.2 ARM的两种状态与7种工作模式答:ARM微处理器的2种工作状态(P28):32位ARM(操作数寄存器的状态位0)执行字方式指令,16位Thumb(操作数寄存器的状态位为1)执行半子方式指令;ARM微处理器支持的7种运行模式为:(P27-28)非特权模式:usr(用户模式);特权模式:fiq(快速中断模式),irq(外部中断模式),svc(管理模式),Abt(数据访问终止模式),sys(系统模式),und(未定义指令终止模式);2.3 ARM常用几个寄存器功能(P29-31)答:1)通用寄存器:不分组寄存器(R0-R7 工作在所有处理器模式下,无隐含的特殊用途);分组寄存器(R8-R14 R13用作堆栈指针SP, R14用作子程序链接寄存器LR);程序计数器PC(R15);2)程序状态寄存器CPSR (R16)2.4 存储器格式(P36 图2.5.1)答:大端存储(低字节存放在低地址);小端存储(低字节存放在高地址);例如,假设一个32位字长的微处理器上定义一个int类型的常量a,其内存地址位于0x6000处,其值用十六进制表示为0x23456789。
如图1.2.2(a)所示,如果按小端法存储,则其最低字节数据0x89存放在内存低地址0x6000处,最高字节数据0x23存放在内存高地址0x6003处。
如图1.2.2(b)所示,如果按大端法存储,则其最高字节数据0x23存放在内存的低地址0x6000处,而最低字节数据0x89存放在内存的高地址0x6003处。
嵌入式系统原理及应用复习知识点总结

第一章1、嵌入式系统的应用范围:军事国防、消费电子、信息家电、网络通信、工业控制。
2、嵌入式系统定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件与硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
(嵌入式的三要素:嵌入型、专用性与计算机系统)。
3、嵌入式系统的特点:1)专用性强;2)实时约束;3)RTOS;4)高可靠性;5)低功耗;6)专用的开发工具和开发环境;7)系统精简;4、嵌入式系统的组成:(1)处理器:MCU、MPU、DSP、SOC;(2)外围接口及设备:存储器、通信接口、I/O接口、输入输出设备、电源等;(3)嵌入式操作系统:windows CE、UCLinux、Vxworks、UC/OS;(4)应用软件:Bootloader5、嵌入式系统的硬件:嵌入式微处理器(MCU、MPU、DSP、SOC),外围电路,外部设备;嵌入式系统的软件:无操作系统(NOSES),小型操作系统软件(SOSES),大型操作系统软件(LOSES)注:ARM处理器三大部件:ALU、控制器、寄存器。
6、嵌入式处理器特点:(1)实时多任务;(2)结构可扩展;(3)很强的存储区保护功能;(4)低功耗;7、DSP处理器两种工作方式:(1)经过单片机的DSP可单独构成处理器;(2)作为协处理器,具有单片机功能和数字处理功能;第二章1、IP核分类:软核、固核、硬核;2、ARM处理器系列:(1)ARM7系列(三级流水,thumb指令集,ARM7TDMI);(2)ARM9系列(DSP处理能力,ARM920T)(3)ARM/OE(增强DSP)(4)SecurCone 系列(提供解密安全方案);(5)StrongARM系列(Zntle产权);(6)XScale系列(Intel产权);(7)Cortex系列(A:性能密集型;R:要求实时性;M:要求低成本)3、ARM系列的变量后缀:(1)T:thumb指令集;(2)D:JTAG调试器;(3)快速乘法器;(4)E:增强DSP指令;(5)J:Jave加速器4、ARM{X}{Y}{Z}{T}{D}{M}{I}{E}{J}{F}{S} :x—系列号,y—内部存储管理和保护单元,Z—含有高速缓存。
ARM嵌入式系统复习重点

1、嵌入式系统的定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件、硬件可剪裁,适应应用系统对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。
2、OS 操作系统RTOS实时操作系统3、嵌入式系统具有哪些特点:(1)专用、软硬件可剪裁配置。
(2)低功耗、高可靠性、高稳定性。
(3)软件代码短小精悍。
(4)代码可固化(5)实时性(6)弱交互性(7)嵌入式系统软件开发通常需要专门的开发工具和开发环境。
(8)要求开发、设计人员有较高的技能。
4、嵌入式系统的组成结构:(1)硬件层,包括嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。
(2)中间层,将系统上层软件与底层硬件分开,使系统的底层驱动程序与硬件无关。
(3)软件层,由实时多任务操作系统(RTOS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成。
RTOS是嵌入式应用软件的基础和开发平台。
{嵌入式操作系统(EOS)负责嵌入系统的全部软硬件资源的分配、任务调度,控制、协调并发活动。
嵌入式文件系统主要提供文件存储、检索、更新等功能。
图形用户接口(GUI)极大的方便了非专业用户的使用,人们不再需要死记硬背大量的命令,取而代之的是可用通过窗口、菜单、按键等方式来方便的进行操作。
}(4)功能层,用来实现对被控对象的控制功能。
5、嵌入式系统硬件初始化:可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化、系统初始化。
1、目前嵌入式处理器以32位为主,其中以ARM处理器应用最为广泛。
2、采用RISC架构的ARM微处理器一般具有如下特点(1)体积小、低功耗、低成本、高性能。
(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8/16位器件。
(3)大量使用寄存器,指令执行速度更快。
(4)大多数数据操作都在寄存器中完成。
(5)寻址方式灵活简单,执行效率高。
arm嵌入式复习资料

uC/OS操作系统运行状态?P18
答:就绪ready、运行running、休眠dormant、ISR中断
PPT:运行态、等待态、就绪态、将死态、中断态(不包括内存运行态、外存运行态)
uC/OS任务函数结构?
答:无限循环(for(;;)、一定是调用函数0)、自我删除结构(不需要循环)
•(3)在LCD上画一下红色填充圆红色圆
•2、在LCD上画红色圆动画显示效果
•红色圆每移一格停约一秒,移动后应擦除
•3、在LCD上灰色填充物
•/#include "..\..\Gui\Init\GUI_Init.h"
•#include "..\gui\glib\glib.h"
•#include "..\lcddrv\inc\lcd.h"
3)适合于数字信号处理.
4)大多数DSP都是哈佛结构.
5)ARM9是哈佛结构
6)取指和取数在同一周期进行,提高速度,
ARM9处理器的运行模式?
――用户模式(usr)
――快速中断模式(fiq)
――外部中断模式(irq)
――管理模式(svc)
――数据访问中止模式(abt)
――系统模式(sys)
――未定义指令中止模式(und)
•Fill_Rect(x*64,y*60,x*64+63,y*60+14);
•Fill_Rect(x*64,y*60+30,x*64+63,y*60+44);
•Fill_Rect(x*64+20,y*60,x*64+39,y*60+59);
•};
•
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM9嵌入式复习第一章1.嵌入式微处理器的分类。
a)什么是嵌入式微处理器?1.嵌入式微处理器是嵌入式系统硬件层的核心,嵌入式微处理器将通用CPU中许多由板卡完成的任务集成到芯片内部,从而有利于系统设计趋于小型化、高效率和高可靠性。
嵌入式微处理器大多工作在为特定用户群所专门设计的系统中。
2.嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令集系统CISC(Complex Instruction Set Computer, CISC)。
b) 嵌入式微处理器分类1.按照系列分:ARM系列、MIPS系列、PowerPC系列。
2.按照指令复杂程度分:CISC和RISC两类2.微处理器划分:a)嵌入式微控制器b)嵌入式微处理器c)DSP处理器d)嵌入式片上系统e)多核处理器3.嵌入式操作系统(EOS)的特性EOS除具备了一般操作系统最基本的任务调度、同步机制、中断处理、文件处理等功能外,还具有如下特点:强实时性;支持开放性和可伸缩性的体系结构,具有可裁减性;提供统一的设备驱动接口;提供操作方便、简单、友好的图形GUI和图形界面;支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,提供强大的网络功能。
第二章1.ARM7TDMI命名2.3级流水线与总线架构三级流水线:流水线使用3个阶段,因此指令分为3个阶段执行1.取指:从程序存储器中读取指令,放入流水线中2.译码:操作码和操作数被译码,决定执行什么功能,为下一个始终周期准备数据路径所需要的控制信号。
3.执行:执行已译码的指令注:程序计数器(PC)指向被取指的指令,而不是指向正在执行的指令在正常操作的过程中,在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出3.ARM的两种状态与7种工作模式a)两种状态。
i.ARM状态:32位,这种状态下执行的是字方式的ARM指令;ii.Thumb状态:16位,这种状态下执行半字方式的Thumb指令。
注:两个状态之间的切换并不影响处理器模式或寄存器内容,可以使用BX指令切换两种状态.状态寄存器CPSR的T位反应了处理器运行不同指令的当前状态.b)7种工作模式。
注:除用户模式外,其它模式均为特权模式。
ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。
此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。
题目:ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor4.ARM常用几个寄存器功能在ARM7TDMI处理器内部有37个用户可见的寄存器。
31个通用32位寄存器,6个状态寄存器。
a.堆栈寄存器(SP):R13,在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。
但是在Thumb指令集中存在使用R13的指令。
b.链接寄存器(LR):R14,在结构上有两个特殊功能:1.在每种模式下,模式自身的R14版本用于保存子程序返回地址;2.当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。
c.程序计数器(PC):R15,在ARM状态,位[1:0]为0,位[31:2]保存PC。
在Thumb状态,位[0]为0,位[31:1]保存PC。
对于ARM指令集而言,PC总是指向当前指令的下两条指令的地址,即PC的值为当前指令的地址值加8字节。
d.程序状态寄存器(CPSR):R16,在所有处理器模式下都可以访问CPSR。
每种异常模式都有一个程序状态保存寄存器(SPSR),在异常发生时,SPSR用于保存CPSR的状态。
5.条件代码标志N 运算结果的最高位反映在该标志位。
对于有符号二进制补码,结果为负数时N=1,结果为正数或零时N=0;Z 指令结果为0时Z=1(通常表示比较结果“相等”),否则Z=0;C 当进行加法运算(包括CMN指令),并且最高位产生进位时C=1,否则C=0。
当进行减法运算(包括CMP 指令),并且最高位产生借位时C=0,否则C=1。
对于结合移位操作的非加法/减法指令,C为从最高位最后移出的值,其它指令C通常不变;V 当进行加法/减法运算,并且发生有符号溢出时V=1,否则V=0,其它指令V通常不变。
附:控制位I、F中断控制位——控制允许和禁止中断T控制(标志)位——反映处理器的运行状态M控制位——决定了处理器的运行模式6.中断号、中断向量与优先级。
(7种异常)7.存储器格式。
a)ARM体系结构使用232个字节的单一、线性地址空间。
将字节地址做为无符号数看待,范围为0~232-1b)对于字对齐的地址A,地址空间规则要求如下:●地址位于A的字由地址为A、A+1、A+2和A+3的字节组成;●地址位于A的半字由地址为A和A+1的字节组成;●地址位于A+2的半字由地址为A+2和A+3的字节组成;●地址位于A的字由地址为A和A+2的半字组成。
注:这样并不能完全定义字,半字和字节之间的映射。
存储器采用下列映射机制中的一种。
大端存储:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中小端存储:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节例如,假设一个32位字长的微处理器上定义一个int类型的常量a,其内存地址位于0x6000处,其值用十六进制表示为0x23456789。
如图1.2.2(a)所示,如果按小端法存储,则其最低字节数据0x89存放在内存低地址0x6000处,最高字节数据0x23存放在内存高地址0x6003处。
如图1.2.2(b)所示,如果按大端法存储,则其最高字节数据0x23存放在内存的低地址0x6000处,而最低字节数据0x89存放在内存的高地址0x6003处。
第三章一:寻址方式。
1.寄存器寻址操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器的内容是操作数,指令执行时直接取出寄存器值操作。
例如指令:MOV R1,R2 ;R1←R2SUB R0,R1,R2 ;R0←R1- R22.立即寻址在立即寻址指令中数据就包含在指令当中,立即寻址指令的操作码字段后面的地址码部分就是操作数本身,取出指令也就取出了可以立即使用的操作数(也称为立即数)。
立即数要以“#”为前缀,表示16进制数值时以“0x”表示。
SUBS R0,R0,#1 ;R0减1,结果放入R0,并且影响标志位MOV R0,#0xFF000 ;将立即数0xFF000装入R0寄存器3.寄存器移位寻址。
寄存器移位寻址是ARM指令集特有的寻址方式。
当第2个操作数是寄存器移位方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。
寄存器移位寻址指令举例如下:MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0,即是R0=R2×8ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相“与”操作,结果放入R1 4.寄存器间接寻址寄存器间接寻址指令中的地址码给出的是一个通用寄存器的编号,所需的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。
寄存器间接寻址指令举例如下:LDR R1,[R2] ;将R2指向的存储单元的数据读出保存在R1中SWP R1,R1,[R2] ;将寄存器R1的值和R2指定的存储单元的内容交换5.基址寻址基址寻址就是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址。
基址寻址用于访问基址附近的存储单元,常用于查表、数组操作、功能部件寄存器访问等。
基址寻址指令举例如下:LDR R2,[R3,#0x0C] ;读取R3+0x0C地址上的存储单元的内容,放入R2STR R1,[R0,#-4]! ;先R0=R0-4,然后把R1的值寄存到保存到R0指定的存储单元6.多寄存器寻址多寄存器寻址一次可传送几个寄存器值,允许一条指令传送16个寄存器的任何子集或所有寄存器。
多寄存器寻址指令举例如下:LDMIA R1!,{R2-R7,R12} ;将R1指向的单元中的数据读出到R2~R7、R12中(R1自动加1)STMIA R0!,{R2-R7,R12} ;将寄存器R2~R7、R12的值保存到R0指向的存储单元中R0自动加17.堆栈寻址堆栈是一个按特定顺序进行存取的存储区,操作顺序为“后进先出”。
堆栈寻址是隐含的,它使用一个专门的寄存器(堆栈指针)指向一块存储区域(堆栈),指针所指向的存储单元即是堆栈的栈顶。
存储器堆栈可分为两种:向上生长:向高地址方向生长,称为递增堆栈向下生长:向低地址方向生长,称为递减堆栈8.块拷贝寻址多寄存器传送指令用于将一块数据从存储器的某一位置拷贝到另一位置。
如:STMIA R0!,{R1-R7} ;将R1~R7的数据保存到存储器中。
;存储指针在保存第一个值之后增加,;增长方向为向上增长。
STMIB R0!,{R1-R7} ;将R1~R7的数据保存到存储器中。
;存储指针在保存第一个值之前增加,;增长方向为向上增长。
9.相对寻址相对寻址是基址寻址的一种变通。
由程序计数器PC提供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。
相对寻址指令举例如下:BL SUBR1 ;调用到SUBR1子程序BEQ LOOP ;条件跳转到LOOP标号处...LOOP MOV R6,#1...SUBR1 ...二:指令集(LDR STR MOV ADD SUB)1.ARM指令集2.Thumb指令集3.常用指令a)LDR:加载字数据b)STR:存储字数据LDR/STR指令寻址非常灵活,它由两部分组成,其中一部分为一个基址寄存器,可以为任一个通用寄存器;另一部分为一个地址偏移量。
地址偏移量有以下3种格式:立即数。
立即数可以是一个无符号的数值。
这个数据可以加到基址寄存器,也可以从基址寄存器中减去这个数值。
如:LDR R1,[R0,#0x12]寄存器。
寄存器中的数值可以加到基址寄存器,也可以从基址寄存器中减去这个数值。
如:LDR R1,[R0,R2]寄存器及移位常数。
寄存器移位后的值可以加到基址寄存器,也可以从基址寄存器中减去这个数值。
如:LDR R1,[R0,R2,LSL #2]从寻址方式的地址计算方法分,加载/存储指令有以下4种格式:零偏移。
如:LDR Rd,[Rn]前索引偏移。
如:LDR Rd,[Rn,#0x04]!程序相对偏移。
如:LDR Rd,labe1后索引偏移。
如:LDR Rd,[Rn],#0x04c)MOV:数据传送指令d)ADD:加法运算指令e)SUB:减法运算指令第四章一:最小系统一个嵌入式处理器自己是不能独立工作的,必须给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程序存储器,则还要加上存储器系统,然后嵌入式处理器芯片才可能工作。