加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

关于u-boot.map 文件的影响

发布时间:2021-11-25 20:11:23 所属栏目:教程 来源:互联网
导读:用make命令编译时自动生成的,里面包含所有的函数逻辑地址. printf(0x%xn, function_name); /* 这个逻辑地址,可以在u-boot.map里找到对应的函数名,用于是debug查错,相当好,例如函数指针. */ 实际上,kernel开发,也常常用syste.map文件. LDFLAGS += -Bstatic -T
用make命令编译时自动生成的,里面包含所有的函数逻辑地址.
printf("0x%xn", function_name); /* 这个逻辑地址,可以在u-boot.map里找到对应的函数名,用于是debug查错,相当好,例如函数指针. */
 
实际上,kernel开发,也常常用syste.map文件.
LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
 
这句话同时生成 u-boot.map 和 u-boot
cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS)
  --start-group $(__LIBS) --end-group $(PLATFORM_LIBS)
  -Map u-boot.map -o u-boot
 
经测试,使用
gcc -Wl,-Map,a.map foo.c -o foo
 
可生成..map 文件
 
在u-boot中,就有一种快速方法“从众多的同名函数中找到与我们相关的那一个”:
编译出来完的uboot会生成一个u-boot.map文件,你只要以这个“函数的名字”为关键字去u-boot.map中查找,就能找到编译出来的uboot映像,使用的是哪个文件中的函数了。
比如:uboot源码中对icache_enable函数的定义会存在于很多文件中,那么到底哪个才是与我们有关的呢?
我们只要去u-boot.map文件查找“icache_enable ”,就会看到:
“ .text          0x33f98f18      0x104 cpu/arm920t/libarm920t.a(cpu.o)
                0x33f98fb8                icache_status
                0x33f98fe4                icache_enable    “
 
 

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读