【发布时间】:2009-11-25 17:32:32
【问题描述】:
我有一个物理内存地址,驱动程序通过 ioctl 提供给我。如何在我的 linux 应用程序中访问它。
【问题讨论】:
我有一个物理内存地址,驱动程序通过 ioctl 提供给我。如何在我的 linux 应用程序中访问它。
【问题讨论】:
如果您必须这样做,请使用标头 <unistd.h> 中的函数 mmap 和 mprotect
打开 /dev/mem
【讨论】:
这是邪恶,你会遇到这种方法的微妙问题,而且你很可能会破坏内存。正如 abyx 所说,让 IOCTL 本身返回您感兴趣的内存。
【讨论】:
通常,要在用户空间中访问它,您需要使用copy_to_user() 来获取有效的用户空间副本。
【讨论】: