u-boo学习记录之最后的链接命令分析,以及链接地址存放在何处

使用版本是u-boot-1.1.6,cpu:s3c2440,调试Makefile的工具:remake(这款工具相当好用,希望大家能够广泛用起来,推荐给身边正在学习Makefile而又看不懂的苦逼)
最后链接u-boot的命令

$(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
            --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
            -Map u-boot.map -o u-boot
#展开相应的变量
mdb<2> p LDFLAGS
/work/system/u-boot-1.1.6/config.mk:189 (origin: makefile) LDFLAGS = -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
mdb<7> x LDFLAGS
/work/system/u-boot-1.1.6/config.mk:189 (origin: makefile) LDFLAGS := -Bstatic -T /work/system/u-boot-1.1.6/board/100ask24x0/u-boot.lds -Ttext 0x33F80000 
mdb<8> 

以上信息看的出来LDFLAGS这个变量放在根目录下的config.mk中定义
使用的链接脚本是
u-boot-1.1.6/board/100ask24x0/u-boot.lds
链接脚本的基地址
u-boot-1.1.6/board/100ask24x0/config.mk:25 (origin: makefile) TEXT_BASE = 0x33F80000
或者使用如下命令进行查找,其他开发板也是如此操作

book@book-desktop:~/system/u-boot-1.1.6$ grep "TEXT_BASE" * -nR | grep "config.mk" | grep "100ask"
board/100ask24x0/config.mk:25:TEXT_BASE = 0x33F80000

这里外接的sdram使用的是64M大小,
64MB = 64 * 1024 * 1024 = 67,108,864 = 0x3400 0000
由于地址是逐渐往上递增的,所以从基地址开始算起,只预留了512KB的u-boot存储空间

book@book-desktop:~/system/u-boot-1.1.6$ du -h u-boot.bin
196K 

这里查看了一下u-boot的空间大小是196K,所以如果预留的空间不够用,你应该知道去哪里进行更改

你可能感兴趣的:(u-boo学习记录之最后的链接命令分析,以及链接地址存放在何处)