ARM
文章平均质量分 90
zhao
多做点笔记,多复习
展开
-
程序状态寄存器指令
MRS{}Rd,psr把程序状态计数器的数读入寄存器MSR{}psr_fileds,Rm|#immediate_8给程序状态计数器赋值在ARM中,仅有这两条指令可改变程序状态计数器的值field设置状态寄存器中需要操作的位,bit[31:24]条件标志位,用f表示,bit[23:16]状态标志域,用s表示,bit[15:8]扩展位域位,用x表示,bit[7:0]条件标志位,用c表示原创 2012-12-17 17:39:58 · 1926 阅读 · 0 评论 -
安装QT集成开发环境
上一篇文章已讲到了QT在三种不同硬件平台上的安装,为了更方便的使用,这里我们安装QT的集成开发环境!@ 准备QT的集成开发环境qt-creator-linux-x86-opensource-1.3.1.bin 进入该文件所在目录./ qt-creator-linux-x86-opensource-1.3.1.bin开始安装,安装过程中一直点next,安装结束点击finish。桌原创 2013-08-22 10:15:39 · 735 阅读 · 0 评论 -
如何 make menuconfig 和 make xconfig
在ubuntu系统中,要编译内核,还需要安装一系列相应的工具才行。这篇文章,正是针对这一过程的一次记录,目标是可以通过 make menuconfig 或 make xconfig 配置内核参数--------------------------------------------------------------参考apt用法参考 《 UbuntuHelp:AptGet/How转载 2013-03-13 22:37:55 · 1337 阅读 · 0 评论 -
const 和volatile
const:修饰的变量是只读的; 修饰的变量会在内存占用空间; 本质上const只是对编译器有用,在程序运行时无用; 修饰的值可以通过指针来改变,故const不是真正意义上的常量; 修饰的数组空间不可被改变。volatile:可理解为“编译器告警指示字”; 告原创 2012-12-19 18:05:16 · 271 阅读 · 0 评论 -
RSIC设计思想
RSIC设计思想主要由以下四个设计准则来实现 1指令集——RSIC处理器减少了处理指令种类。RSIC的指令种类只提供简单的操作,是一个周期就可以执行一条指令,每条指令长度都是固定的,允许流水线在当前指令阶段去读取下一条指令 2流水线——指令的处理过程被拆分为几个更小的、能够被流水线并行执行的单元,理想情况下,流水线每周期前进一步,可获得更高的吞吐率。 3寄存器——原创 2012-12-17 17:38:31 · 1223 阅读 · 0 评论 -
常量的装载
ARM指令不能用于把一个32位常量装入寄存器。因为ARM指令本身是32位的,所以指令中不可能再定义一个普通的32位常量。ARM增加了两条伪指令,用于把一个32位常量装载入寄存器。语法LDR Rd,=constant常量装载伪指令Rd=32位常量ADR Rd,label地址装载伪指令Rd=32位相对地址原创 2012-12-17 17:48:52 · 321 阅读 · 0 评论 -
寄存器
通用寄存器可以保存数据和地址。用字母r为前缀加该寄存器的序号来标识,所有的通用寄存器均为32位 最多可以有18个活动寄存器;16个数据寄存器(r0-r15)和2个处理器状态寄存器。 ARM处理器为特殊的任务或专门的功能制定了三个寄存器:r13,r14,r15 r13用作堆栈指针sp保存当前处理器模式的堆栈的栈顶; r14又被称为链接寄存器(lr)保存调用子程序原创 2012-12-17 17:46:54 · 804 阅读 · 0 评论 -
数据处理指令
MOVE指令:语法{}{S} Rd,N MOV 把一个32位数送到一个寄存器 Rd=N MVN 把一个32位数的非送到一个寄存器 Rd=~N桶形移位寄存器: ARM的一个显著特性是,可以在操作数进入ALU以前,对操作数进行指定位数的左移或者右移 使用桶形移位寄存器可以原创 2012-12-17 17:46:07 · 717 阅读 · 0 评论 -
分支指令
分支指令可改变程序的执行流程或者调用子程序。这种指令使得一个程序可以使用子程序、if-then-else的结构及循环。执行流程的改变迫使程序计数器指向一个新地址,armV5e架构指令集包括以下四种不同的分支指令。B label 跳转 pc=labelARM汇编器通过以下步骤计算指令编码中的signed_immed_241pc寄存器的值作为本次跳转的基地址2从原创 2012-12-17 17:45:01 · 6565 阅读 · 0 评论 -
单寄存器传送指令
load-store指令用于在存储器和处理器之间传递数据。共有三种类型的load-store指令:单寄存器传送指令,多寄存器传送指令和交换指令单寄存器传送指令:把单一的数据传入或传出寄存器。支持类型有字,字节和半字LDR|STR{B} Rd, addressingLDRSB H SH Rd, addressingSTRH Rd, addressing单寄存器指令的寻址方式回原创 2012-12-17 17:44:14 · 1213 阅读 · 0 评论 -
软件中断指令
软件中断指令可以产生一个软件中断异常,这为应用程序调用系统例程提供一种机制,通常在user模式下执行。SWI{} SWI_numberlr_svc=SWI指令后面的指令地址spsr_svc=cpsr pc=vectors+0x8 cpsr模式=svc cpsr I=1(屏蔽IRQ)处理软件中断调用的代码段称为中断处理程序(SWI handler)中断处理程序通过执行指令的地址获取软件的原创 2012-12-17 17:42:31 · 515 阅读 · 0 评论 -
Redhat6.0,ubuntu下安装QT及qvfb
最近几天安装QT出现了一系列的问题,最终依靠强大的网络得以解决,有需要的可以参考! QT为适应不同的平台开发了众多的安装包,ftp://ftp.qt.nokia.com/qt/source/我们选取qt-everywhere-opensource-src-4.7.3.tar.gz,该包可支持不同的硬件平台,只需在配置时添加不同的命令参数即可! 为了适应嵌入式的开发我们需要安装三个包,原创 2013-08-22 09:57:52 · 1584 阅读 · 0 评论