Не удается открыть каталог sys/bus/pci/device/

Я пытаюсь прочитать файл ресурсов для моего устройства и 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 ответ

Вы пытаетесь открыть относительный путь (который не существует):

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

вместо абсолютного:

/sys/bus/pci/devices/%04x:%02x:%02x.%d/resource0
Другие вопросы по тегам