我的主板有一个8250 UART,可配置为内部环回模式。我想测试这个UART,并希望将其配置为内部环回。该UART的MMIOed位于0x2530c00地址。我可以通过linux用户级代码吗?或者我需要编写内核模块吗?访问UART寄存器需要使用哪些功能。我的目标是在MCTRL寄存器中设置LOOP位并设置内部环回模式并通过发送数据来测试UART。
请指导我。
感谢。
答案 0 :(得分:2)
如果您具有root访问权限,则可以通过打开设备/dev/map
然后mmap()
- 您想要获取的地址来访问原始物理内存。
不要忘记使用volatile
指针从该内存进行读写。
此外,如果您需要访问I / O端口,请阅读man 2 ioperm
和man 2 outb
。