关于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 “ (编辑:济南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |