如何在Linux中访问地址为0x2530c00的内存映射IO的UART寄存器?

时间:2014-01-13 07:20:01

标签: linux serial-port uart

我的主板有一个8250 UART,可配置为内部环回模式。我想测试这个UART,并希望将其配置为内部环回。该UART的MMIOed位于0x2530c00地址。我可以通过linux用户级代码吗?或者我需要编写内核模块吗?访问UART寄存器需要使用哪些功能。我的目标是在MCTRL寄存器中设置LOOP位并设置内部环回模式并通过发送数据来测试UART。

请指导我。

感谢。

1 个答案:

答案 0 :(得分:2)

如果您具有root访问权限,则可以通过打开设备/dev/map然后mmap() - 您想要获取的地址来访问原始物理内存。

不要忘记使用volatile指针从该内存进行读写。

此外,如果您需要访问I / O端口,请阅读man 2 iopermman 2 outb