【原创】AT91SAM9260 平台linux内核串口配置
Author: chad
Mail: linczone@163.com
本文可以自由转载,但转载请务必注明出处以及本声明信息。
1、添加对AT91SAM9260中6个串口的全部支持
(1)进入内核源代码,修改文件arch/arm/board/mach-at91/board-sam9260ek.c中的函数ek_board_init(void),修改如下:
static void __init ek_map_io(void)
{
/* Initialize processor: 18.432 MHz crystal */
at91sam9260_initialize(18432000);
/* DGBU on ttyS0. (Rx & Tx only) */
at91_register_uart(0, 0, 0);
/* USART0 to USART5 on ttyS1-6. (Rx, Tx) */
at91_register_uart(AT91SAM9260_ID_US0, 1, 0);
at91_register_uart(AT91SAM9260_ID_US1, 2, 0);
at91_register_uart(AT91SAM9260_ID_US2, 3, 0);
at91_register_uart(AT91SAM9260_ID_US3, 4, 0);
at91_register_uart(AT91SAM9260_ID_US4, 5, 0);
at91_register_uart(AT91SAM9260_ID_US5, 6, 0);
/* set serial console to ttyS0 (ie, DBGU) */
at91_set_serial_console(0);
}
(2)保存,重新编译即可。
2、把ttyS0作为一个普通串口使用,取消其作为控制终端的功能
(1)进入内核源代码目录,修改文件arch/arm/board/mach-at91/board-sam9260ek.c,找到 at91_set_serial_console(0);这一行,把它屏蔽掉,然后保存。
(2)在uboot的启动参数中,在bootcmd参数中,把console=ttyS0,57600这一段去掉,然后输入save保存参数。
(3)在做好的文件系统中(见本文第4部分文件系统的制作及烧录),把etc/inittab这个文件中ttyS0::respawn:-/bin/sh 这一行删除。
(4)重新烧写内核和文件系统,则调试串口uart0就可以作为普通串口使用了。