|
在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复用
USART1对应的PA5(TXD1)和PA6(RXD1)与CAN口复用
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);
然后重新编译内核,烧到板上即可。
|
|