u-boo學習記錄之最后的鏈接命令分析,以及鏈接地址存放在何處

使用版本是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,所以如果預留的空間不夠用,你應該知道去哪里進行更改

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容