如何打开8250串口驱动的COM2端口

发布于 2022-09-18 18:05:20 字数 2934 浏览 20 评论 0

现在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依然无法通讯,还需要修改别的配置么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

温柔戏命师 2022-09-25 18:05:20

第二个IRQ_UART1应该改为IRQ_UART2吧

卷耳 2022-09-25 18:05:20

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

嘦怹 2022-09-25 18:05:20

你多注册了一个设备, uart driver是否自动对它初始化了?

落花随流水 2022-09-25 18:05:20

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

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

丶情人眼里出诗心の 2022-09-25 18:05:20

一般会在driver加载的时候, probe过程中初始化设备.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文