最近在玩新唐的 N32926。这颗芯片最大的优势便是把 DDR 内存和 ARM9 的芯片做在一同了,供给非 BGA 的芯片封装(QFP128)。比起三星之类的硬件能够简略不少,性价比也不错。缺陷便是,可能是封装管脚太少的原因,许多功用都是复用的,导致管脚资源严重。例如,以太网接口和8位以上的 LCD 屏接口是抵触的。以太网切换到第二端口上又和一个串口抵触。原本芯片上就只需两个串口。这就构成,一切的串口设备必需求挂在同一个串口上,用一个模仿开关芯片去切换。憎恶的是,Linux 内核和控制台也会时不时的输出东西。但是又不想彻底关掉它们,到时分还能看看调试信息。所以就去找了一下怎样暂时封闭控制台输出的方法。
暂时封闭控制台输出(翻开控制台输出便是把 tty0 从头设置为默许终端输出):
1 int fd;
2
3 fd = open("/dev/tty1", O_RDONLY);
4 if (fd >= 0) {
5 ioctl(fd, TIOCCONS);
6 close(fd);
7 }
暂时封闭内核信息输出:echo 0 > /proc/sys/kernel/printk;从头翻开内核信息输出:echo 7 > /proc/sys/kernel/printk。
这样,要用串口设备的时分,就先暂时封闭,然后开关切换,搞完之后再切回来,终究翻开输出。好在运用的串口设备都是被迫的,能够暂时用一下的,不必一向挂在上面,不然就麻烦了。