Development of a Linux driver for a TFT display with ILI9488 controller via SPI interface (RGB565 mode)
Develop a Linux kernel module that provides support for an TFT display with an ILI9488 controller, operating via SPI in RGB565 mode. The driver must function correctly on Raspberry Pi 3 Model B and Raspberry Pi Zero W 2 single-board computers running the latest stable version of Linux (Raspberry Pi OS).
Applications 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 ?
что Вы планируете на него выводить?
есть много разных вариантов реализации работы с ним. -
На вопрос ЗАЧЕМ, ответ , затем что нужно 🙂
ВЫ сделать можете то что написано в ТЗ?
-
А гуглом я то же умею пользоваться 🙂
но все что нашлось, неработоспособно по разным причинам, от не компилируется, до просто не работает
-
На вопрос ЗАЧЕМ, ответ , затем что нужно 🙂
Хорошо, нужно - делайте.)
Хотите чтоб так просто заработало ))
Это распбери там столько подводных камней ) для серьезных проектов их вообще лучше не использовать )
Просто исходя из потребностей , возможны разные реализации. -
Current freelance projects in the category C & C++
Reverse engineering of console utilities for querying SSD controllers (Flash ID)1. Purpose of the work Extraction of the application programming interface (API) for interaction with SSD/NVMe controllers from the provided set of console utilities (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron, etc.). The result should be working code in C/C++… C & C++, Desktop Apps ∙ 7 days 3 hours back ∙ 6 proposals |
Development of a Minecraft Java Seed Map / Seed Viewer for the websiteDevelopment of Minecraft Java Seed Map / Seed Viewer for the websiteProject Description A browser-based tool Minecraft Java Seed Map / Seed Viewer needs to be developed, which will work on our website and allow the user to enter a seed from Minecraft Java Edition and view an… C & C++, HTML & CSS ∙ 7 days 9 hours back ∙ 15 proposals |
Comparative analysis of the effectiveness of custom software (v2.2-field) and reference software (Meshtastic v2.x)
22 USD
Comparative analysis of the effectiveness of custom software (v2.2-field) and reference software (Meshtastic v2.x) on the identical hardware platform (ESP32 + SX1268, 2W) based on the criteria of range, throughput, link stability, and power consumption. Conduct tests with… C & C++, C# ∙ 11 days 17 hours back ∙ 2 proposals |