Как стать автором
Обновить

Написание драйвера для LCD дисплея под embedded linux

C *
Из песочницы
В данной статье хочу поделиться своим опытом написания linux драйвера для цветного дисплея 320х240 от производителя Newhavendisplays, а именно NHD-5.7-320240WFB-CTXI-T1 под embedded linux. Идея написать статью созрела именно по причине того, что ресурсов по написанию framebufer(FB) драйверов не так уж и много, тем более, на русском языке. Модуль был написан далеко не под самое новое ядро(2.6.30), поэтому допускаю, что в интерфейсах FB много чего поменялось с тех пор. Но, тем не менее, надеюсь, статья будет интересна интересующимся разработкой уровня ядра linux. Не исключаю, что реализацию можно было бы сделать проще и изящней, поэтому комментарии и замечания приветствуются.



Читать дальше →
Всего голосов 80: ↑78 и ↓2 +76
Просмотры 36K
Комментарии 11

Графический VGA-контроллер на SoC без знаний HDL

Блог компании НТЦ Метротек Анализ и проектирование систем *Разработка под Linux *FPGA *
Tutorial

Всем привет!
В одной из предыдущих статей мой коллега Des333 реализовал фреймбуфер для LCD, работающего на графическом контроллере ILI9341. Однако, его написание потребовало существенного опыта в разработке RTL-кода.

К тому же, не у каждого под рукой есть embedded LCD-дисплей, зато наверняка есть монитор с VGA-входом.Что же делать, если опыта разработки под FPGA мало, но есть SoC, а сделать что-то интересное хочется?

В этой статье мы расскажем, как разработать графический контроллер, имея на руках плату с SoC (Altera Cyclone V), дисплей с VGA и минимальные знания языков HDL (в нашем случае — Verilog).

Для примера будем использовать наши платки, но всё описанное заработает и на других.
Кому интересно, прошу под кат.

Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 17K
Комментарии 10

Драйвер виртуальных GPIO с контроллером прерываний на базе QEMU ivshmem для Linux

Системное программирование *C *Разработка под Linux *
Tutorial
Природа прерываний

Трудно недооценить роль GPIO, особенно в мире встраиваемых систем ARM. Помимо того, что это крайне популярный материал для всех руководств для начинающих, GPIO обеспечивают способ для управления многими периферийными устройствами, выступают в качестве источника ценных прерываний, или даже могут быть единственным доступным способом общения с миром для SOC.

Основываясь на собственном скромном опыте, могу сказать, что прерывания далеко не самая освященная тема в сообществе Linux. Из-за своих особенностей, а так же сильной привязки к аппаратной части, все обучающие материалы посвященные прерываниям лишены реального и легко воспроизводимого примера. Данный факт мешает пониманию того, что очень часто прерывания и GPIO неразделимы, особенно в области встраиваемого Linux. Многие начинают верить, что GPIO это очень простая и скучная вещь (которая кстати и стала таковой благодаря подсистеме sysfs).
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 15K
Комментарии 3

Использование gpio-generic и irq_chip_generic для драйвера gpio

Системное программирование *C *Разработка под Linux *

Данная статья является логичным продолжением предыдущей и её прочтение рекомендуется после ознакомления с предшествующим материалом. Текущая заметка необходима для понимания последующего материала, дополнительного понимания подсистемы gpio в целом и способствует разработке собственных gpio драйверов. Положения данной статьи уже применимы не только к нашему виртуальному драйверу gpio, но и к любому mmio gpio драйверу в целом. Речь пойдет об упомянутой в предыдущей части "оптимизации".

Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 3.7K
Комментарии 0

Как запихнуть свой сенсор в Android OS

Разработка под Android *
Из песочницы

Как-то раз программисты сидели и писали очередной температурный сенсор и программы с кнопочками. И вдруг оказалось, что этот сенсор хочет себе один небольшой производитель телефонов в будущей модели. Так образовалась задача поддержать I2C/GPIO сенсор на уровне Android OS, так как сенсор обещает быть неотъемлимой частью самого телефона.

Будучи глубоким субподрядом, надежды на быстрый и регулярный отклик от конечного заказчика не было, решили потренироваться на кошках и засунуть нашу железяку в какое-нибудь доступное устройство с Android.
Как оно было
Всего голосов 29: ↑28 и ↓1 +27
Просмотры 19K
Комментарии 10

Дружим RaspberryPi с TP-Link TL-WN727N

Настройка Linux *Системное администрирование **nix *Беспроводные технологии *Разработка на Raspberry Pi *
Привет, Хабр!

Задумал как-то я подключить свою малинку к интернету по воздуху.

Сказано-сделано, для этого был приобретен в ближайшем магазине usb wi-fi свисток небезызвестной фирмы TP-Link. Сразу скажу, что это не какой-то там нано usb модуль, а вполне себе габаритный девайс размером примерно с обычную флешку(ну или если вам будет угодно с указательный палец взрослого мужчины). Перед покупкой я немного изучил список поддерживаемых производителей свистков для RPI и TP-Link в списке был(правда как потом оказалось я не учел тонкостей, ведь дьявол как известно кроется в деталях). Итак, хладный сказ о моих злоключениях начинается, вашему вниманию предлагается детективная история в 3-х частях. Заинтересованных прошу под кат.

Статья Подключаем WiFi-адаптер WN727N к Ubuntu/Mint мне частично помогла, но обо всем по порядку.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 11K
Комментарии 2