Beaglebone Black, работающий под Debian, наложение дерева устройств действует как API?

Это может быть больше специфический вопрос для Linux, но...

Я читал много уроков, и кажется, что вы можете использовать JavaScript, Python и C++ для написания кода для Beaglebone Black(BBB).

Похоже, что C++ взаимодействует с оборудованием BBB через чтение / запись текстовых файлов в ОС, в то время как Python имеет свою собственную библиотеку.

Все примеры на C++ управляют GPIO и PWM посредством чтения / записи в текстовые файлы.

Это единственный способ получить доступ к оборудованию или просто как Linux работает с драйверами?

1 ответ

Решение

Вот так почти все делают водители.

Когда программа хочет связаться с водителем, ей нужен канал связи. Если бы каждый драйвер вводил новый системный вызов, его было бы почти невозможно обслуживать, особенно когда меняются интерфейсы, исправляются ошибки и т. Д.

Таким образом, драйверы предоставляют псевдо-файл, к которому можно получить доступ с обычным read/write а также ioctl звонки, которые затем напрямую передаются водителю.

Библиотека Python предоставляет только абстракцию вокруг этого интерфейса.

Другие вопросы по тегам