首先,我查找了一下我所用开发板的串口驱动,是Linux下开源的8250串
口。在驱动程序中我发现了关于控制台相关的处理部分是以内核中CONFIG_SERIAL_CONSOLE配置项进行
控制的。于是我打算重新配置下Linux内核试试。
在base代码的底层,使用make menuconfig进入到内核的配置项中,在Device Drivers-->Charactor Driver-->Serial Driver中找到了Console的配置项,取消后重新编译内核。
我将新的内核镜像文件烧录到开发板上后,发现控制台上输出
LINUX started...
THIS IS ASIC
后再没有输出,控制台已经去掉了,此时我万分高兴。
但是当我进行串口通信测试时发现了新的问题,我从板子上发出去的数据是成功的,但是接收数据是失败的。
通过串口调试工具才发现问题的原因,是因为BusyBox把原来控制台所在的串口做为了命令行的输入。所以才会使我的应用
接收不到外来发过来的数据,看来只能修改Busybox了。
先是在网上找了片此相关的文件,http://blog.chinaunix.net/uid-22028566-id-1802945.html(非常感觉作者),然后查看了我的Busybox代码并查找到了对应的inittab文件位置。打开此文件我发现了有一行写着
ttyS1::respawn:/bin/sh
我将这行删除,重新编译烧录后终于成功,于是急切的写下这篇文章,希望能对大家和我以后的工作有所帮助。