首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/dev/port vs /dev/mem

/dev/port vs /dev/mem
EN

Stack Overflow用户
提问于 2012-02-21 05:12:21
回答 2查看 5.6K关注 0票数 1

我需要一些澄清。我可以直接写入/dev/port以获得对并行端口的直接访问,并且它工作得很好(我可以打开插入端口连接器的LED)。然而,我认为我可以用/dev/mem?(http://tldp.org/LDP/khg/HyperNews/get/devices/fake.html)做同样的事情。当我尝试读写/dev/mem时,我没有得到任何错误,但是写入似乎从来没有反映在外部连接器上。我之所以问这个问题,只是因为根据我读到的关于写/dev/mem的文章,这不是我所期望的。

您可以不通过/dev/mem访问ioports吗

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-21 06:53:21

提供一些建议(未经测试)。可能是因为...

  • 直接写入内存位置0x378需要处于实模式才能达到预期效果(因为它可能会在保护模式下重新映射)。
  • 使用/dev/mem要求硬件已进行MMIO映射,并且您还需要知道MMIO地址(通常不是0x378)。
票数 2
EN

Stack Overflow用户

发布于 2013-06-12 21:38:51

编辑:这只适用于x86处理器(可能还有其他一些处理器)。

内存映射I/O与x86处理器上的端口I/O不完全相同。

jørgensen是正确的,因为内存是在保护模式下重新映射的-但是,I/O端口不能以这种方式重新映射。/dev/port直接引用I/O端口,而/dev/mem映射到(我相信)物理ram (即未重新映射),因此在本例中,您希望使用/dev/port

至于您提供的链接,它将/dev/mem用于内存映射的I/O (同样,与I/O端口不同)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9368469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档