免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6569 | 回复: 5
打印 上一主题 下一主题

如何打开8250串口驱动的COM2端口 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-28 18:02 |只看该作者 |倒序浏览
现在COM1端口是工作的,但是COM2端口始终跟我的PC连接通讯不了。之前设备platform_device结构体的声明如下(只打开了COM1):
static struct plat_serial8250_port T8250_serial_ports[] = {
    {
        .membase    = (void *)__iomem(IO_ADDRESS(ZEVIO_UART_1_BASE)),
        .mapbase    = (unsigned long)ZEVIO_UART_1_BASE,
        .irq        = IRQ_UART1,
        .uartclk    = ZEVIO_UART_CLK,
        .regshift   = 2,
        .iotype     = UPIO_MEM,
        .flags      = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
     },
     {}
};

static struct platform_device zevio_serial_device = {
        .name = "serial8250",
        .id = PLAT8250_DEV_PLATFORM,
        .dev.platform_data = T8250_serial_ports,
};

现在我把COM2打开,修改配置如下:

static struct plat_serial8250_port T8250_serial_ports[] = {
    {
        .membase    = (void *)__iomem(IO_ADDRESS(ZEVIO_UART_1_BASE)),
        .mapbase    = (unsigned long)ZEVIO_UART_1_BASE,
        .irq        = IRQ_UART1,
        .uartclk    = ZEVIO_UART_CLK,
        .regshift   = 2,
        .iotype     = UPIO_MEM,
        .flags      = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
     },
    {
        .membase    = (void *)__iomem(IO_ADDRESS(ZEVIO_UART_2_BASE)),
        .mapbase    = (unsigned long)ZEVIO_UART_2_BASE,
        .irq        = IRQ_UART1,
        .uartclk    = ZEVIO_UART_CLK,
        .regshift   = 2,
        .iotype     = UPIO_MEM,
        .flags      = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
     },
    {}
};

可是问题还是没有解决,之前stty /dev/ttyS1会报错,修改之后正确,但是跟PC依然无法通讯,还需要修改别的配置么?

论坛徽章:
0
2 [报告]
发表于 2009-04-29 09:22 |只看该作者
第二个IRQ_UART1应该改为IRQ_UART2吧

论坛徽章:
0
3 [报告]
发表于 2009-04-29 09:50 |只看该作者

回复 #2 gqwang2005 的帖子

嗯,这也是个问题,不过中断只对收数据有效,发数据应该不受影响,我现在正在测试发送数据,PC端不能收到我发送的数据

论坛徽章:
5
4 [报告]
发表于 2009-04-29 10:28 |只看该作者
你多注册了一个设备, uart driver是否自动对它初始化了?

论坛徽章:
0
5 [报告]
发表于 2009-04-29 10:38 |只看该作者

回复 #4 yidou 的帖子

应该是初始化了吧,我现在读写/dev/ttyS1,能发现serial8250_startup, serial8250_start_tx都被调用了,只是PC收不到相应的数据

[ 本帖最后由 soararing 于 2009-4-29 10:58 编辑 ]

论坛徽章:
5
6 [报告]
发表于 2009-04-29 10:58 |只看该作者

回复 #5 soararing 的帖子

一般会在driver加载的时候, probe过程中初始化设备.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP