ARM
文章平均质量分 78
y695385603
这个作者很懒,什么都没留下…
展开
-
ARM链接脚本
1. 概论 每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的段放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?)转载 2013-10-27 13:49:57 · 2039 阅读 · 0 评论 -
ARM汇编语言
ARM的条件码域大部分ARM指令都可以条件执行,也就是根据CPSR中的条件标志位决定是否执行该指令。当条件满足时执行,当条件不满足时该指令被当做一条NOP指令。(一)跳转指令B 跳转指令BL 保存返回地址的跳转指令BX 带状态切换的跳转指令BLX 保存返回地址和状态切换的跳转指令B、BL和BLX(1)后原创 2013-12-21 11:20:52 · 3508 阅读 · 0 评论 -
ARM处理器模式及寄存器
一、ARM处理器模式:ARM微处理器支持7种运行模式,分别为:用户模式(usr): ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc): 操作系统使用的保护模式。软中断和复位数据访问中止模式(abt)原创 2013-12-21 11:12:38 · 3619 阅读 · 0 评论 -
ARM汇编语言编码
(1)数据处理指令的编码格式cond: 指令的条件码I: 用于区别operand2是立即数(I=1)还是寄存器(I=0)opcode:指令操作码S: 操作是否影响cpsr,S=0不影响,S=1影响Rn: 包含第一个操作数的寄存器编码Rd: 目标寄存器编码operand2:第二操作数,有三种方式原创 2013-12-21 11:39:48 · 3177 阅读 · 1 评论 -
ARM存储管理系统MMU
一、虚拟地址和物理地址的区别 CPU通过地址来访问内存中的单元,地址有虚拟地址和物理地址之分。如果CPU没有MMU(Memory Management Unit,内存管理单元),或者有MMU但没有启用,CPU在访问内存时发出的地址将直接传送到地址总线上,使具有相同地址的物理存储器被读写。这称为物理地址(Physical Address,以下简称PA),如下图所示:原创 2013-10-30 18:09:40 · 8107 阅读 · 0 评论 -
ARM的快速上下文切换(FCSE)
一、FCSE的原理 通常情况下,如果两个进程占用的虚拟地址空间由重叠,系统在这两个进程之间进行切换时,必须进行虚拟地址到物理地址的重映射。而虚拟地址到物理地址的重映射涉及到重建MMU中的页表,而且cache 及TLB中的内容都必须使无效(通过设置协处理器寄存器的相关位)。这些操作将带类巨大的系统开销,一方面重建MMU和使无效cache及TLB的内容需要很大的开销,另一方面重建cach转载 2013-10-27 14:05:20 · 3217 阅读 · 0 评论 -
ARM伪指令和伪操作
(一)GNU汇编书写格式注释符:@和#语句分离符: ;立即数前缀: #或$段内标号的地址值在汇编时确定段外标号的地址值在连接时确定局部标号:主要在局部范围内使用而且局部标号可以重复出现。它由两部分组成,开头是一个直接的数字局部标号,如99,后面加 ‘ : ’,如 66:在跳转时,根据所加后缀不一样,跳转方向不一样。1. f代码地原创 2013-10-27 13:48:07 · 5241 阅读 · 0 评论 -
ARM内联汇编
首先,让我们来共同了解一下 GCC 内联汇编的一般格式:asm(代码列表: 输出运算符列表: 输入运算符列表: 被更改资源列表);在代码列表中,每个汇编语句都要用" "括起来。例:asm("add %0,%1,%2\n\t""mov r1,%1\n\t":"+r"(sum):"r"(a),"r"(b)原创 2013-10-27 13:53:45 · 3451 阅读 · 0 评论 -
Cortex-A相对经典ARM处理器的扩展
(一)Cortex-A多了一种工作模式:monitor1. usr 用户模式: 非特权模式,大部分应用程序运行在这个模式下2. fiq 快中断模式: 高优先级的中断3. irq 普通中断模式: 低优先级的中断4. svc 超级用户模式(管理模式): 软中断和复位5. abort 中止模式:原创 2013-10-27 13:53:14 · 2301 阅读 · 0 评论 -
ARM协处理器CP15寄存器详解
用于系统存储管理的协处理器CP15MCR{cond} coproc,opcode1,Rd,CRn,CRm,opcode2MRC {cond} coproc,opcode1,Rd,CRn,CRm,opcode2coproc 指令操作的协处理器名.标准名为pn,n,为0~15 opcode1 协处理器的特定操作码. 对于CP15寄存器原创 2013-10-27 13:56:46 · 21934 阅读 · 4 评论 -
ARM的cache和写缓冲器(write buffer)
一、cache简介 通常CPU与外部主存之间的访问速度差距很大,因为外部主存的低速率读写而降低了CPU的执行效率,所以引入了高速缓冲存储器cache,cache存储器是一种容量小,速度快的存储器。其实cache说到底就是一块速度非常快的内存。 而cache经常与写缓冲器(write buffer)一起使用,使用writer buffer的目的是,将处理器和cac原创 2013-10-27 14:02:47 · 15312 阅读 · 2 评论 -
ARM异常中断
一、ARM中异常中断的类型:异常中断名称含义复位(Reset)当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面几种情况:1、系统加电时2、系统复位时3、跳转到复位中断向量处执行,称为软复位未定义的指令当ARM处理器或者是系统中协处理原创 2013-12-21 11:43:50 · 5052 阅读 · 1 评论