Главная » Разработка встраиваемых систем

Работа с GPIO на примере Banana Pi BPI-M64. Часть 2. Device Tree overlays

Дерево устройств (Device Tree, DT) — это структура данных в системе Linux, состоящая из именованных узлов и свойств, описывающих оборудование, которое невозможно обнаружить путем опроса оборудования. Дерево должно включать имя базового процессора, конфигурацию его памяти и любые периферийные устройства (внутренние и внешние). DT не используется для описания программного обеспечения, хотя перечисление аппаратных модулей вызывает загрузку модулей драйверов. Пост раскрывает принцип формирования DT на примере отладочной платы Banana Pi BPI-M64, по итогу Вы сможете самостоятельно конфигурировать периферийные устройства GPIO, включая другие платы, например Raspberry Pi.

Читать далее »

Работа с GPIO на примере Banana Pi BPI-M64. Часть 1. Интерфейс sysfs LED и DS18B20

Начиная с версии ядра 2.6.26, в Linux появился стандартный интерфейс для работы с контактами GPIO(general-purpose input/output — интерфейс ввода/вывода общего назначения) через виртуальную файловую систему sysfs. Работа с GPIO проходит через каталог /sys/class/gpio путём обращения к файлам-устройствам. В публикации приводится пример включение  и выключение светодиода, и получение значения температуры от датчика DS18B20 по 1-Wire интерфейсу.

Читать далее »

Использование библиотеки WiringPi [BPI-WiringPi2] на Banana Pi BPI-M64

WiringPi – это библиотека для доступа к GPIO-контактам отладочной платы, изначально разрабатывалась для чипа BCM2835, используемого в Raspberry Pi. Написана на языке C, выпущена под лицензией GNU LGPLv3 и предназначена для использования в C, C++ и RTB (BASIC), а также в других языках (но для этого нужны специальные функции-обертки). Библиотека WiringPi создавалась с прицелом на схожесть с языком Wiring, который используется в Arduino. WiringPi была портирована на другие платформы, однако автор оригинальной WiringPi поддержкой этих версий не занимается. В библиотеке WiringPi доступны протоколы и интерфейсы: цифровой вход/выход, PWM (ШИМ), I2C, SPI, UART.

Читать далее »