Einführung
Toradex ist ein führender Anbieter von Embedded-Computing-Lösungen und hat sich auf System-on-Modules (SoMs) und Trägerplatinen spezialisiert. Das Unternehmen bietet leistungsstarke und skalierbare Plattformen für eine Vielzahl von Branchen, darunter Automobil-, Medizin- und Industrieanwendungen. Die Lösungen von Toradex sind weithin bekannt für ihre Zuverlässigkeit, hohe Leistung und einfache Integration, was sie zu einer beliebten Wahl für eingebettete Systeme macht.
Riverdi-Displays werden in Verbindung mit Toradex-Systemen eingesetzt, um hochwertige visuelle Benutzeroberflächen in industriellen Anwendungen zu ermöglichen.
Riverdi-Displays mit einer Größe von bis zu 10 Zoll verwenden in der Regel einen Touch-Controller, der direkt vom Standard-Linux-Treiberstack unterstützt wird, der in den Toradex-BSP-Images zum Einsatz kommt. In diesen Fällen reicht es meist aus, den richtigen Knoten zum Device-Tree-Overlay hinzuzufügen, um die Touch-Funktion zu aktivieren.
Allerdings gibt es größere Displays wie zum Beispiel:
Verwende einen anderen Controller: ILI2510.
Ilitek, der Hersteller der in Riverdi-Displays verwendeten Touch-Controller, hat sich auf Touchscreen-Lösungen in Industriequalität spezialisiert. Das Unternehmen bietet robuste Controller mit einer Garantie von mindestens 10 Jahren an, die auch unter anspruchsvollen Bedingungen langfristige Haltbarkeit und Zuverlässigkeit gewährleisten. Die Controller von Ilitek genießen aufgrund ihrer Präzision und Leistungsfähigkeit großes Vertrauen in vielen Industrie-, Automobil- und kommerziellen Produkten.
In diesen Modulen wird der Controller nicht vom ILI2132-Treiber gesteuert, der bei kleineren Displays zum Einsatz kommt. Stattdessen muss das System den Ilitek-Touchscreen-Treiber verwenden, der in der Kernelkonfiguration aktiviert werden muss – also nicht wie beim ILI2132, der bereits in der Kompilierung von Toradex enthalten ist.
Wegen dieses Unterschieds sind für die Aktivierung der Touch-Funktion auf größeren Displays ein paar zusätzliche Schritte erforderlich:
- den richtigen Kernel-Treiber aktivieren
- Neukompilieren des Kernels oder der Kernel-Module
- Verschieb es auf den Toradex
- Treiber aktivieren und Touch-Funktion testen
Erst wenn der Treiber im System vorhanden ist, kann sich der Touchscreen-Knoten im Gerätebaum erfolgreich mit dem Treiber verbinden.
Unterschiede bei Touch-Controllern
Riverdi-Displaymodule verwenden je nach Displaygröße zwei verschiedene Touch-Controller-Familien.
Displays bis zu 10 Zoll
Controller: ILI2132
Displays ab 12,1 Zoll
Controller: ILI251X-Familie (2510 und 2511)
Der ILI2510-Treiber unterstützt das Ilitek-I2C-Touchscreen-Protokoll und stellt das Gerät über das Linux-Eingabesubsystem bereit. Er unterstützt Touchscreens größerer Größe.
Den ILI2510-Treiber im Kernel aktivieren
Stell zunächst sicher, dass du die richtigen Umgebungsvariablen gesetzt hast:
export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu-
Um den ILI2510-Controller zu unterstützen, muss der Ilitek-Touchscreen-Treiber in der vom Toradex-BSP verwendeten Linux-Kernel-Konfiguration aktiviert sein.
Öffne das Menü zur Kernelkonfiguration.
make menuconfig
Geh zum Abschnitt „Touchscreen-Treiber“.
Gerätetreiber Unterstützung von Eingabegeräten Touchscreens
Aktiviere den Ilitek-Touchscreen-Treiber, indem du bei Auswahl die Taste M drückst. Er heißt:
Ilitek I2C 213X/23XX/25XX/Lego-Serie – Touch-ICs
Das Kompilieren des Treibers als Modul vereinfacht die Fehlersuche und ermöglicht das dynamische Laden des Treibers.
Dann müssen wir den Treiber kompilieren:
Module erstellen
Und installiere sie:
Führe „modules_install“ aus
Du solltest nun die Datei „ilitek_ts_i2c.ko“ haben. Kopiere sie nun auf beliebige Weise auf deinen Toradex. In der vorherigen Anleitung haben wir die IP-Adressen für SCP konfiguriert. Wie wir SCP zwischen dem Toradex und der virtuellen Maschine eingerichtet haben, erfährst du in dieser Anleitung.
Den Treiber von der VM auf Toradex kopieren und aktivieren
Öffne „lib/modules/$(uname -r)/kernel/drivers/input/touchscreen/“ auf deinem Toradex und gib dort „ls“ ein, um zu überprüfen, ob du „ilitek_ts_i2c.ko“ korrekt kopiert hast.
lsmod | grep ili
Lade dann das Modul:
modprobe ilitek_ts_i2c
Wenn der Treiber korrekt installiert ist, zeigt Linux Informationen zum Modul an, darunter die Version und die unterstützten Geräte.
Linux-Eingabegeräte überprüfen
Überprüfe, ob der Touchscreen im Eingabesubsystem angezeigt wird.
cat /proc/bus/input/devices
oder
ls /dev/input/
Ein neues Eingabegerät sollte nun angezeigt werden.
Touch-Ereignisse testen
Um Roh-Eingabeereignisse zu testen, benutze das Tool „evtest“.
evtest
Wähle das Touchscreen-Gerät aus der Liste aus.
Wenn du das Display berührst:
- Die Koordinaten sollten sich mit der Fingerbewegung ändern
- Druckereignisse sollten gemeldet werden
- Touch-Ereignisse sollten sofort angezeigt werden
Du kannst auch „weston-eventdemo“ nutzen, um zu testen, ob du „precise touch“ verwenden kannst.
Hinweise zur Fehlerbehebung
Was funktioniert in dieser Konfiguration zuverlässig?
- Ilitek-Treiber in der Kernel-Konfiguration aktiviert
- Den richtigen Touchscreen-Knoten im Device-Tree-Overlay korrigieren
- Erfolgreiche Erkennung am I2C-Bus
- Über evtest sichtbare Touch-Ereignisse
Häufige Probleme
- Kernel-Treiber nicht aktiviert
- Falsche Kompatibilitätsangabe im Gerätebaum
- Falsche I2C-Bus-Definition
Schlussfolgerung
Die größeren Riverdi-Displays mit 12,1 Zoll und 15,6 Zoll verfolgen einen anderen Ansatz bei der Touch-Integration, da sie auf den ILI2510-Controller setzen, während die kleineren Displaymodule mit dem ILI2132-Treiber arbeiten.
Die wichtigsten Schritte sind klar: Den Ilitek-I2C-Touchscreen-Treiber in der Kernelkonfiguration aktivieren, den Kernel oder das Modul neu kompilieren, es auf das Toradex-Zielgerät kopieren und die Verweise auf den richtigen Treiber aktualisieren.
Nach der Konfiguration wird der Touchscreen als normales Linux-Eingabegerät erkannt. Du kannst ihn mit Linux-Eingabewerkzeugen testen und in grafischen Umgebungen wie Weston, Qt oder LVGL nutzen.
ENTDECKEN SIE UNSER
Whitepaper
Erzielen Sie die perfekte Interaktion zwischen Benutzer und Display mit dem richtigen Touchsensor-IC. Hatten Sie jemals Probleme mit Phantomberührungen oder Zertifizierungen? Verbessern Sie Ihre Forschung und Entwicklung wie ein Profi mit unserem Whitepaper!



