设为首页收藏本站
查看: 10941|回复: 0

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

[复制链接]

231

主题

64

回帖

2145

积分

管理员

积分
2145
玉米糊 发表于 2014-5-6 09:48:38 | 显示全部楼层 |阅读模式
在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功能的情况下。

PA5和PA6与can复用

PA5和PA6与can复用

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

PA7和外扩串口复用

PA7和外扩串口复用

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);

然后重新编译内核,烧到板上即可。




回复

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-3-29 04:16 , Processed in 0.041311 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表