Beaglebone Black, работающий под Debian, наложение дерева устройств действует как API?
Это может быть больше специфический вопрос для Linux, но...
Я читал много уроков, и кажется, что вы можете использовать JavaScript, Python и C++ для написания кода для Beaglebone Black(BBB).
Похоже, что C++ взаимодействует с оборудованием BBB через чтение / запись текстовых файлов в ОС, в то время как Python имеет свою собственную библиотеку.
Все примеры на C++ управляют GPIO и PWM посредством чтения / записи в текстовые файлы.
Это единственный способ получить доступ к оборудованию или просто как Linux работает с драйверами?
1 ответ
Вот так почти все делают водители.
Когда программа хочет связаться с водителем, ей нужен канал связи. Если бы каждый драйвер вводил новый системный вызов, его было бы почти невозможно обслуживать, особенно когда меняются интерфейсы, исправляются ошибки и т. Д.
Таким образом, драйверы предоставляют псевдо-файл, к которому можно получить доступ с обычным read
/write
а также ioctl
звонки, которые затем напрямую передаются водителю.
Библиотека Python предоставляет только абстракцию вокруг этого интерфейса.