我需要一些说明。我可以直接写入 /dev/port
以直接访问并行端口并且它工作正常(我可以打开插入端口连接器的 LED)。但是,我想我可以用 /dev/mem
做同样的事情? (http://tldp.org/LDP/khg/HyperNews/get/devices/fake.html)。当我尝试读取和写入 /dev/mem
时,我没有收到任何错误,但写入似乎从未反射(reflect)在外部连接器上。我问这只是因为根据我读到的关于写入 /dev/mem
的内容,这不是我所期望的。
你不能通过/dev/mem
访问ioports吗?
最佳答案
提出一些建议(未经测试)。可能是……
- 直接写入内存位置 0x378 需要处于实模式才能达到预期效果(因为它可能会在保护模式下重新映射)。
/dev/mem
的使用要求硬件已经进行了MMIO映射,还需要知道MMIO地址(通常不是0x378)。
关于linux -/开发/端口与/开发/内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9368469/