- 积分
- 5593
贡献607
飞刀2 FD
注册时间2010-1-6
在线时间965 小时
扫一扫,手机访问本帖
|
楼主 |
发表于 2010-3-18 16:07:23
|
显示全部楼层
本帖最后由 飞凌-fatfish 于 2010-7-21 11:00 编辑
修改uart2为普通串口以及测试程序
修改arch/arm/mach-s3c2440/mach-smdk2440.c中的uart2的配置,修改后如下:- static struct s3c2410_uartcfg smdk2440_uartcfgs[] __initdata = {
- [0] = {
- .hwport = 0,
- .flags = 0,
- .ucon = 0x3c5,
- .ulcon = 0x03,
- .ufcon = 0x51,
- },
- [1] = {
- .hwport = 1,
- .flags = 0,
- .ucon = 0x3c5,
- .ulcon = 0x03,
- .ufcon = 0x51,
- },
- /* IR port */
- [2] = {
- .hwport = 2,
- .flags = 0,
- .ucon = 0x3c5,
- .ulcon = 0x03,/*fatfish 0x43*/
- .ufcon = 0x51,
- }
- };
复制代码 在drivers/serial/samsung.c中添加对uart2控制器的配置,配置为普通串口。添加头文件:- #include <linux/gpio.h>
- #include <mach/regs-gpio.h>
复制代码 在static int s3c24xx_serial_startup(struct uart_port *port)函数中,添加- if (port->line == 2) {
- s3c2410_gpio_cfgpin(S3C2410_GPH(6), S3C2410_GPH6_TXD2);
- s3c2410_gpio_pullup(S3C2410_GPH(6), 1);
- s3c2410_gpio_cfgpin(S3C2410_GPH(7), S3C2410_GPH7_RXD2);
- s3c2410_gpio_pullup(S3C2410_GPH(7), 1);
- }
复制代码 测试方法:
在linux内核源码中drivers/serial/samsung.c中写明在开发板/dev目录下生成的ttySACx为串口设备结点。
使用命令:- getty 115200 /dev/ttySAC2
复制代码 将终端交给com2,这样可以在com2中收到波特率为115200的终端信息。
这三个针的顺序:最靠近底板丝印层“com2”字样的针脚是com2的发送脚(需要接pc串口的接收脚),中间的是com2的接收脚(接pc串口的发送脚),剩下的那个是地(接pc串口的地)。 |
|