2025年ldr指令的使用方法(ldr指令的功能)

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



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指令的原因:

编程小号
上一篇 2025-08-04 17:51
下一篇 2025-03-25 11:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/55824.html