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

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

作者: sgy1993 | 来源:发表于2017-07-25 13:53 被阅读0次

    使用版本是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学习记录之最后的链接命令分析,以及链接地址存放在何处

          本文链接:https://www.haomeiwen.com/subject/dhmwkxtx.html