我正在尝试读取设备的资源文件,并mmap
读取设备寄存器,但是当我尝试打开文件位置时出现错误提示:没有这样的文件或目录。我使用chmod 666更改了文件的权限。我用来打开文件的代码:
sprintf(filePath , "sys/bus/pci/devices/%04x:%02x:%02x.%d/resource0",segment,bus,device,function)
fileHandle = open(filePath , O_RDONLY);
if (fileHandle < 0)
{
perror("ERRRO : ");
}
该文件存在,我可以使用cat实用程序读取它。
答案 0 :(得分:3)
您正在尝试打开相对路径(不存在):
sys/bus/pci/devices/%04x:%02x:%02x.%d/resource0
而不是绝对的:
/sys/bus/pci/devices/%04x:%02x:%02x.%d/resource0