Opracowanie sterownika Linux dla wyświetlacza TFT z kontrolerem ILI9488 przez interfejs SPI (tryb RGB565)
Opracować moduł jądra Linux, zapewniający obsługę wyświetlacza TFT z kontrolerem ILI9488, działającego na podstawie SPI w trybie RGB565. Sterownik musi poprawnie działać na jednopłytowych komputerach Raspberry Pi 3 Model B i Raspberry Pi Zero W 2 z najnowszą stabilną wersją Linux (Raspberry Pi OS).
Załączniki 1
-
Попробуйте драйвер от ILI9341 с адаптацией с помощью чат gpt мне помог.
-
Здравствуйте. Драйверами для линукса я занимался, последний раз как раз для эмбеддед, правда 6 лет назад. Как я понял вы уже эту тему просмотрели и потому вопросы:
- есть ли хоть что-то подобное и работающее под Linux в исходниках- есть ли техническая документация на данную модель
- есть ли у вас в системных файлах файл .config
-
Добрый день.
подобное конечно же у кого то есть.
Документация на что? На ILI9488? в инете полно.
Config.txt конечно же в малинке есть.
-
Вот полное ТЗ, видимо не все прочитали файл
Техническое задание
Разработка Linux-драйвера для TFT-дисплея с контроллером ILI9488 по SPI-интерфейсу (режим RGB565)
1. Цель
Разработать модуль ядра Linux, обеспечивающий поддержку TFT-дисплея с контроллером ILI9488, работающего по SPI в режиме RGB565. Драйвер должен корректно функционировать на одноплатных компьютерах Raspberry Pi 3 Model B и Raspberry Pi Zero W 2 под управлением последней стабильной версии Linux (Raspberry Pi OS).
2. Основные требования
2.1 Поддержка железа:
- Контроллер: ILI9488
- Интерфейс: SPI 4-проводной (MOSI, SCLK, CS, DC)
- Режим цвета: RGB565
- Поддерживаемые платы: Raspberry Pi 3 Model B, Raspberry Pi Zero W 2
2.2 Базовая реализация:
- Реализация на языке C, в виде модуля ядра Linux
- Основой может служить существующий драйвер tinydrm/ili9486.c с доработками под ILI9488
- Поддержка вывода через framebuffer /dev/fb1
- Использование DRM (Direct Rendering Manager) или tinydrm фреймворка
- Минимальные зависимости, без использования userspace-компонентов
3. Конфигурирование
Конфигурация подключения дисплея и параметров должна задаваться через config.txt с помощью Device Tree Overlay.
Пример строки подключения в /boot/config.txt:
dtoverlay=novotest-ili9488,speed=32000000,rotate=90,gpios=dc:18,reset:2
Поддерживаемые параметры:
- speed=<hz> — частота SPI (по умолчанию: 32000000)
- rotate=<0|90|180|270> — поворот изображения
- gpios=dc:<gpio>,reset:<gpio> — номера GPIO для управляющих сигналов
4. Структура поставки
Проект должен быть оформлен как репозиторий на GitHub, содержащий:
- Исходный код драйвера на языке C
- Makefile для сборки модуля под актуальное ядро Raspberry Pi
- .dts файл (Device Tree Overlay) для подключения дисплея через config.txt
- Инструкция по установке:
- Компиляция драйвера
- Установка и загрузка модуля
- Правильное подключение дисплея
- Настройка /boot/config.txt
- Проверенные конфигурации для Raspberry Pi 3B и Zero W 2
5. Дополнительно
- Желаательно использование DMA для ускорения передачи кадров в дисплей.
- Драйвер долден поддерживать только ILI9488. Поддержка иных контролеров должны быть полностью удалена
-
Можно упростить задачу
вот это
https://github.com/under-view/spi-tft-ILI9488?tab=readme-ov-file
компилируется, но не работает.
-
ILI9486 и ILI9488 по командам одинаковы и по разрешению одинаковые)
Что Вам мешает указать при загрузке в дереве устройств, экран как ILI9486 )
https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/tiny -
далее Вы по ссылкам не идете ) уж если хотите что то свое))
https://lore.kernel.org/all/cover.1592055494.git.kamlesh.gurudasani@gmail.com/T/#m5cfbc15d11ee31224c2c707f12a451c39eb7a03fВопрос только зачем Вам єкран 3.5 дюйма для linux ?
что Вы планируете на него выводить?
есть много разных вариантов реализации работы с ним. -
На вопрос ЗАЧЕМ, ответ , затем что нужно 🙂
ВЫ сделать можете то что написано в ТЗ?
-
А гуглом я то же умею пользоваться 🙂
но все что нашлось, неработоспособно по разным причинам, от не компилируется, до просто не работает
-
На вопрос ЗАЧЕМ, ответ , затем что нужно 🙂
Хорошо, нужно - делайте.)
Хотите чтоб так просто заработало ))
Это распбери там столько подводных камней ) для серьезных проектов их вообще лучше не использовать )
Просто исходя из потребностей , возможны разные реализации. -
Aktualne zlecenia dla freelancerów w kategorii C i C++
Rewersowe inżynieria konsolowych narzędzi do ankietowania kontrolerów SSD (Flash ID)1. Cel pracy Wydzielenie interfejsu programowania aplikacji (API) do interakcji z kontrolerami SSD/NVMe z dostarczonego zestawu narzędzi konsolowych (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron itd.). Wynikiem ma być działający kod w języku C/C++ lub dokładna… C i C++, Aplikacje desktopowe ∙ 5 dni 15 godzin temu ∙ 6 ofert |
Opracowanie mapy nasion Minecraft Java / przeglądarki nasion dla strony internetowejOpracowanie mapy nasion Minecraft Java / Podgląd nasion dla strony internetowejOpis projektu Potrzebne jest opracowanie narzędzia opartego na przeglądarce Mapa nasion Minecraft Java / Podgląd nasion, które będzie działać na naszej stronie i pozwoli użytkownikowi wprowadzić… C i C++, Układ HTML i CSS ∙ 5 dni 22 godziny temu ∙ 14 ofert |
Porównawcza analiza efektywności oprogramowania dostosowanego (v2.2-field) i oprogramowania referencyjnego (Meshtastic v2.x)
82 PLN
Porównawcza analiza efektywności oprogramowania dostosowanego (v2.2-field) i oprogramowania referencyjnego (Meshtastic v2.x) na identycznej platformie sprzętowej (ESP32 + SX1268, 2W) według kryteriów zasięgu, przepustowości, stabilności łącza i zużycia energii. Przeprowadzić… C i C++, C# ∙ 10 dni 5 godzin temu ∙ 2 oferty |
Konsultacja i audyt bieżącego projektu na Odoo 19 Community EditionSzukamy programisty Odoo — samodzielnego dewelopera z doświadczeniem w pracy z Odoo 19 Community Edition, w tym z wykorzystaniem Claude Code. Potrzebujemy specjalisty, który ma zrealizowane projekty w Odoo oraz praktyczne doświadczenie w programowaniu z użyciem Claude Code.… C i C++, Javascript & Typescript ∙ 13 dni 6 godzin temu ∙ 8 ofert |