1,ldr加载指令LDR指令的格式为:LDR{条件} 目的寄存器,LDR指令用亍从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用亍从存储器中读取32位的字数据到通用寄存器,然后对数据迕行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流...
分类:
其他好文 时间:
2015-05-14 11:34:13
阅读次数:
121
ARM汇编指令ARM处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令6大指令。一、跳转指令跳转指令用于实现程序流程的跳转,在ARM程序中有以下两种方法可以实现程序流程的跳转。Ⅰ.使用专门的跳转指令;Ⅱ.直接向程序计数器PC写入...
分类:
其他好文 时间:
2015-04-21 17:55:24
阅读次数:
255
汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。1、GNU汇编语言语句格式任何Linux汇编行都是如下结构:[:][}@commentlinstruction为指令ldirective为伪操作lpseu...
分类:
其他好文 时间:
2015-04-09 00:51:26
阅读次数:
154
工作中经常碰到crash的问题,如果是Debug版本,有源代码,那还好,调试信息多。万一Release给QA甚至客户之后,再发现crash之类的问题,如果不熟悉ARM指令、看不懂现场,那调试起来可就费劲了。往往只能到处去猜,相信大家都有过这种难过的经历。
这段时间比较闲,正好利用起来为入门ARM指令集写点初级文章,没什么远大理想,写到哪里算哪里,权当娱乐罢了。...
分类:
移动开发 时间:
2015-03-21 17:11:25
阅读次数:
153
一. 预热文章; | 二. C语言中插入ARM汇编; | 三. U-Boot下汇编裸板开发基本流程; | 四. U-Boot下C语言裸板开发基本流程; | 五. MMU 配置流程; | 六....
分类:
其他好文 时间:
2015-03-07 21:15:53
阅读次数:
929
c_runtime_cpu_setup函数在arch/arm/cpu/arm920t/start.S文件中: .globl c_runtime_cpu_setupc_runtime_cpu_setup: mov pc, lr //没做什么就返回了回到arch/arm/lib/crt0.S文件中:bl c_runtime_cpu_setup /* we still call old ro...
分类:
其他好文 时间:
2015-02-02 08:23:07
阅读次数:
169
“从relocate_code回到_main中,接下来是main最后一段代码”也就是arch/arm/lib/crt0.S文件中: b relocate_codehere://从这里开始u-boot已经在重定位的地方运行了/* Set up final (full) environment */ bl c_runtime_cpu_setup /* we still call ol...
分类:
其他好文 时间:
2015-01-31 08:21:13
阅读次数:
198