U-Boot之四:u-boot.lds分析(二)

2014-11-24 10:46:41 ? 作者: ? 浏览: 1
start.o中的代码装载地址和运行地址都为0x00000000,但是在start.o中会有一个u-boot自拷贝及重定位过程,start.o执行到最后时,整个u-boot已经被复制到了内存的TEXT_BASE(0x33f80000)位置,开始执行下面的跳转语句:
ldr pc, _start_armboot /*
将标号_start_armboot的值传给pc,实际上是将start_armboot函数的首地址传给pc但是此时的start_armboot应该是在内存中,因为start_armboot一定是在4kB之后,而nandflash4kB之后的代码是无法直接访问的,必须先读入内存。而这时候u-boot的代码已经被拷贝并重定位到内存中,所以此处加在到pc的地址应当是内存中的地址,即33f800之后的某一地址*/
_start_armboot: .word start_armboot


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: