Files
obsidian-vault-/Linux/SBC RPi3 - Hardware.md
T

2.1 KiB

Все устройства в Linux живут тут: /dev

GPIO

Управление возможно через:

  1. User Space - прямой доступ к регистрам, минуя медленные системные вызовы. Посредством открытия /dev/mem и мапирование базового адреса GPIO. ==Подводные камни:==
    1. Обход GPIO Subsystem
    2. Нет контроля конкуренции (может управлять несколько процессов)
    3. Можно сломать драйвер
    4. Нет безопасности
  2. libgpiod (Library General Purpose Input/Output device) - Библиотека и набор утилит в Linux для управления пинами GPIO (ввод/вывод общего назначения) через символьные устройства (/dev/gpiochip*)

I2C. Integrates

/sys/bus/i2c/devices/ По умолчанию шина отключена. Включить можно следующими способами:

  1. sudo raspi-config
  2. Корректировкой /boot/firmware/config.txt
    1. Необходимо раскомментировать параметр dtparam=i2c_arm=on Затем в устройство должно появиться в /dev как i2c-1

Для работы с шиной и периферией есть библиотека i2c-tools

SPI

Команды для работы:
cat /proc/device-tree/model - модель платы для которой device tree создан ls /proc/device-tree/ - дерево устройств, которое kernel получил от GPU ls /sys/bus/platform/devices - вывод устройств, которые kernel создал на основе DT lsmod - просмотр загруженных модулей св

Commands

Система: vcgencmd get_config int - параметры, которые передает GPU cat /etc/os-release - просмотр версии системы