【原创】AT91SAM9260 平台linux内核串口配置

【原创】AT91SAM9260 平台linux内核串口配置

Author: chad
Mail: [email protected]

本文可以自由转载,但转载请务必注明出处以及本声明信息。

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就可以作为普通串口使用了。

你可能感兴趣的:(linux,内核,串口)