玉米糊 发表于 2014-4-19 08:56:48

MYD-SAM9X25/X35使用串口USART1(ttyS2)

默认情况下,MYD-SAM9X25/9X35会开启一个can功能,而这个can功能恰好与USART1串口引脚复用,所以要想使用USART1,需要稍微修改一下内核。MYD-SAM9X5串口分布:
Deug - ttyS0

Usart0 - ttyS1
Usart1 - ttyS2 --与can复用
Usart2 - ttyS3
Usart3 - ttyS4


步骤如下:打开linux-2.6.39/arch/arm/mach-at91/board-sam9x5ek.c ,
                $ vi linux-2.6.39/arch/arm/mach-at91/board-sam9x5ek.c
屏蔽如下红色内容,注释can的注册。
if (cpu_is_at91sam9x25() || cpu_is_at91sam9x35())
                /* this conflicts with usart.1 */
//            at91_add_device_can(1, NULL);
在USART2注册之后添加如下蓝色USART1注册代码,其中第二个参数2代表注册成ttyS2,不要与其他串口造成冲突:
                //added by Kevin for USART2 testing
                at91_register_uart(AT91SAM9X5_ID_USART2, 3, 0);

                //added by Kevin for USART1 testing
                at91_register_uart(AT91SAM9X5_ID_USART1, 2, 0);

编译好的uImage下载地址:



页: [1]
查看完整版本: MYD-SAM9X25/X35使用串口USART1(ttyS2)