- 积分
- 141
贡献386
飞刀93 FD
注册时间2012-5-18
在线时间41 小时
|
楼主 |
发表于 2015-5-29 11:26:59
|
显示全部楼层
把一个调试串口改为普通串口可真不容易啊, 现在内核终于可以不打印调试信息了,但是uboot的修改中遇到强大阻力.
前面的文章中是这样介绍的方法
Uboot代码中的
drivers/serial/Makefile
ns16650.o
serial.o
libserial.o
CONFIG_SYS_NS16550_SERIAL
CONFIG_SYS_NS16550
include/configs/ok335x.h
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_NO_INFO_CONSOLE
但是我觉得以下几点介绍不够清楚,
1. libserial.o 去掉, 但是在Makefile中是这样一句 LIB := $(obj)libserial.o ,难道注释到该语句吗?
而且后面发现注释该行后总报告找不到libseria.o
2. ns16650.o 等, 我找到了#COBJS-$(CONFIG_SYS_NS16550) += ns16550.o 是注释该行吗?
3. ok335x.h确实找到了 #define CONFIG_SYS_NS16550 #define CONFIG_SYS_NS16550_SERIAL 是注释掉两行马? 加上一个#define CONFIG_NO_INFO_CONSOLE 吗?
4. 如果以上我的猜想都是对的,为什么最后还是失败,报告错误?
arm-arago-linux-gnueabi-ld: u-boot: section .bss vma 0x8083cd5c overlaps previous sections
arch/arm/lib/libarm.o:(.data+0xc): undefined reference to `serial_init'
common/libcommon.o: In function `do_load_serial_bin':
/opt/uboot/uboot-2011-09.public/common/cmd_load.c:470: undefined reference to `serial_setbrg'
/opt/uboot/uboot-2011-09.public/common/cmd_load.c:508: undefined reference to `serial_setbrg'
common/libcommon.o: In function `_do_env_set':
/opt/uboot/uboot-2011-09.public/common/cmd_nvedit.c:293: undefined reference to `serial_setbrg'
common/libcommon.o: In function `serial_printf':
/opt/uboot/uboot-2011-09.public/common/console.c:218: undefined reference to `serial_puts'
common/libcommon.o: In function `getc':
/opt/uboot/uboot-2011-09.public/common/console.c:307: undefined reference to `serial_getc'
common/libcommon.o: In function `tstc':
/opt/uboot/uboot-2011-09.public/common/console.c:323: undefined reference to `serial_tstc'
common/libcommon.o: In function `putc':
|
|