| 
 
贡献386 
飞刀93 FD
注册时间2012-5-18
在线时间41 小时积分141 
 
  
 | 
 
 
 楼主|
发表于 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':
 
 
 
 | 
 |