无法打开sys / bus / pci / device /目录

时间:2014-05-14 06:17:54

标签: c linux pci-bus

我正在尝试读取设备的资源文件,并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实用程序读取它。

1 个答案:

答案 0 :(得分:3)

您正在尝试打开相对路径(不存在):

sys/bus/pci/devices/%04x:%02x:%02x.%d/resource0

而不是绝对的:

/sys/bus/pci/devices/%04x:%02x:%02x.%d/resource0