玉米糊 发表于 2014-5-6 09:48:38

MYD-SAM9X5-V2使用串口USART1(ttyS2)和USART2(ttyS3)

在MYD-SAM9X5-V2板中,包括DEBUG调试串口和2个外扩的5线UART口在内,总共有7个串口可以使用。其中

[*]SAM9G25、SAM9X25注册了全部串口,包括USART3(ttyS4),可使用全部7个串口。
[*]SAM9G15、SAM9G35、SAM9X35默认不注册USART3,可使用6个串口。
[*]所有型号的USART1和USART2都没有注册,因为他们分别和CAN以及外扩串口冲突。
[*]USART1对应的PA5和PA6并没有引到扩展接口,所以适合自己设计底板的时候使用,并且不用CAN功能的情况下。

USART1对应的PA5(TXD1)和PA6(RXD1)与CAN口复用


USART2对应的PA7(TXD2)与SPI扩展的两个串口复用

因为这些接口复用,所以软件上我们默认使用注册了CAN口和外扩串口,如果要使用USART1和USART2,则需要稍微修改一下内核。步骤如下:

一、打开注册文件
打开linux-2.6.39/arch/arm/mach-at91/board-sam9x5ek.c ,
$ vi linux-2.6.39/arch/arm/mach-at91/board-sam9x5ek.c

二、启用USART1
屏蔽如下红色内容,注释can的注册。
if (cpu_is_at91sam9x25() || cpu_is_at91sam9x35())
                /* this conflicts with usart.1 */
//            at91_add_device_can(1, NULL);
找到如下蓝色一行,把前面的注释去掉,去掉注释后如下:
      //conflict with CAN1      at91_register_uart(AT91SAM9X5_ID_USART1, 2, 0);
三、启用USART2
USART2启用方法正在测试,目前还没有通过,请暂时不要修改!
屏蔽如下红色内容,注释SPI的注册。
      /* SPI, MYIR *///      at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
找到如下蓝色一行,把前面的注释去掉,去掉注释后如下:
      // Conflict with SPI0.CS1(UART expander)      at91_register_uart(AT91SAM9X5_ID_USART2, 3, 0);
然后重新编译内核,烧到板上即可。




页: [1]
查看完整版本: MYD-SAM9X5-V2使用串口USART1(ttyS2)和USART2(ttyS3)