使用版本是u-boot-1.1.6,cpu:s3c2440,調(diào)試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
或者使用如下命令進行查找,其他開發(fā)板也是如此操作
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,所以如果預留的空間不夠用,你應該知道去哪里進行更改