随笔分类 -  ARM裸机开发

针对ok6410开发板
ARM指令集
摘要:ARM指令的基本格式ARM指令的基本格式为:<Opcode> {<Cond>} {S} <Rd> , <Rn> { , <Opcode2> }其中,< >内的项是必需的,{ }内的项是可选的。(1)Opcode项Opcode是指令助记符,即操作码,说明指令需要执行的操作,在指令中是必需的。(2)Cond项(command)Cond项表明了指令的执行的条件,每一条ARM指令都可以在规定的条件下执行,每条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码用2个字符表示,这两个字符可以添加 阅读全文

posted @ 2012-04-05 14:16 n哖苡逅 阅读(13655) 评论(0) 推荐(0)

ARM详细指令集
摘要:算术和逻辑指令ADC : 带进位的加法(Addition with Carry)ADC{条件}{S} <dest>, <op 1>, <op 2> dest = op_1 + op_2 + carryADC 将把两个操作数加起来,并把结果放置到目的寄存器中。它使用一个进位标志位,这样就可以做比 32 位大的加法。下列例子将加两个 128 位的数。128 位结果: 寄存器 0、1、2、和 3第一个 128 位数: 寄存器 4、5、6、和 7第二个 128 位数: 寄存器 8、9、10、和 11。ADDS R0, R4, R8 ; 加... 阅读全文

posted @ 2012-04-05 13:33 n哖苡逅 阅读(10976) 评论(0) 推荐(2)

ARM寻址方式
摘要:所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。ARM处理器的寻址方式目前ARM处理器支持9种寻址方式,分别是立即数寻址、寄存器寻址、寄存器偏移寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、相对寻址、堆栈寻址和块拷贝寻址。1. 立即数寻址也叫立即寻址,是一种特殊的寻址方式,操作数本身包含在指令中,只要取出指令也就取到了操作数。这个操作数叫做立即数,对应的寻址方式叫做立即寻址。例如:MOV R0,#64 ;R0 ← 64ADD R0, R0, #1 ; R0 ← R0 + 1SUB R0, R0, #0X3D ; R0 ← R0 – 0X3D在立即数寻址中,要求立即数以“ 阅读全文

posted @ 2012-04-05 13:10 n哖苡逅 阅读(11550) 评论(2) 推荐(3)

ARM寄存器
摘要:一、ARM工作状态下的寄存器组织ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC(即R15)、一个状态寄存器都是可访问的。通用寄存器通用寄存器包括R0~R15,可以分为3类:(1)未分组寄存器R0~R7(2)分组寄存器R8~R14(3)程序计数器PC(R15)1.未分组寄存器R0~R7在所有运行模式下,未分组寄存器都指向同一个物理寄存器,它们未被系统用作特殊的用途.因此在中断或异常处理进行运行模式转换时,由于不 阅读全文

posted @ 2012-04-05 08:56 n哖苡逅 阅读(7200) 评论(1) 推荐(1)

ARM工作模式
摘要:1. 工作状态从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:1)第一种为ARM状态,此时处理器执行32的字对齐ARM指令,绝大部分工作在此状态;2)第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。ARM微处理器有32位的ARM指令集和16位的Thumb指令集,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。2. 存储器格式ARM体系结构将存储器看作从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,依 阅读全文

posted @ 2012-04-04 20:59 n哖苡逅 阅读(3100) 评论(0) 推荐(1)

ARM裸机开发环境搭建
摘要:1. 安装Uboot到开发板“Hit any key to stop autoboot"使ARM不进入操作系统2. Jlink软件安装使用的是402d版本,对6410稳定。3. Jlink与ok6410连接转接板与开发板的缺口要一致,打开J-link GDB Server,检查:1)J-link:connected2)Target:ARM11...4. ARM汇编程序结构 AREA Example,CODE,READONLY ;声明代码段Example ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令S... 阅读全文

posted @ 2012-04-04 19:01 n哖苡逅 阅读(2866) 评论(0) 推荐(0)

导航