
uboot学习与移植
阿释密达沙加
这个作者很懒,什么都没留下…
展开
-
ldr和adr在使用标号表达式作为操作数的区别
ARM汇编有ldr指令以及ldr、adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。 ldr r0, _start adr r0, _start ldr r0, =_start_start: b _start 编译的时候设转载 2014-02-26 01:58:05 · 757 阅读 · 0 评论 -
uboot源码中start.S里中断向量表中不直接LDR PC ,"异常地址",而是使用一个标号
LDR指令只能是跳到当前PC 4kB范围内,而B指令能跳转到32MB范围,而现在这样在 LDR PC ,"xxxx"这条指令不远处用"xxxx" DCD 定义一个字,而这个字里面存放最终异常服务程序 的地址,这样可以实现4GB全范围跳转。原创 2014-02-26 02:01:10 · 1606 阅读 · 0 评论 -
ARM Uboot经历——makefile与uboot目录
makefile是个很复杂的东西,但是只要有耐心层层剥下,也能看到你想看到的东西。很遗憾的事,很多人都没有耐心去层层看,我也是。对于makefile,我也仅仅从基础上了解了它在uboot中的原理和作用,其实你不一定要完全了解,但是你又不能完全不了解,这就是这个世界的矛盾。makefile 第一步最开始当然要看顶层目录下的makefile文件,当你执行make命令是就是默认这转载 2014-03-05 14:15:17 · 814 阅读 · 0 评论 -
ARM Uboot经历——Uboot初始化代码解析
Uboot初始化代码主要是在Uboot重定位之前的一系列处理,起源于start.s文件,涉及crt0.s和board.c等文件,会完成最系统环境最初始的设置和结构体赋值。reset的相关处理从_start跳转到reset[cpp] view plaincopy.globl _start _start: b转载 2014-03-05 14:02:59 · 1100 阅读 · 0 评论