При bleeding edge разработке или просто в рамках экспериментов, приходится добавлять патчи прямиком из maillists. Скачивать серию вручную и сохранять в mbox можно действительно озвереть даже не смотря на то, […]
Создание образа Ubuntu для ARM «from scratch»
Когда разработка только начинается часто еще непонятно какие именно пакеты пойдут в целевую rootfs. Иными словами хвататься за LFS, buildroot или yocto (или еще что-то) еще рано, а начинать уже […]
Функция buildargv с помощью Ragel
Забавное использование Ragel State Machine Compiler для создания функции разбора строки на int argc, char *argv[]. Все началось с того, что понадобилась функция buildargv, чтобы разбирать строку для последующей передачи […]
auto git bisect на примере ядра Linux
Данная заметка имеет собой цель продемонстрировать автоматический git bisect на примере ядра Linux. С последующим поиском официальной версии начиная с которой всё поломалось и последней хорошей версии. Описание инструментария Инструментарий1 […]
Вся правда о linux epoll
Ну или почти вся… Я считаю, что проблема в современном интернете — это переизбыток информации разного качества. Найти материал по интересующей теме не проблема, проблема отличить хороший материал от плохого, […]
Заметка о новом интерфейсе linux kernel — gpio uapi
Начиная с версии ядра 4.6-r1 нам стал доступен новый интерфейс для взаимодействия с подсистемой ядра gpio. Теперь существует три официальных способа работы с gpio и получения от них прерываний. Нет […]
Использование gpio-generic и irq_chip_generic для драйвера gpio
Введение Данная статья является логичным продолжением предыдущей и её прочтение рекомендуется после ознакомления с предшествующим материалом. Текущая заметка необходима для понимания последующего материала, дополнительного понимания подсистемы gpio в целом и […]
Драйвер виртуальных GPIO с контроллером прерываний на базе QEMU ivshmem для Linux
Трудно недооценить роль GPIO, особенно в мире встраиваемых систем ARM. Помимо того, что это крайне популярный материал для всех руководств для начинающих, GPIO обеспечивают способ для управления многими периферийными устройствами, […]