ARM
进化-evolution
搜索
展开
-
adr与ldr的区别2
在学习ARM指令时,经常会对adr和ldr这两个命令产生疑惑,那他们究竟有什么区别呢?其实这两个都是伪指令:adr是小范围的地址读取伪指令,相于PC 寄存器或其它寄存器的小范围转移;ldr是大范围的读取地址伪指令,相当于PC 寄存器或其它寄存器的长转移。看下面的例子: AREA test, CODE, READONLY ENTRYstar转载 2014-10-23 16:28:24 · 755 阅读 · 0 评论 -
keil4编程环境技巧2:找不到u32定义?
在keil4中使用stm32库函数开发程序,想要定位u32,却无法跳转(原因是有多个定义),我就郁闷了编辑器下边是这样的,其实现实结果就在这里,在窗口往上拉就可以看到了原创 2015-06-15 15:25:02 · 3668 阅读 · 0 评论 -
_int64 C语言中怎么用
示例程序://---------------------------------------------------------------------------#include int main(void){__int64 a,b;scanf("%I64d",&a);scanf("%I64d",&b);printf("%I64d+%I64d=%I64d\n",a,b,a+转载 2015-06-14 12:14:22 · 3461 阅读 · 0 评论 -
C51中的数据类型
转载于SM-狂日者-鬼雾峰的博客先来简单说说C语言的标识符和关键字。标识符是用来标识源程序中某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、数组等等。C语言是大小字敏感的一种高级语言,如果我们要定义一个定时器1,可以写做"Timer1",如果程序中有"TIMER1",那么这两个是完全不同定义的标识符。标识符由字符串,数字和下划线等组成,注意的是第一个字符必须是字母或下划线,如"转载 2015-06-14 12:16:57 · 10902 阅读 · 0 评论 -
KB 和 KiB 的区别
http://zh.wikipedia.org/zh/Kibibyte1KiB = 1024B1MiB = 1024KiBKibibyte是一種資訊計量單位,代表1024字节,即210字节,一般簡稱為KiB。Kibibyte是自來英文kilo binary byte 的縮寫,意思為「千位二進位字節」。字节的次方单位十进转载 2015-07-05 11:37:22 · 3651 阅读 · 0 评论 -
回车和换行的区别??
换行好理解,就是跳到下一行嘛 回车嘛 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符转载 2015-06-16 14:35:55 · 1015 阅读 · 0 评论 -
ARM9 2410移植之ARM中断原理, 中断嵌套的误区,中断号的怎么来的
几天前一个学生问我ARM中断嵌套的问题,我才发现原在我心中理所当然的事对学生来说理解实属不易。 ARM有七种模式,我们这里只讨论SVC、IRQ和FIQ模式。 我们可以假设ARM核心有两根中断引脚(实际上是看不见的),一根叫 irq pin, 一根叫fiq pin. 在ARM的cpsr中,有一个I位和一个F位,分别用来禁止IRQ和FIQ的。 先不说中断转载 2014-11-22 22:29:48 · 742 阅读 · 0 评论 -
汇编 .s 与 .S大小写区别
汇编 .s 与 .S大小写区别原创 2014-11-22 23:06:39 · 2945 阅读 · 0 评论 -
ARM指令之--MVN
MVN指令和MOV指令异同点:相同点:将一个寄存器、被移位的寄存器、或将一个立即数加载到目的寄存器不同点:MVN指令不同的是在传送之前,将被传送的对象先按位取反,再传送到目的寄存器。举例:MVN r1 , r2MVN r1 , #0xFF ;r1 ← 0x FFFF FF00MVN r1, #0x00000007; r1 ←0x原创 2014-11-20 21:55:36 · 7779 阅读 · 0 评论 -
ARM控制流指令
控制流指令 转移指令(branch) 说明:无条件转移B,BAL 举例: BLABEL ; LABEL为某个位置 条件转移 说明: BEQ 相等 BNE 不等 BPL 非负 BMI 负 BCC原创 2014-11-19 16:23:40 · 2926 阅读 · 0 评论 -
ARM体系结构笔记①---(ARM的7种模式、寄存器、存储空间、指令、中断、最小系统)
ARM处理器共有7种运行模式,如下表处理器模式处理器模式描述用户模式(User,usr)正常程序执行的模式快速中断模式(FIQ,fiq)用于高速数据传输和通道处理普通中断模式(IRQ,irq)用于通常的中断处理监管模式(Supervisor,svc)原创 2014-11-18 14:00:00 · 2642 阅读 · 1 评论 -
S3C6410 时钟初始化
1. PHASE LOCKED LOOP(PLL)S3C6410里包含三个PLL(锁相环),APLL, MPLL, EPLL,通过设置它们将输入时钟同步输出达到操作CPU的工作频率的目的。如图1-1所示。Voltage Controlled Oscillator (VCO)P[5:0]位来设置FIN进行分频。通过设置Main-Divider分频数,分频压控振荡器产生的输出时钟转载 2014-01-13 16:54:35 · 952 阅读 · 0 评论 -
SFR是什么
SFR是Special Function Register(特殊功能寄存器)的缩写。原创 2014-10-23 16:25:29 · 4735 阅读 · 0 评论 -
adr与ldr的区别1
adr r0, ResetHandler ldr r1, =ResetHandler sub r0, r1, r0 ldr r1, =SMRDATA sub r0, r1, r0事实上,如果代码不长,以上代码可以用adr r0,SMRDATA代替。关于两个区别可看某人的解释:可以比较两个反汇编以后的机器码,ro-base等于0xc7c0000adr r0转载 2014-10-23 16:30:11 · 717 阅读 · 0 评论 -
ARM堆栈的分类
根据堆栈的生成方式,又可以分为递增堆栈(AscendingStack)和递减堆栈(DecendingStack),当堆栈由低地址向高地址生成时,称为递增堆栈,当堆栈由高地址向低地址生成时,称为递减堆栈。这样就有四种类型的堆栈工作方式,ARM微处理器支持这四种类型的堆栈工作方式,即:◎ Fulldescending 满递减堆栈堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向堆栈最后一个元素转载 2014-10-23 16:15:09 · 1913 阅读 · 0 评论 -
keil4编程环境技巧1:常用鼠标行首删除整行
在写代码时要删除整行代码时要选中该行,挺烦的有木有有一个技巧:通常编辑器都有:如果你想删除一整行代码,只需将光标移至该行,再使用组合键“Ctrl+L”来完成剪切操作,而无需选择整行。原创 2015-06-15 12:59:32 · 3694 阅读 · 1 评论