Memory 在Linux中,我正在尝试编写一个可以检查一些物理内存(用于调试目的)的user land应用程序

Memory 在Linux中,我正在尝试编写一个可以检查一些物理内存(用于调试目的)的user land应用程序,memory,linux-kernel,pci,pci-e,Memory,Linux Kernel,Pci,Pci E,我正在尝试编写一个用户土地应用程序,可以检查一些物理内存(用于调试目的) od-j-n256/dev/mem (w/CONFIG\u STRICT\u DEVMEM=n)使操作系统崩溃 my/usr/include目录中不存在函数ioremap、phys\u to\u virt和phys\u to\u page。我研究并尝试了makeheaders\u install过程,但这些函数仍然没有进入我的usr/include目录。AFAIK这意味着它们不能用于用户陆地应用程序。有人知道如何从用户空

我正在尝试编写一个用户土地应用程序,可以检查一些物理内存(用于调试目的)

od-j-n256/dev/mem
(w/
CONFIG\u STRICT\u DEVMEM=n
)使操作系统崩溃


my
/usr/include
目录中不存在函数
ioremap
phys\u to\u virt
phys\u to\u page
。我研究并尝试了
makeheaders\u install
过程,但这些函数仍然没有进入我的usr/include目录。AFAIK这意味着它们不能用于用户陆地应用程序。有人知道如何从用户空间应用程序访问物理内存吗?还有一个提示,我试图读取的物理地址是一个PCI条,我在“memory at”(内存地址)行中执行
lspci-v

您可以通过mmap()这些地址来获取一个虚拟地址,您可以根据mmap的方式进行读写

我继续写了一个内核模块实用程序,它使用ioremap访问物理地址。它起作用了。你介意我不跟进吗?
od -j <0xknown_good_physical_address> -N 256 /dev/mem