2010年(49)
分类: 嵌入式
2010-09-07 14:32:41
Uboot的链接地址,无论是何种架构,都是TEXT_BASE宏定义的值。虽然各个board的.lds链接文件不同,但是通过根目录底下的config.mk文件中
LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
可知道,使用-Ttext来指明了链接地址。
Arm
Arm架构下,TEXT_BASE都是SDRAM中的高址。这就要求uboot在flash中运行时跳转指令要做相对跳转而不是绝对跳转;而一旦拷贝到sdram就一切ok了。
Powerpc
Powerpc架构下,TXET_BASE都是FLASH的地址。这就要求uboot在拷贝到sdram后,使用GOT技术来保证在sdram中的正确执行。