天嵌 ARM开发社区

 找回密码
 注册
查看: 5824|回复: 5

关于uboot中的串口操作函数

[复制链接]
xmayyang 发表于 2013-6-4 20:01:44 | 显示全部楼层 |阅读模式
在uboot1.1.6中; common/serial.c定义了诸如serial_init、serial_getc等一系列串口的操作函数;
同时在cpu/arm920t/s3c24x0/serial.c中也定义了同样的一些串口操作函数。而且在各自的目录下都产生了相应的serial.o文件,也就是说着两个serial.c都被编译了。但是看最终的u-boot.map文件中用的是后一个,请帮忙解释下吧,难道说common目录下的是桩吗?

.text          0x33d1e2c4      0x178 cpu/arm920t/s3c24x0/libs3c24x0.a(serial.o)
                0x33d1e42c                awaitkey2
                0x33d1e368                serial_tstc
                0x33d1e378                serial_puts
                0x33d1e3a0                do_getc
                0x33d1e318                serial_init
                0x33d1e340                serial_putc
                0x33d1e328                serial_getc
                0x33d1e2c4                serial_setbrg

亚瑟王 发表于 2013-6-5 09:31:41 | 显示全部楼层
前者是协议,后者是硬件驱动。
 楼主| xmayyang 发表于 2013-6-5 12:01:27 | 显示全部楼层
从Makefile来看,common目录下的最终编成了libcommon.a的静态库,cpu/arm920t/s3c24x0目录下编成了libs3c24x0.a的静态库。在uboot顶层的Makefile中LIBS变量中这两个静态库都有链接,只是libs3c23x0.a在前,libcommon.a在后,难道说后链接的,如果函数重复了,就自动跳过了吗?
 楼主| xmayyang 发表于 2013-6-18 15:35:52 | 显示全部楼层
温习了下编译原理,对于库的链接,如果库文件中存在同名的符号,优先链接前面的,后面的自动忽略
banjiaoshi 发表于 2013-11-11 22:02:38 | 显示全部楼层
xmayyang 发表于 2013-6-18 15:35
温习了下编译原理,对于库的链接,如果库文件中存在同名的符号,优先链接前面的,后面的自动忽略

这个问题我也百思不得其解~也没有看到相关的链接脚本文件,函数名一样,怎么能在同一项目中?
banjiaoshi 发表于 2013-11-11 22:04:41 | 显示全部楼层
xmayyang 发表于 2013-6-18 15:35
温习了下编译原理,对于库的链接,如果库文件中存在同名的符号,优先链接前面的,后面的自动忽略

在链接的时候,先后顺序如何定义的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-6 10:56 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表