dm355的串口问题,uart1发不了数据

 

来自:http://cid-5a683f65a7e43dff.spaces.live.com/blog/cns!5A683F65A7E43DFF!254.entry

DM355 EVM (M linux4.0,DVSDK1.30) UART1,2使用

首先,在DVSDK1.30中串口驱动有BUG需要修改.
File: arch/arm/mach-davinci/serial.c

 

static inline unsigned int davinci_serial_in(struct plat_serial8250_port *up, int offset) { offset <<= up->regshift; return (unsigned int)__raw_readw(up->membase + offset); } static inline void davinci_serial_outp(struct plat_serial8250_port *p, int offset, int value) { offset <<= p->regshift; __raw_writew(value, p->membase + offset); } 

 

修改完毕后,重新编译内核即可.

硬件IO复用.

如果要使用UART1,UART2,请确保相应IO没有作为其他功能使用.

UART1,2复用控制寄存器是 PINMUX3, 地址偏移 0x0C

但UART1,2是作为默认功能使用,如未更改PINMUX3设置,则UART1,2可直接使用.

设备名是: "/dev/tts/[0-3]".但只有[0-2]可用,并且/dev/tts/0已经作为console使用.
通常串口设备文件为"/dev/ttyS[0-9]",如有需要,在目前系统中可以手动添加该设备节点名.方法如下:

mknod -m 666 /dev/ttyS1 c 4 65

-m 666 是设置访问权限 /dev/ttyS1 是要创建的节点名 c 表示字符设备 4 主设备号 65 从设备号

具体使用:
采用标准 open read,write,ioctl文件系统接口使用串口设备.

参考资料:
1.http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/6067/22685.aspx#22685
2.TMS320DM35x Digital Media System-on-Chip (DMSoC) ARM Subsystem Reference Guide (literature)number SPRUFB3.

 

你可能感兴趣的:(dm355的串口问题,uart1发不了数据)