arm中一些常见英文缩写解释

合集下载

arm指令集编码

arm指令集编码

ARM指令集的编码格式遵循一定规则,主要包括操作码、条件码、目标寄存器、操作数等部分。

下面详细介绍ARM指令集的编码格式:
1. 操作码(opcode):操作码用于表示指令的具体操作,如ADD、SUB、MUL等。

每个操作码对应一个唯一的二进制表示。

2. 条件码(cond):条件码用于表示指令的执行条件,如EQ(等于)、NE(不等于)、GT(大于)等。

条件码有16种,用1位二进制表示。

3. 可选后缀(S):如果指令带有S后缀,则在执行指令后根据结果更新CPSR(程序状态寄存器)中的条件码。

4. 目标寄存器(Rd):目标寄存器表示指令操作的结果将存储在哪个寄存器中。

ARM有7个通用寄存器组,分别用R0-R6表示。

5. 操作数(operand1, operand2):操作数表示参与指令操作的数据源。

操作数可以是寄存器、内存地址或立即数。

举个例子,以下是一条ADD指令的编码格式:
ADD <opcode> <cond> <Rd>, <Rn>, <operand2>
其中,opcode表示操作码,cond表示条件码,Rd表示目标寄存器,Rn表示第一个操作数,operand2表示第二个操作数。

STM32常用英文缩写

STM32常用英文缩写

ARM:A‎d vanc‎e d RI‎S C Ma‎c hine‎AAP‎C S:AR‎M Arc‎h itec‎t ure ‎P roce‎s s ca‎l l st‎a ndar‎dAR‎M体系结‎构过程调用‎标准R‎I SC:‎R educ‎e d In‎s truc‎t ion ‎S et C‎o mput‎e r 精简‎指令集计算‎机RT‎O S:Re‎a l Ti‎m e Op‎e rati‎n g Sy‎s tem ‎实时操作系‎统DM‎A:Dir‎e ct M‎e mory‎Acce‎s s 存储‎器直接访问‎EXT‎I: Ex‎t erna‎l Int‎e rrup‎t s 外部‎中断F‎S MC: ‎F lexi‎b le s‎t atic‎memo‎r y co‎n trol‎l er 可‎变静态存储‎控制器‎F PB:f‎l ash ‎p atch‎and ‎b reak‎p oint‎FLAS‎H转换及‎断电单元‎HSE:‎H ign ‎s peed‎exte‎r nal‎HSI:‎High‎spee‎d int‎e rnal‎LSE‎: Low‎Spee‎d ext‎e rnal‎LSI‎: Low‎Spee‎d Int‎e rnal‎LSU‎: loa‎d sto‎r e un‎i t 存取‎单元P‎F U: p‎r efet‎c h un‎i t 预取‎单元I‎S R:In‎t erru‎p t Se‎r vice‎Rout‎i nes ‎中断服务程‎序NM‎I: No‎n mask‎a ble ‎I nter‎r upt ‎不可屏蔽中‎断NV‎I C: N‎e sted‎Vect‎o red ‎I nter‎r upt ‎C ontr‎o ller‎嵌套向量‎中断控制器‎MPU‎: Mem‎o ry P‎r otec‎t ion ‎U nit ‎内存保护单‎元MI‎P S:mi‎l lion‎inst‎r ucti‎o ns p‎e r se‎c ond ‎每秒能执行‎的百万条指‎令的条数‎RCC:‎R eset‎and ‎c lock‎cont‎r ol 复‎位和时钟控‎制RT‎C: Re‎a l-Ti‎m e Cl‎o ck 实‎时时钟‎I WDG:‎inde‎p ende‎n t wa‎t chdo‎g独立看‎门狗W‎W DG:W‎i ndow‎watc‎h dog ‎窗口看门狗‎TIM‎:time‎r定时器‎GAL‎:gene‎r ic a‎r ray ‎l ogic‎通用阵列‎逻辑P‎A L:pr‎o gram‎m able‎arra‎y log‎i c 可编‎程阵列逻辑‎ASI‎C:App‎l icat‎i on S‎p ecif‎i c In‎t egra‎t ed C‎i rcui‎t专用集‎成电路‎F PGA:‎F ield‎-Prog‎r amma‎b le G‎a te A‎r ray ‎现场可编程‎门阵列‎C PLD:‎C ompl‎e x Pr‎o gram‎m able‎Logi‎c Dev‎i ce 可‎编程逻辑器‎件端口‎AFI‎O:alt‎e rnat‎e fun‎c tion‎IO 复‎用 IO ‎端口G‎P IO:g‎e nera‎l pur‎p ose ‎i nput‎/outp‎u t 通用‎IO 端‎口IO‎P(A-G‎):IO ‎p ort ‎A - I‎O por‎t G (‎例如:IO‎P A:IO‎port‎A)‎C AN:C‎o ntro‎l ler ‎a rea ‎n etwo‎r k 控制‎器局域网‎FLIT‎F:The‎Flas‎h mem‎o ry i‎n terf‎a ce 闪‎存存储器接‎口I2‎C: In‎t er-i‎n tegr‎a ted ‎c ircu‎i t 微集‎成电路‎I IS:‎i nteg‎r ate ‎i nter‎f ace ‎o f so‎u nd 集‎成音频接口‎JTA‎G:joi‎n t te‎s t ac‎t ion ‎g roup‎联合测试‎行动小组‎SPI:‎S eria‎l Per‎i pher‎a l In‎t erfa‎c e 串行‎外围设备接‎口 SDI‎O: SD‎I/O‎UART‎: Uni‎v ersa‎l Syn‎c hr./‎A sync‎h. Re‎c eive‎r Tra‎n smit‎t er 通‎用异步接收‎/发送装置‎USB‎: Uni‎v ersa‎l Ser‎i al B‎u s 通用‎串行总线‎寄存器相‎关CP‎S P: C‎u rren‎t Pro‎g ram ‎S tatu‎s Reg‎i ster‎当前程序‎状态寄存器‎SPS‎P: sa‎v ed p‎r ogra‎m sta‎t us r‎e gist‎e r 程序‎状态备份寄‎存器C‎S R:cl‎o ck c‎o ntro‎l/sta‎t us r‎e gist‎e r 时钟‎控制状态寄‎存器L‎R: li‎n k re‎g iste‎r链接寄‎存器S‎P: st‎a ck p‎o inte‎r堆栈指‎针MS‎P: ma‎i n st‎a ck p‎o inte‎r主堆栈‎指针P‎S P:pr‎o cess‎stac‎k poi‎n ter‎‎在‎S TM32‎的固件库中‎定义了三个‎结构体与这‎三个寄存器‎组相对应,‎这三个结构‎体与ARM‎手册中寄存‎器的对应关‎系如下:‎‎一、‎N VIC寄‎存器组‎STM‎32的固件‎库中有如下‎定义:‎typ‎e def ‎s truc‎t{‎vu32‎ISER‎[2];‎ u32‎RESE‎R VED0‎[30];‎vu‎32 IC‎E R[2]‎;u‎32 RS‎E RVED‎1[30]‎;v‎u32 I‎S PR[2‎];‎u32 R‎E SERV‎E D2[3‎0];‎vu32‎ICPR‎[2];‎ u32‎RESE‎R VED3‎[30];‎vu‎32 IA‎B R[2]‎;u‎32 RE‎S ERVE‎D4[62‎];‎v u32 ‎I PR[1‎1];}‎NVIC‎_Type‎D ef;‎它们‎对应ARM‎手册中的名‎称为IS‎E R = ‎I nter‎r upt ‎S et-E‎n able‎Regi‎s ters‎ICER‎= In‎t erru‎p t Cl‎e ar-E‎n able‎Regi‎s ters‎ISPR‎= In‎t erru‎p t Se‎t-Pen‎d ing ‎R egis‎t erI‎C PR =‎Inte‎r rupt‎Clea‎r-Pen‎d ing ‎R egis‎t erI‎A BR =‎Acti‎v e Bi‎t Reg‎i ster‎IPR ‎= Int‎e rrup‎t Pri‎o rity‎Regi‎s ters‎每‎个寄存器有‎240位,‎以Inte‎r rupt‎Set-‎E nabl‎e Reg‎i ster‎s说明,I‎S ER[0‎]对应中断‎源0~31‎,ISER‎[1]对应‎中断源32‎~63,S‎T M32只‎有60个中‎断源,所以‎没有ISE‎R[2:7‎]。

ARM技术中英文缩写解说

ARM技术中英文缩写解说

A R M技术中英文缩写解说-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KIIARM技术中英文缩写解说1.ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行通讯协议;PWM:脉宽调制器;ETM:嵌入式跟踪宏;CPSR:当前程序状态寄存器;SPSR:程序保护状态寄存器;2.MAM 使用注意事项:答:当改变 MAM 定时值时,必须先通过向 MAMCR 写入 0 来关闭 MAM,然后将新值写入 MAMTIM。

最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。

对于低于 20MHz 的系统时钟,MAMTIM 设定为 001。

对于 20MHz 到 40MHz 之间的系统时钟,建议将Flash访问时间设定为2cclk,而在高于40MHz的系统时钟下,建议使用3cclk。

3.VIC 使用注意事项答:如果在片内RAM当中运行代码并且应用程序需要调用中断,那么必须将中断向量重新映射到Flash地址0x0。

这样做是因为所有的异常向量都位于地址0x0及以上。

通过将寄存器MEMMAP(位于系统控制模块当中)配置为用户RAM模式来实现这一点。

用户代码被连接以便使中断向量表装载到0x4000 0000。

4. ARM启动代码设计答:ARM启动代码直接面对处理器内核和硬件控制器进行编程,一般使用汇编语言。

启动代码一般包括:中断向量表初始化存储器系统初始化堆栈初始化有特殊要求的端口、设备初始化用户程序执行环境改变处理器模式呼叫主应用程序5.IRQ 和 FIQ 之间的区别答:IRQ和FIQ是ARM处理器的两种编程模式。

IRQ是指中断模式,FIR是指快速中断模式。

对于 FIQ 你必须尽快处理你的事情并离开这个模式。

arm术语集锦.

arm术语集锦.

arm术语集锦1. ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行通讯协议;PWM:脉宽调制器;ETM:嵌入式跟踪宏;CPSR:当前程式状态寄存器;SPSR:程式保护状态寄存器;2. MAM 使用注意事项:答:当改动MAM定时值时,必须先通过向MAMCR写入0来关闭MAM,然后将新值写入MAMTIM。

最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。

对于低于20MHz的系统时钟,MAMTIM 设定为001。

对于20MHz到40MHz之间的系统时钟,建议将Flash访问时间设定为2cclk,而在高于40MHz的系统时钟下,建议使用3cclk。

3. VIC 使用注意事项答:如果在片内RAM当中运行代码并且应用程式需要调用中断,那么必须将中断向量重新映射到Flash地址0x0。

这样做是因为所有的异常向量都位于地址0x0及以上。

通过将寄存器MEMMAP(位于系统控制模块当中)设置为用户RAM模式来实现这一点。

用户代码被连接以便使中断向量表装载到0x4000 0000。

4. ARM启动代码设计答:ARM启动代码直接面对处理器内核和硬件控制器进行编程,一般使用汇编语言。

启动代码一般包括:01、中断向量表02、初始化存储器系统03、初始化堆栈初始化有特别需求的端口、设备04、初始化用户程式执行环境05、改动处理器模式06、呼叫主应用程式5. IRQ 和FIQ 之间的差别答:IRQ和FIQ是ARM处理器的两种编程模式。

IRQ是指中断模式,FIR是指快速中断模式。

对于FIQ必须尽快处理你的事情并离开这个模式。

IRQ 能被FIQ 所中断,但IRQ 不能中断FIQ。

为了使FIQ更快,所以这种模式有更多的影子寄存器。

arm常用的名词解释

arm常用的名词解释

arm常用的名词解释ARM(Advanced RISC Machine)是一种常用的计算机架构,被广泛应用于移动设备、嵌入式系统和单片机等领域。

本文将对ARM常用的一些名词进行解释,以帮助读者更好地了解ARM架构。

1. RISC(Reduced Instruction Set Computer):精简指令集计算机。

相对于复杂指令集计算机(CISC),RISC采用简化指令集,每条指令都非常简单,执行速度快,并且易于设计和优化硬件。

2. 架构:计算机系统的基本设计和组织原则。

ARM架构设计了一套标准的指令集和寄存器组织,以及与之兼容的处理器核心,为ARM生态系统提供了一致的编程接口。

3. 处理器核心(Processor Core):ARM的核心部分,负责执行指令和进行算术逻辑运算。

常见的ARM处理器核心包括Cortex-A系列(用于应用处理器)、Cortex-M系列(用于嵌入式系统和微控制器)和Cortex-R系列(用于实时应用和嵌入式处理器)。

4. 指令集架构(Instruction Set Architecture):定义了一套计算机指令的规范和编码方式。

ARM指令集架构包括ARMv8-A、ARMv7-A、ARMv6-M等不同的版本,不同版本支持不同的指令集和功能。

5. 寄存器:位于处理器核心内部的高速存储器,用于存储指令执行过程中需要操作的数据。

ARM体系结构中,常见的寄存器包括通用寄存器、程序计数器、状态寄存器等。

6. 多核处理器(Multi-core Processor):使用多个处理器核心的处理器。

ARM 架构支持多核处理器的设计,使得多个核心可以同时进行计算任务,提高处理能力和并行性能。

7. SoC(System on a Chip):一种集成了多个功能组件的芯片,包括处理器核心、内存控制器、I/O接口等。

ARM架构广泛应用于SoC的设计,提供了高度集成的解决方案,节省了系统板块的空间和功耗。

ARM中的一些名词

ARM中的一些名词

IIS(Inter-IC Sound bus)又称I2S,是菲利浦公司提出的串行数字音频总线协议。

目前很多音频芯片和MCU都提供了对IIS的支持。

IIS总线只处理声音数据。

Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。

IIC是作为英特尔IC的互补,这种总线类型是由菲利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。

这种方式简化了信号传输总线。

MCU(Micro Control Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。

SDRAM是Synchronous Dynamic Random Access Memory(同步动态随机存储器)的简称,SDRAM采用3.3v工作电压,带宽64位,SDRAM 将CPU与RAM通过一个相同的时钟锁在一起,使RAM和CPU能够共享一个时钟周期,以相同的速度同步工作,与EDO内存相比速度能提高50%。

SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据时,另一个就已为读写数据做好了准备,通过这两个存储阵列的紧密切换,读取效率就能得到成倍的提高。

SDRAM不仅可用作主存,在显示卡上的显存方面也有广泛应用。

SDRAM曾经是长时间使用的主流内存,从430TX芯片组到845芯片组都支持SDRAM。

但随着DDR SDRAM的普及,SDRAM也正在慢慢退出主流市场。

arm 汇编 指令

arm 汇编 指令

arm 汇编指令ARM汇编指令是一种用于编写ARM处理器程序的语言。

ARM处理器广泛应用于嵌入式系统和移动设备等领域。

ARM汇编指令与x86汇编指令有所不同,它基于RISC(精简指令集计算机)架构。

下面是一些基本的ARM汇编指令:1. 数据传输指令:用于在寄存器之间传输数据。

例如:- mov:将数据从一个寄存器传输到另一个寄存器。

- ldr:将数据从内存传输到寄存器。

2. 算术指令:用于执行加法、减法、乘法和除法等操作。

例如:- add:加法操作。

- sub:减法操作。

- mull:乘法操作。

- div:除法操作。

3. 逻辑指令:用于执行逻辑操作,如与、或、非等。

例如:- and:与操作。

- or:或操作。

- xor:异或操作。

4. 移位指令:用于对数据进行左移、右移或无符号右移。

例如:- lsr:无符号右移。

- asr:带符号右移。

- ror:循环右移。

5. 比较指令:用于比较两个寄存器的值。

例如:- cmp:比较两个寄存器的值,若相等则返回0,否则返回1。

6. 跳转指令:用于改变程序的执行流程。

例如:- b:条件跳转。

- bl:无条件跳转。

- bx:带状态跳转。

7. 循环指令:用于实现循环操作。

例如:- loop:内部循环。

- ldp:外部循环。

8. 调用指令:用于实现函数调用。

例如:- blx:带状态调用。

- bx:不带状态调用。

9. 系统调用指令:用于实现与操作系统交互的功能。

例如:- swi:执行系统调用。

10. 存储器访问指令:用于访问内存数据。

例如:- str:将数据存储到内存。

- ldr:从内存中加载数据。

以上仅为ARM汇编指令的一部分,实际上,ARM汇编指令还有很多其他功能。

为了更好地理解和使用ARM汇编指令,可以参考相关的教程和手册,并进行实际操作。

arm中一些常见英文缩写解释

arm中一些常见英文缩写解释

arm中一些常见英文缩写解释1.arm中一些常见英文缩写解释msb:最高有效位;lsb:最低有效位;ahb:先进的高性能总线;vpb:连接片内外设功能的vlsi外设总线;emc:外部存储器控制器;mam:存储器加速模块;vic:向量中断控制器;spi:全双工串行接口;can:控制器局域网,一种串行通讯协议;pwm:脉宽调制器;etm:嵌入式跟踪宏;cpsr:当前程序状态寄存器;spsr:程序保护状态寄存器;2.mam使用注意事项:答:当改变mam定时值时,必须先通过向mamcr写入0来关闭mam,然后将新值写入mamtim。

最后,将需要的操作模式的对应值写入mamcr,再次打开mam。

对于低于20mhz的系统时钟,mamtim设定为001。

对于20mhz到40mhz之间的系统时钟,建议将flash访问时间设定为2cclk,而在高于40mhz的系统时钟下,建议使用3cclk。

3.vic使用注意事项答:如果在片内ram当中运行代码并且应用程序需要调用中断,那么必须将中断向量重新映射到flash地址0x0。

这样做是因为所有的异常向量都位于地址0x0及以上。

通过将寄存器memmap(位于系统控制模块当中)配置为用户ram模式来实现这一点。

用户代码被连接以便使中断向量表装载到0x4000 0000。

4.arm启动代码设计答:arm启动代码直接面对处理器内核和硬件控制器进行编程,一般使用汇编语言。

启动代码一般包括:中断向量表初始化存储器系统初始化堆栈初始化有特殊要求的端口、设备初始化用户程序执行环境改变处理器模式呼叫主应用程序5.irq和fiq之间的区别答:irq和fiq是arm处理器的两种编程模式。

irq是指中断模式,fir是指快速中断模式。

对于fiq你必须尽快处理你的事情并离开这个模式。

irq可以被fiq所中断,但irq不能中断fiq。

为了使fiq更快,所以这种模式有更多的影子寄存器。

fiq不能调用swi(软件中断)。

ARM内核常用缩写含义

ARM内核常用缩写含义

ARM内核常⽤缩写含义ADK AMBA设计套件
AHB 先进⾼性能总线
AHB‐AP AHB访问端⼝
AMBA 先进单⽚机总线架构
APB 先进外设总线
ARM ARM ARM架构参考⼿册
ASIC ⾏业领域专⽤集成电路
ATB 先进跟踪总线
BE8 字节不变式⼤端模式
CPI 每条指令的周期数
CPU 中央处理单元
DAP 调试访问端⼝
DSP 数字信号处理器/数字信号处理
DWT 数据观察点及跟踪
ETM 嵌⼊式跟踪宏单元
FPB 闪存地址重载及断点
FSR Fault状态寄存器
HTM CoreSight AHB跟踪宏单元
ICE 在线仿真器
IDE 集成开发环境
IRQ 中断请求(通常是指外部中断的请求)
ISA 指令系统架构
ISR 中断服务例程
ITM 指令跟踪宏单元
JTAG 连结点测试⾏动组(⼀个关于测试和调试接⼝的标准)
JTAG‐DP JTAG调试端⼝
LR 连接寄存器
LSB 最低有效位
LSU 加载/存储单元
MCU 微控制器单元(俗称单⽚机)
MMU 存储器管理单元
MPU 存储器保护单元
MSB 最⾼有效位
MSP 主堆栈指针
NMI 不可屏蔽中断
NVIC 嵌套向量中断控制器
OS 操作系统
PC 程序计数器
PSP 进程堆栈指针
PPB 私有外设总线
寄存器访问类型
1. R 表⽰只读
2. W表⽰只写
3. RW 表⽰可读可写(前3条好像地球⼈都知道)
4. R/Wc 表⽰可读,但是写访问将使之清0。

ARM常用名词解释20131105

ARM常用名词解释20131105

ARM常用名词解释RTC:real time clock 实时时钟.RCC:Reset and clock control 复位和时钟控制。

PLL:Phase Lock Loop 锁相环DMA: direct memory access 直接存储器存取.NVIC:Nested Vectored Interrupt Controller 嵌套中断向量控制。

MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。

EXTI:外部中断/事件控制器。

systick: 系统时钟节拍. tick = 时钟节拍。

ADC:Analog-to-Digital Converter模拟/数字转换器BKP: BACKUP备份寄存器CAN: 控制器区域网络FLASH: Flash 存储器GPIO: General-Purpose IN OUT通用I/OI2C:Inter-integrated 电路,是一种通讯总线IWDG:indie watch dog独立看门狗PWR: power电源控制SPI:Serial Peripheral Interface串行外设接口TIM:time定时器USART:Universal Serial Asynchronous Receiver Transmitter通用串行同步异步接收传送器WWDG:window watch dog窗口看门狗寄存器描述CR1 控制寄存器1CR2 控制寄存器2SMCR 从模式控制寄存器DIER DMA和中断使能寄存器SR 状态寄存器EGR 事件生成寄存器CCMR1 捕获/比较模式寄存器1CCMR2 捕获/比较模式寄存器2CCER 捕获/比较使能寄存器CNT 计数寄存器PSC 预分频数寄存器ARR 自动重载寄存器CCR1 捕获/比较寄存器1CCR2 捕获/比较寄存器2CCR3 捕获/比较寄存器3CCR4 捕获/比较寄存器4DCR DMA控制寄存器DMAR DMA猝发模式下的地址寄存器RTC:real time clock实时时钟RCC:Reset and clock control 复位和时钟控制。

ARM指令全称及含义

ARM指令全称及含义

Great than or equal, or unordered Less than Less than Greater than or equal , or unordered Unordered

VC
HI
LS
GE
LT
GT
LE
AL
V=0 C=1 且 Z=0 C=0 或 Z=1 N=1 且 V=1 或 N=0 且 V=0 N=1 且 V=0 或 N=0 且 V=1 Z=0 或 N=V Z=1 或 N!=V
M[4:0]
0b10000 0b10001 0b10010 0b10011 0b10111 0b11011 0b11111
User FIQ IRQ Supervisor Abort Undefined System
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Signed saturating arithmetic
Signed arithmetic, halving results
Swap byte
AND R0,R0,#3 ; 该指令保持 R0 的 0、1 位,其余位清零。 ORR R0,R0,#3 ; 该指令设置 R0 的 0、1 位,其余位保持不变。 EOR R0,R0,#3 ; 该指令反转 R0 的 0、1 位,其余位保持不变。 BIC R0,R0,#0b1011 ; 该指令清除 R0 中的位 0、1、和 3,其余的位保持不变。 计算操作数最高端 0 的个数 MUL R0,R1,R2 ;R0 = R1 × R2 MLAS R0,R1,R2,R3 ;R0 = R1 × R2 + R3,同时设置 CPSR 中的相关条件标志位 SMULL R0,R1,R2,R3 ;R0 = (R2 × R3)的低 32 位 R1 = (R2 × R3)的高 32 位 SMLAL R0,R1,R2,R3;R0 =(R2 × R3)的低 32 位+R0; R1 =(R2 × R3)的高 32 位+ R1 UMULL R0,R1,R2,R3;R0 = (R2 × R3)的低 32 位;R1 =(R2 × R3)的高 32 位 UMLAL R0,R1,R2,R3;R0 =(R2 × R3)的低位+R0;R1 =(R2 × R3)的高 32 位+R1 MRS R0,CPSR ;传送 CPSR 的内容到 R0 MSR CPSR_c ,R0 ;传送 R0 的内容到 SPSR,但仅仅修改 CPSR 中的控制位域 LDR R0,[R1,R2]! ;将存储器地址为 R1+R2 的字数据读入 R0,并将新地址 R1+R2 写入 R1。 LDRB R0,[R1,#8] ;将存储器地址为 R1+8 的字节数据读入 R0,并将 R0 的高 24 位清零 LDRH R0,[R1] ;将存储器地址为 R1 的半字数据读入寄存器 R0,并将 R0 的高 16 位清零 LDMFD R13!,{R0,R4-R12,PC} ;将堆栈内容恢复到寄存器(R0,R4 到 R12,LR) STR R0,[R1],#8 ;将 R0 中的字数据写入 R1 为地址的存储器中,并将新地址 R1+8 写入 R1 STRB R0,[R1,#8] ;将寄存器 R0 中的字节数据写入以 R1+8 为地址的存储器中 STRH R0,[R1,#8] ;将寄存器 R0 中的半字数据写入以 R1+8 为地址的存储器中 STMFD R13!,{R0,R4-R12,LR};将寄存器列表中的寄存器(R0,R4 到 R12,LR)存入堆栈 SWP R0,R1,[R2] ;R2 所指的字数据传送到 R0,同时 R1 的数据传送到 R2 所指的单元 SWPB R0,R1,[R2] ;R2 所指的字节数据传送到 R0,R0 高 24 位清零,同时 R1 低 8 位送 R2 所指单元。

嵌入式常见英文缩写和英文词汇

嵌入式常见英文缩写和英文词汇

嵌入式常见英文缩写和英文词汇(搜集中)英文缩写ARM:Advanced RISC MachineAAPCS:ARM Architecture Process callstandard ARM体系结构过程调用标准RISC:ReducedInstruction Set Computer精简指令集计算机RTOS:Real Time OperatingSystem 实时操作系统DMA:Direct MemoryAccess存储器直接访问EXTI: External Interrupts 外部中断FSMC: Flexible static memory controller可变静态存储控制器FPB:flash patch andbreakpoint FLASH 转换及断电单元HSE:Hign speed externalHSI: High speed internalLSE:LowSpeed externalLSI: Low Speed InternalLSU: loadstore unit存取单元PFU:prefetchunit预取单元ISR:Interrupt Service Routines 中断服务程序NMI: Nonmaskable Interrupt不可屏蔽中断NVIC:Nested VectoredInterrupt ControllerMPU: MemoryProtection UnitMIPS:million instructions per second每秒能执行的百万条指令的条数RCC:Resetand clock control复位和时钟控制RTC:Real-Time Clock实时时钟IWDG:independent watchdogWWDG:Window watchdogTIM:timer定时器端口AFIO:alternate function IO复用IO端口GPIO:general purpose input/output通用IO端口IOP(A-G):IO port A- IO portG (例如:IOPA:IO portA)CAN:Controller area networkFLITF:The Flash memoryinterface闪存存储器接口I2C:Inter-integrated circuitIIS:integrate interface of sound集成音频接口JTAG:joint test action group 联合测试行动小组SPI:Serial Peripheral InterfaceSDIO:SD I/OUART:Universal Synchr./Asynch. Receiver TransmitterUSB: Universal Serial Bus寄存器相关CPSP: CurrentProgramStatus Register 当前程序状态寄存器SPSP:saved program status register程序状态备份寄存器CSR:clock control/status register 时钟控制状态寄存器LR:link register链接寄存器SP:stack pointer 堆栈指针MSP:main stack pointer 主堆栈指针PSP:process stack pointer进程堆栈指针PC: program counter 程序计数器调试相关ICE:in circuit emulator 在线仿真ICE Breaker 嵌入式在线仿真单元DBG:debug 调试IDE:integrated development environment 集成开发环境DWT:data watchpoint and trace数据观测与跟踪单元ITM:instrumentation trace macrocell 测量跟踪单元ETM:embedded trace macrocell 嵌入式追踪宏单元TPIU:traceport interface unit 跟踪端口接口单元TAP:test access port测试访问端口DAP: debug access prot 调试访问端口TP: traceport 跟踪端口DP:debug port 调试端口SWJ-DP:serial wireJTAG debugport 串行-JTAG 调试接口SW-DP: serial wiredebugport 串行调试接口JTAG-DP:JTAGdebug port JTAG 调试接口系统类IRQ: interrupt request 中断请求FIQ: fast interrupt request快速中断请求SW:software软件SWI:software interrupt 软中断RO:read only 只读(部分)RW:read write 读写(部分)ZI:zero initial零初始化(部分)BSS:Block Started by Symbol 以符号开始的块(未初始化数据段)总线Bus Matrix 总线矩阵BusSplitter总线分割AHB-AP:advancedHigh-preformanceBus-accessport APB:advanced peripheral busAPB1: low speed APBAPB2: high speed APBPPB:Private PeripheralBus 专用外设总线杂类ALU:Arithmetic Logical Unit算术逻辑单元CLZ:countleadingzero 前导零计数(指令)SIMD:single instruction stream multiple datastream 单指令流,多数据流VFP:vectorfloating point 矢量浮点运算词汇/词组Big Endian大段存储模式Little Endian小段存储模式context switch 任务切换(上下文切换)(CPU寄存器内容的切换)task switch 任务切换literal pool 数据缓冲池词汇类/单词arbitration仲裁access 访问assembler汇编器disassembly反汇编binutils连接器bit-banding 位段(技术)bit-band alias 位段别名bit-bandregion 位段区域banked分组buffer 缓存/ceramic 陶瓷fetch取指decode 译码execute 执行Harvard哈佛(架构)handler 处理者heap 堆stack 栈latency延时load(LDR) 加载(存储器内容加载到寄存器Rn)store (STR)存储(寄存器Rn内容存储到存储器)Loader装载器optimization优化process 进程/过程thread线程prescaler预分频器prefetch 预读/预取指perform 执行pre-emption 抢占tail-chaining尾链late-arriving迟到resonator共振器指令相关instructions 指令pseudo-instruction 伪指令directive 伪操作comments注释FA fullascending 满栈递增(方式)EA empty ascending空栈递增(方式)FD full desending 满栈递减(方式)ED empty desending 空栈递减(方式)翻译1.number of waitstates foraread operationprogrammed on-the-fly动态设置(programmedon-the-fly)的读操作的等待状态数目参考文章1.BSS的参考:BSS是Unix链接器产生的未初始化数据段。

ARM指令里几个特殊符号.

ARM指令里几个特殊符号.

ARM指令里几个特殊符号ARM指令里几个特殊符号类别:嵌入式系统作者:孙晓明, 华清远见嵌入式学院讲师。

总结一下ARM指令里几个特殊符号的意义特殊符号对应指令含义 = DCB分配一片连续的字节存储单元并用指定的数据初始化& DCD 分配一片连续的字存储单元并用指定的数据初始化%SPACE 分配一片连续的存储单元^ MAP 定义一个结构化内存表的首地址# FILED 定义一个结构化内存表的数据域(经常和MAP一起使用,一个定义起始地址,一个定义长度) EQU 为程序中的常量、标号等定义一个等效的字符名称,类似于C语言中的#define! 地址更新[相当于IF|相当于ELSE]相当于ENDIF 常见的数据定义伪指令有如下几种:— DCB 用于分配一片连续的字节存储单元并用指定的数据初始化。

— DCW ( DCWU )用于分配一片连续的半字存储单元并用指定的数据初始化。

— DCD ( DCDU )用于分配一片连续的字存储单元并用指定的数据初始化。

— DCFD( DCFDU )用于为双精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。

— DCFS ( DCFSU )用于为单精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。

— DCQ ( DCQU )用于分配一片以 8 字节为单位的连续的存储单元并用指定的数据初始化。

— SPACE 用于分配一片连续的存储单元— MAP 用于定义一个结构化的内存表首地址— FIELD 用于定义一个结构化的内存表的数据域1、 DCB 语法格式:标号 DCB 表达式 DCB 伪指令用于分配一片连续的字节存储单元并用伪指令中指定的表达式初始化。

其中,表达式可以为 0 ~ 255 的数字或字符串。

DCB 也可用“ = ” 代替。

使用示例:Str DCB “ This is atest ! ” ;分配一片连续的字节存储单元并初始化。

2、 DCW(或DCWU)语法格式:标号 DCW (或 DCWU )表达式 DCW (或 DCWU )伪指令用于分配一片连续的半字存储单元并用伪指令中指定的表达式初始化。

ARM指令英文全称及功能描述

ARM指令英文全称及功能描述

指令格式:指令{条件}{S} {目的Register},{OP1},{OP2} "{ }"中的内容可选。

即,可以不带条件只有目的寄存器,或只有目的寄存器和操作数1,也可以同时包含所有选项。

“S”决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值助记符英文全称示例、功能跳转指令BBranch跳转指令B Label;程序无条件跳转到标号Label处执行BLBranch with Link带返回的跳转指令BL Label ;当程序无条件跳转到标号Label处执行时,同时将当前的PC值保存到R14中BLXBranch with Link and exchange带返回和状态切换的跳转指令BLX Label;从ARM指令集跳转到指令中所指定的目标地址,并将处理器的工作状态有ARM状态切换到Thumb状态,该指令同时将PC的当前内容保存到寄存器R14中BXBranch and exchange带状态切换的跳转指令BX Label ;跳转到指令中所指定的目标地址,目标地址处的指令既可以是ARM指令,也可以是Thumb指令数据处理MOVMove数据传送MOV R1,R0,LSL#3;将寄存器R0的值左移3位后传送到R1MVNMove NOT数据非传送MVN R0,#0 ;将立即数0取反传送到寄存器R0中,完成后R0=-1CMPCompare比较指令CMP R1,R0;将寄存器R1的值与寄存器R0的值相减,并根据结果设置CPSR的标志位CMNCompare negative负数比较指令CMN R1,R0 ;将寄存器R1的值与寄存器R0的值相加,并根据结果设置CPSR的标志位TSTTest位测试指令TST R1,#0xffe ;将寄存器R1的值与立即数0xffe按位与,并根据结果设置CPSR的标志位TEQTest equivalence相等测试指令TEQ R1,R2;将寄存器R1的值与寄存器R2的值按位异或,并根据结果设置CPSR的标志位ADDAdd加法运算指令ADD R0,R2,R3,LSL#1;R0 = R2 + (R3 << 1)ADCAdd with carry带进位加法ADCS R2,R6,R10;R2 = R6+R10+!C,且更新CPSR的进位标志位SUBSubtract减法运算指令SUB R0,R1,#256;R0 = R1 –256SBCSubtract with carry带进位减法指令SUBS R0,R1,R2 ;R0 = R1 - R2 - !C,并根据结果设置CPSR的进位标志位RSBReverse subtract逆向减法指令RSB R0,R1,R2 ;R0 = R2 –R1RSCReverse subtract with carry带进位逆向减法指令RSC R0,R1,R2;R0 = R2 –R1 - !CANDAnd逻辑与操作指令AND R0,R0,#3;该指令保持R0的0、1位,其余位清零。

ARM汇编指令的英文缩写

ARM汇编指令的英文缩写
LDS---->load DS
LES---->load ES
LFS---->load FS
LGS---->load GS
LSS---->load SS
4.标志传送指令.
LAHF---->load AH from flag
SAHF---->save AH to flag
HLT---->halt
WAIT---->wait
ESC---->escape
LOCK---->lock
NOP---->no operation
STC---->set carry
CLC---->clear carry
CMC---->carry make change
STD---->set direction
DAA---->decimal add with adjust
SUB---->substract
SBB---->substract with borrow
DEC---->decrease 1
NEC---->negative
CMP---->compare
AAS---->ascii adjust on substract
SHL---->shift left
SAL---->arithmatic shift left
SHR---->shift right
SAR---->arithmatic shift right
ROL---->rotate left

Arm汇编指令的英文解释

Arm汇编指令的英文解释

汇编指令的英文解释作者:来源:zz发表时间:2008-09-03 浏览次数:275 字号:大中小1.通用数据传送指令.MOV----> moveMOVSX---->extended move with sign dataMOVZX---->extended move with zero dataPUSH---->pushPOP---->popPUSHA---->push allPOPA---->pop allPUSHAD---->push all dataPOPAD---->pop all dataBSWAP---->byte swapXCHG---->exchangeCMPXCHG---->compare and changeXADD---->exchange and addXLAT---->translate2.输入输出端口传送指令.IN---->inputOUT---->output3.目的地址传送指令.LEA---->load effective addressLDS---->load DSLES---->load ESLFS---->load FSLGS---->load GSLSS---->load SS4.标志传送指令.LAHF---->load AH from flagSAHF---->save AH to flagPUSHF---->push flagPOPF---->pop flagPUSHD---->push dflagPOPD---->pop dflag二、算术运算指令ADD---->addADC---->add with carryINC---->increase 1AAA---->ascii add with adjustDAA---->decimal add with adjust SUB---->substractSBB---->substract with borrow DEC---->decrease 1NEC---->negativeCMP---->compareAAS---->ascii adjust on substract DAS---->decimal adjust on substract MUL---->multiplicationIMUL---->integer multiplicationAAM---->ascii adjust on multiplicationDIV---->divideIDIV---->integer divideAAD---->ascii adjust on divideCBW---->change byte to wordCWD---->change word to double wordCWDE---->change word to double word with sign to EAXCDQ---->change double word to quadrate word三、逻辑运算指令───────────────────────────────────────AND---->andOR---->orXOR---->xorNOT---->notTEST---->testSHL---->shift leftSAL---->arithmatic shift leftSHR---->shift rightSAR---->arithmatic shift rightROL---->rotate leftROR---->rotate rightRCL---->rotate left with carryRCR---->rotate right with carry四、串指令───────────────────────────────────────MOVS---->move stringCMPS---->compare stringSCAS---->scan stringLODS---->load stringSTOS---->store stringREP---->repeatREPE---->repeat when equalREPZ---->repeat when zero flagREPNE---->repeat when not equalREPNZ---->repeat when zero flagREPC---->repeat when carry flagREPNC---->repeat when not carry flag五、程序转移指令───────────────────────────────────────1>无条件转移指令(长转移)JMP---->jumpCALL---->callRET---->returnRETF---->return far2>条件转移指令(短转移,-128到+127的距离内)JAE---->jump when above or equalJNB---->jump when not belowJB---->jump when belowJNAE---->jump when not above or equal JBE---->jump when below or equalJNA---->jump when not aboveJG---->jump when greaterJNLE---->jump when not less or equal JGE---->jump when greater or equalJNL---->jump when not lessJL---->jump when lessJNGE---->jump when not greater or equal JLE---->jump when less or equalJNG---->jump when not greaterJE---->jump when equalJZ---->jump when has zero flagJNE---->jump when not equalJNZ---->jump when not has zero flagJC---->jump when has carry flagJNC---->jump when not has carry flag JNO---->jump when not has overflow flag JNP---->jump when not has parity flag JPO---->jump when parity flag is odd JNS---->jump when not has sign flagJO---->jump when has overflow flagJP---->jump when has parity flagJPE---->jump when parity flag is evenJS---->jump when has sign flag3>循环控制指令(短转移)LOOP---->loopLOOPE---->loop equalLOOPZ---->loop zeroLOOPNE---->loop not equal LOOPNZ---->loop not zeroJCXZ---->jump when CX is zero JECXZ---->jump when ECX is zero 4>中断指令INT---->interruptINTO---->overflow interruptIRET---->interrupt return5>处理器控制指令HLT---->haltWAIT---->waitESC---->escapeLOCK---->lockNOP---->no operationSTC---->set carryCLC---->clear carryCMC---->carry make changeSTD---->set directionCLD---->clear directionSTI---->set interruptCLI---->clear interrupt六、伪指令─────────────────────────────────────DW---->definw wordPROC---->procedureENDP---->end of procedureSEGMENT---->segmentASSUME---->assumeENDS---->end segmentEND---->end责任编辑webmaster。

ARM指令全称及含义

ARM指令全称及含义

TST
位测试指令
的标志位
TEQ
Test equivalence 相等测试指令
TEQ R1,R2 ;将寄存器 R1 的值与寄存器 R2 的值按位异或,并根据结果 设置 CPSR 的标志位
ADD
Add 加法运算指令
ADD R0,R2,R3,LSL#1 ; R0 = R2 + (R3 << 1)
ADC


ORR
OR 逻辑或操作指令
ORR R0,R0,#3 ; 该指令设置 R0 的 0、1 位,其余位保持不变。
EOR
Exclusive OR 逻辑异或操作指令
EOR R0,R0,#3 ; 该指令反转 R0 的 0、1 位,其余位保持不变。
Bit clear
BIC R0,R0,#0b1011 ; 该指令清除 R0 中的位 0、1、和 3,其余的位保持
64 位有符号数乘加指令
R3)的高 32 位+ R1
Unsigned multiply long
UMULL R0,R1,R2,R3 ;R0 = (R2 × R3)的低 32 位;R1 =(R2 × R3)
64 位无符号数乘法指令
的高 32 位
Unsigned mul&accumulate lon UMLAL R0,R1,R2,R3 ;R0 =(R2 × R3)的低位+R0;R1 =(R2 × R3)
LR)
Store
STR R0,[R1],#8 ;将 R0 中的字数据写入 R1 为地址的存储器中,并将新地址
字数据存储指令
R1+8 写入 R1
Store byte
STRB R0,[R1,#8] ;将寄存器 R0 中的字节数据写入以 R1+8 为地址的存储

单片机常见英文缩写(二)2024

单片机常见英文缩写(二)2024

单片机常见英文缩写(二)引言概述:本文将介绍一些与单片机相关的常见英文缩写。

这些缩写是在单片机领域中使用较为频繁的,了解并熟练运用这些缩写有助于我们更好地理解和应用单片机技术。

正文内容:一、单片机内部组成1.1 MCU:Microcontroller Unit,意为微控制器单元,是指能够完成微处理器和外围器件集成在一块芯片上的单片机。

1.2 CPU:Central Processing Unit,中央处理器,是单片机内部用来执行指令和处理数据的核心部件。

1.3 RAM:Random Access Memory,随机存储器,是单片机内部用来存储数据和程序的临时存储器件。

1.4 ROM:Read-Only Memory,只读存储器,是单片机内部用来存储程序固化后的指令和数据的非易失性存储器件。

1.5 Flash:一种可擦写和重新编程的存储器技术,常用于单片机中存储程序代码。

二、通信相关缩写2.1 UART:Universal Asynchronous Receiver and Transmitter,通用异步收发器,是常用的串行通信接口。

2.2 SPI:Serial Peripheral Interface,串行外围接口,是一种用于单片机和外围设备之间进行通信的接口协议。

2.3 I2C:Inter-Integrated Circuit,集成电路互联总线,是一种常用的串行通信协议,用于连接多个设备。

2.4 CAN:Controller Area Network,控制器局域网,是一种广泛应用于汽车、工控等领域的串行通信协议。

2.5 USB:Universal Serial Bus,通用串行总线,是一种用于连接计算机和外围设备的通信接口标准。

三、外设和模块缩写3.1 ADC:Analog-to-Digital Converter,模数转换器,用来将模拟信号转换为数字信号的电路。

3.2 PWM:Pulse Width Modulation,脉宽调制技术,用于控制模拟电路的输出功率。

单片机常见英文缩写(一)

单片机常见英文缩写(一)

单片机常见英文缩写(一)引言概述:在单片机领域,英文缩写在文档和代码中经常被使用。

本文将介绍单片机常见的英文缩写,让读者更好地理解和应用单片机技术。

本文包括五个大点:处理器相关缩写、外设相关缩写、通信相关缩写、存储器相关缩写以及其他相关缩写。

正文内容:一、处理器相关缩写:1. CPU:中央处理器,负责执行计算机的指令。

2. ALU:算术逻辑单元,执行算术和逻辑运算。

3. PC:程序计数器,存储当前指令的地址。

4. SP:堆栈指针,指向堆栈的当前位置。

5. ISR:中断服务程序,用于处理中断事件。

二、外设相关缩写:1. UART:通用异步收发传输器,实现串行通信。

2. LCD:液晶显示器,用于图形和文本显示。

3. LED:发光二极管,用于指示器和状态显示。

4. ADC:模拟数字转换器,将模拟信号转换为数字信号。

5. PWM:脉宽调制,用于控制电机速度和亮度。

三、通信相关缩写:1. I2C:串行总线,用于连接微控制器和外设。

2. SPI:串行外设接口,用于高速全双工通信。

3. CAN:控制器区域网络,用于实时通信和控制。

4. USB:通用串行总线,用于连接计算机和外设。

5. RF:无线射频,用于无线通信和远程控制。

四、存储器相关缩写:1. RAM:随机存取存储器,用于暂时存储数据。

2. ROM:只读存储器,存储固定的数据和程序。

3. EEPROM:可擦写可编程只读存储器,用于存储非易失性数据。

4. Flash:闪存,用于存储程序和数据。

5. SD:安全数码卡,用于存储和传输数据。

五、其他相关缩写:1. IDE:集成开发环境,提供软件开发工具。

2. ISP:在线编程,通过通信接口对单片机进行编程。

3. BJT:双极性晶体管,用于电子开关和放大器。

4. FPGA:现场可编程门阵列,用于实现数字逻辑电路。

5. MCU:微控制器,集成了处理器、存储器和外设的芯片。

总结:本文介绍了单片机常见的英文缩写,包括处理器、外设、通信、存储器以及其他相关的缩写。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

arm中一些常见英文缩写解释1.arm中一些常见英文缩写解释msb:最高有效位;lsb:最低有效位;ahb:先进的高性能总线;vpb:连接片内外设功能的vlsi外设总线;emc:外部存储器控制器;mam:存储器加速模块;vic:向量中断控制器;spi:全双工串行接口;can:控制器局域网,一种串行通讯协议;pwm:脉宽调制器;etm:嵌入式跟踪宏;cpsr:当前程序状态寄存器;spsr:程序保护状态寄存器;2.mam使用注意事项:答:当改变mam定时值时,必须先通过向mamcr写入0来关闭mam,然后将新值写入mamtim。

最后,将需要的操作模式的对应值写入mamcr,再次打开mam。

对于低于20mhz的系统时钟,mamtim设定为001。

对于20mhz到40mhz之间的系统时钟,建议将flash访问时间设定为2cclk,而在高于40mhz的系统时钟下,建议使用3cclk。

3.vic使用注意事项答:如果在片内ram当中运行代码并且应用程序需要调用中断,那么必须将中断向量重新映射到flash地址0x0。

这样做是因为所有的异常向量都位于地址0x0及以上。

通过将寄存器memmap(位于系统控制模块当中)配置为用户ram模式来实现这一点。

用户代码被连接以便使中断向量表装载到0x4000 0000。

4.arm启动代码设计答:arm启动代码直接面对处理器内核和硬件控制器进行编程,一般使用汇编语言。

启动代码一般包括:中断向量表初始化存储器系统初始化堆栈初始化有特殊要求的端口、设备初始化用户程序执行环境改变处理器模式呼叫主应用程序5.irq和fiq之间的区别答:irq和fiq是arm处理器的两种编程模式。

irq是指中断模式,fir是指快速中断模式。

对于fiq你必须尽快处理你的事情并离开这个模式。

irq可以被fiq所中断,但irq不能中断fiq。

为了使fiq更快,所以这种模式有更多的影子寄存器。

fiq不能调用swi(软件中断)。

fiq还必须禁用中断。

如果一个fiq例程必须重新启用中断,则它太慢了,并应该是irq而不是fiq。

6.arm处理器对异常中断的响应过程答:arm处理器对异常中断的响应过程如下所述:保存处理器当前状态、中断屏蔽位以及各条件标志位;设置当前程序状态寄存器cpsr中的相应位;将寄存器lr_mode设置成返回地址;将程序计数器值pc,设置成该异常中断的中断向量地址,跳转到相应异常中断处执行。

7.arm指令与thumb指令的区别答:在arm体系结构中,arm指令集中的指令是32位的指令,其执行效率很高。

对于存储系统数据总线为16位的应用系统,arm体系提供了thumb指令集。

thumb 指令集是对arm指令集的一个子集重新编码得到的,指令长度为16位。

通常在处理器执行arm程序时,称处理器处于arm状态;当处理器执行thumb程序时,称处理器处于thumb状态。

thumb指令集并没有改变arm体系地层的程序设计模型,只是在该模型上加上了一些限制条件。

thumb指令集中的数据处理指令的操作数仍然为32位,指令寻址地址也是32位的。

8.什么是atpcs答:为了使单独编译的c语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。

atpcs就是arm程序和thumb程序中子程序调用的基本规则。

这些规则包括寄存器使用规则,数据栈的使用规则,参数的传递规则等。

9.arm程序和thumb程序混合使用的场合答:通常,thumb程序比arm程序更加紧凑,而且对于内存为8位或16位的系统,使用thumb程序效率更高。

但是,在下面一些场合下,程序必须运行在arm状态,这时就需要混合使用arm和thumb程序。

强调速度的场合,应该使用arm程序;有些功能只能由arm程序完成。

如:使用或者禁止异常中断;当处理器进入异常中断处理程序时,程序状态切换到arm状态,即在异常中断处理程序入口的一些指令是arm指令,然后根据需要程序可以切换到thumb状态,在异常中断程序返回前,程序再切换到arm状态。

arm处理器总是从arm状态开始执行。

因而,如果要在调试器中运行thumb程序,必须为该thumb程序添加一个arm程序头,然后再切换到thumb状态,执行thumb程序。

10.arm处理器运行模式答:arm微处理器支持7种运行模式,分别为:用户模式(usr):arm处理器正常的程序执行状态;快速中断模式(fiq):用于高速数据传输或通道管理;外部中断模式(irq):用于通用的中断处理;管理模式(svc):操作系统使用的保护模式;数据访问终止模式(abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护;系统模式(sys):运行具有特权的操作系统任务;未定义指令中止模式(und):当未定义指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

11.arm体系结构所支持的异常类型答:arm体系结构所支持的异常和具体含义如下(圈里面的数字表示优先级):复位①:当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处执行(异常向量:0x0000,0000);未定义指令⑥:当arm处理器或协处理器遇到不能处理的指令时,产生为定义异常。

可使用该异常机制进行软件仿真(异常向量:0x0000,0004);软件中断⑥:有执行swi指令产生,可用于用户模式下程序调用特权操作指令。

可使用该异常机制实现系统功能调用(异常向量:0x0000,0008);指令预取中止⑤:若处理器的预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,当预取指令被执行时,才会产生指令预取中止异常(异常向量:0x0000,000c);数据中止②:若处理器数据访问的指令的地址不存在,或该地址不允许当前指令访问,产生数据中止异常(异常向量:0x0000,0010);irq④(外部中断请求):当处理器的外部中断请求引脚有效,且cpsr中的i位为0时,产生irq异常。

系统的外设可以该异常请求中断服务(异常向量:0x0000,0018);fiq③(快速中断请求):当处理器的快速中断请求引脚有效,且cpsr中的f位为0时,产生fiq异常(异常向量:0x0000,001c)。

说明:其中异常向量0x0000,0014为保留的异常向量。

12.arm体系结构的存储器格式答:arm体系结构的存储器格式有如下两种:大端格式:字数据的高字节存储在低地址中,字数据的低字节存放在高地址中;小端格式:与大端存储格式相反,高地址存放数据的高字节,低地址存放数据的低字节。

13.arm寄存器总结:arm有16个32位的寄存器(r0到r15)。

r15充当程序寄存器pc,r14(link register)存储子程序的返回地址,r13存储的是堆栈地址。

arm有一个当前程序状态寄存器:cpsr。

一些寄存器(r13,r14)在异常发生时会产生新的instances,比如irq处理器模式,这时处理器使用r13_irq和r14_irq arm的子程序调用是很快的,因为子程序的返回地址不需要存放在堆栈中。

14.存储器重新映射的原因:使flash存储器中的fiq处理程序不必考虑因为重新映射所导致的存储器边界问题;用来处理代码空间中段边界仲裁的sram和boot block向量的使用大大减少;为超过单字转移指令范围的跳转提供空间来保存常量。

15.存储异常向量表中程序跳转使用ldr指令,而不使用b指令的原因:ldr指令可以全地址范围跳转,而b指令只能在前后32mb范围内跳转;芯片具有remap功能。

当向量表位于内部ram或外部存储器中,用b指令不能跳转到正确的位置。

16.锁相环(pll)注意要点:pll在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动恢复pll 的设定;pll只能通过软件使能;pll在激活后必须等待其锁定,然后才能连接;pll如果设置不当将会导致芯片的错误操作。

17.arm7与arm9的区别:arm7内核是0.9mips/mhz的三级流水线和冯诺伊曼结构;arm9内核是五级流水线,提供1.1mips/mhz的哈佛结构。

arm7没有mmu,arm720t是mmu的;arm9是有mmu的,arm940t只有memory protection unit.不是一个完整的mmu。

arm7tdmi 提供了非常好的性能--功耗比。

它包含了thumb指令集快速乘法指令和ice调试技术的内核。

arm9的时钟频率比arm7更高,采用哈佛结构区分了数据总线和指令总线。

18.vic的基本操作如下:答:设置irq/fiq中断,若是irq中断则可以设置为向量中断并分配中断优先级,否则为非向量irq。

然后可以设置中断允许,以及向量中断对应地址或非向量中断默认地址。

当有中断后,若是irq中断,则可以读取向量地址寄存器,然后跳转到相应的代码。

当要退出中断时,对向量地址寄存器写0,通知vic中断结束。

当发生中断时,处理器将会切换处理器模式,同时相关的寄存器也将会映射。

19.使用外部中断注意把某个引脚设置为外部中断功能后,该引脚为输入模式,由于没有内部上拉电阻,所以必须外接一个上拉电阻,确保引脚不被悬空;除了引脚连接模块的设置,还需要设置vic模块,才能产生外部中断,否则外部中断只能反映在extint寄存器中;要使器件进入掉电模式并通过外部中断唤醒,软件应该正确设置引脚的外部中断功能,再进入掉电模式。

20.uart0的基本操作方法设置i/o连接到uart0;设置串口波特率(u0dlm、u0dll);设置串口工作模式(u0lcr、u0fcr);发送或接收数据(u0thr、u0rbr);检查串口状态字或等待串口中断(u0lsr)。

21.i2c的基本操作方法答:i2c主机基本操作方法:设置i2c管脚连接;设置i2c时钟速率(i2sclh、i2scll);设置为主机,并发送起始信号(i2conset的i2en、sta位为1,aa位为0);发送从机地址(i2dat),控制i2conset发送;判断总线状态(i2stat),进行数据传输控制;发送结束信号(i2conset)。

i2c从机基本操作方法:设置i2c管脚连接;设置自身的从机地址(i2adr);使能i2c(i2conset的i2en、aa位为1);判断si位或等待i2c中断,等待主机操作;判断总线状态i2stat,进行数据传输控制。

22.pwm基本操作方法:连接pwm功能管脚输出,即设置pinsel0、pinsel1;设置pwm定时器的时钟分频值(pwmpr),得到所要的定时器时钟;设置比较匹配控制(pwmmcr),并设置相应比较值(pwmmrx);设置pwm输出方式并允许pwm输出(pwmpcr)及锁存使能控制(pwmler);设置pwmtcr,启动定时器,使能pwm;运行过程中要更改比较值时,更改之后要设置锁存使能。

相关文档
最新文档