Розробка Linux-драйвера для TFT-дисплея з контролером ILI9488 по SPI-інтерфейсу (режим RGB565)
Розробити модуль ядра Linux, що забезпечує підтримку TFT-дисплея з контролером ILI9488, який працює по SPI в режимі RGB565. Драйвер повинен коректно функціонувати на одноплатних комп’ютерах Raspberry Pi 3 Model B і Raspberry Pi Zero W 2 під керуванням останньої стабільної версії Linux (Raspberry Pi OS).
Додатки 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 ?
что Вы планируете на него выводить?
есть много разных вариантов реализации работы с ним. -
На вопрос ЗАЧЕМ, ответ , затем что нужно 🙂
ВЫ сделать можете то что написано в ТЗ?
-
А гуглом я то же умею пользоваться 🙂
но все что нашлось, неработоспособно по разным причинам, от не компилируется, до просто не работает
-
На вопрос ЗАЧЕМ, ответ , затем что нужно 🙂
Хорошо, нужно - делайте.)
Хотите чтоб так просто заработало ))
Это распбери там столько подводных камней ) для серьезных проектов их вообще лучше не использовать )
Просто исходя из потребностей , возможны разные реализации. -
Актуальні фриланс-проєкти в категорії C та C++
Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для… C та C++, Десктопні додатки ∙ 7 днів 13 годин тому ∙ 6 ставок |
Розробка Minecraft Java Seed Map / Seed Viewer для сайтуРозробка Minecraft Java Seed Map / Seed Viewer для сайтуОпис проєкту Потрібно розробити browser-based інструментMinecraft Java Seed Map / Seed Viewer, який буде працювати на нашому сайті та дозволятиме користувачу ввести seed Minecraft Java Edition і переглянути інтерактивну… C та C++, HTML та CSS верстання ∙ 7 днів 20 годин тому ∙ 16 ставок |
Порівняльний аналіз ефективності кастомного ПЗ (v2.2-field) та еталонного ПЗ (Meshtastic v2.x)
1000 UAH
Порівняльний аналіз ефективності кастомного ПЗ (v2.2-field) та еталонного ПЗ (Meshtastic v2.x) на ідентичній апаратній платформі (ESP32 + SX1268, 2W) за критеріями дальності, пропускної спроможності, стабільності лінка та енергоспоживання. Провести тести з вимірюваннями з… C та C++, C# ∙ 12 днів 3 години тому ∙ 3 ставки |