首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

PC linux 外设寄存器操作(8250串口通讯)

2013-07-04 
PC linux 外设寄存器操作(8250串口通信)我把ubuntu linux 内核自带的8250驱动(8250_core.ko、serial_core.k

PC linux 外设寄存器操作(8250串口通信)
我把ubuntu linux 内核自带的8250驱动(8250_core.ko、serial_core.ko)都卸载了,
想练习写个直接操作串口的驱动,在网上找了一些资料,一般都是汇编语言直接操作0x3f8-0x3fE那几个寄存器,我想把它改为c语言以驱动方式实现,参照原内核驱动代码,我用inb、outb这两个接口直接操作8250寄存器,例如:outb(value,寄存器地址),但无法实现功能,感觉好像根本没有操作到8250芯片的寄存器,我的这个做法有什么问题吗?我直接向0x3f8写值不是操作8250芯片寄存器吗?想操作外设寄存器需要什么动作? Linux 串口通信 外设寄存器
[解决办法]
您好,你使用的地址可能不对,因为操作系统中的寄存器地址使用的都是虚拟地址。你要把物理地址先映射成虚拟地址。

热点排行