免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2312 | 回复: 4
打印 上一主题 下一主题

[BootLoader] 编译uboot,对最后连接过程中的一点不理解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-29 10:01 |只看该作者 |倒序浏览
以下是uboot最后连接生成u-boot的过程:
  1. UNDEF_SYM=`arm-linux-objdump -x lib_generic/libgeneric.a board/EmbedSky/libEmbedSky.a cpu/arm920t/libarm920t.a cpu/arm920t/s3c24x0/libs3c24x0.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/jffs2/libjffs2.a net/libnet.a rtc/librtc.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/lcd/liblcd.a modules/usb.module modules/wince.module common/libcommon.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
  2.                 cd /root/embed/opt/EmbedSky/u-boot-1.1.6 && arm-linux-ld -Bstatic -T /root/embed/opt/EmbedSky/u-boot-1.1.6/board/EmbedSky/u-boot.lds -Ttext 0x33D80000  $UNDEF_SYM cpu/arm920t/start.o \
  3.                         --start-group lib_generic/libgeneric.a board/EmbedSky/libEmbedSky.a cpu/arm920t/libarm920t.a cpu/arm920t/s3c24x0/libs3c24x0.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/jffs2/libjffs2.a net/libnet.a rtc/librtc.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/lcd/liblcd.a modules/usb.module modules/wince.module common/libcommon.a --end-group -L /opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.5 -lgcc \
  4.                         -Map u-boot.map -o u-boot
复制代码
UNDEF_SYM定义为: 打印静态库中的头,并用sed处理将 __u_boot_cmd.* 替换为 -u__u_boot_cmd.*, 添加-u之后下一步ld会用-u将 __u_boot_cmd.* 作为 undefined symbol。
现在不明白为什么要将 将 __u_boot_cmd.* 作为 undefined symbol?
希望各位前辈不吝指教,非常感谢!

论坛徽章:
0
2 [报告]
发表于 2012-03-29 11:18 |只看该作者
本帖最后由 crifan 于 2012-04-06 17:33 编辑

去看我之前写的:
详细分析make uboot 最后的编译链接的具体执行过程
http://www.crifan.com/detailed_a ... ementation_process/

论坛徽章:
0
3 [报告]
发表于 2012-03-29 11:36 |只看该作者
回复 2# crifan

非常感谢,写的非常详细,分析的非常透彻,但美中不足的是:就在我想问的地方上,您有写“(是不是这样,不确定,只是这么猜测而已)”,是不是您也对这个地方比较模糊呢?

   

论坛徽章:
0
4 [报告]
发表于 2012-03-29 12:55 |只看该作者
回复 3# wangcong02345


    已经在原帖中添加相关–start-group和 –end-group部分的解释,请自己去吧。

论坛徽章:
0
5 [报告]
发表于 2012-03-29 13:46 |只看该作者
回复 4# crifan


    太崇拜你了!再次感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP