Der Raspberry Pi hat weit über den Maker-Bereich hinaus an Bedeutung gewonnen und kommt zunehmend in professionellen Anwendungen zum Einsatz. Hierbei punkten die verfügbaren Schnittstellen sowie die gute Software-Unterstützung. TQ bietet ein Maker Board, das ähnliche Eigenschaften aufweist.
Für Anwender, die auf Basis des Raspberry Pi ihren ersten Prototypen entwickelt haben und einen schnellen Übergang zu einem robusten und langzeitverfügbaren System wünschen, bietet TQ Lösungen und Unterstützung an. So gibt es beispielsweise mit dem »MBa8MP-RAS314« ein neues, professionelles Maker Board, das sich für den industriellen Serieneinsatz und viele, verschiedene Einsatzbereiche eignet (Bild 1).
Die Unterstützung für einen erfolgreichen Umstieg beginnt mit der Analyse des bestehenden Systems. Hierbei wird auf Basis des verwendeten Raspberry Pi ein vergleichbares TQ-Modul herausgesucht. Ein wichtiger Punkt dabei ist der Abgleich der verwendeten Schnittstellen: Diese sollen nicht nur funktionell, sondern auch mit einer gleichen oder besseren Leistung ersetzt werden.
Auch die Nutzung weiterer Schnittstellen, beispielsweise für ein zweites Ethernet, ist zu erwägen. Das soll Luft bei der Leistung schaffen sowie Perspektiven für weitere Produktentwicklungen beziehungsweise -erweiterungen eröffnen. In diesem Rahmen gilt es, sich Gedanken über das Erweitern der bestehenden Funktionen zu machen, beispielsweise durch in die CPU integrierte KI-Beschleuniger oder Security-Funktionsblöcke. Als Hardware stehen für alle TQ-Module geeignete Standard-Baseboards zur Verfügung.
Um schnellstmöglich mit der Portierung auf ein Embedded-System von TQ zu starten beziehungsweise um die eigene Applikation auf der neuen Hardware testen zu können, bietet TQ das eigene Betriebssystem »Armbian – Linux for Arm development boards« an. Armbian beschreibt sich selbst als eine »leichtgewichtige, auf Debian oder Ubuntu basierende Linux-Distribution, die auf Arm-Entwicklungsboards spezialisiert ist«. Die Images sind für Flash-Speichergeräte wie NAND, eMMC und USB optimiert. Sowohl SSH- als auch DHCP-Dienste sind von Anfang an aktiviert. Je nach Applikationsbedarf hat der Entwickler die Wahl, das Betriebssystem für Kommandozeilen- oder GUI-Betrieb zu konfigurieren. Hierzu können Entwickler die benötigten Softwarepakete ohne langwieriges Einarbeiten installieren und die eigene Applikation testen. Leistungsfähige Build- und Software-Entwicklungswerkzeuge helfen beim Erstellen benutzerdefinierter Builds.
Armbian hat den Anspruch, einen Teil der Kernel-Entwicklung und einen Großteil der Wartung für Arm-Plattformen zu übernehmen. Im Unterschied dazu verlässt sich Debian auf Upstream-Quellen für Arm-Hardware, die oftmals Jahre hinterherhinken können und/oder denen viele Funktionen fehlen. So ist beispielsweise das Armbian-System darauf optimiert, den Verschleiß der SD-Karte als Massenspeicher zu minimieren.
Nach der erfolgreichen Analyse beziehungsweise Software-Evaluierung kann das Entwickeln des kundenspezifischen Designs starten – entweder durch den Anwender selbst, zusammen mit TQ oder komplett durch TQ. Wahlweise bietet sich dafür das »MBa8MP-RAS314« zum Einsatz an, das TQ speziell als Alternative zum Raspberry Pi entwickelt hat (Bild 2).
Das 100 mm x 100 mm kompakte Mainboard basiert auf dem »i.MX-8-Plus«-Prozessor von NXP Semiconductors und bietet zahlreiche Schnittstellen, darunter:
Hierfür verwendet das Board die branchenüblichen Steckverbinder – es müssen also keine speziellen Kabel beschafft werden. Wireless-Standards wie WiFi (802.11a/b/g/n/ac) und Bluetooth (v5.2), jeweils über schnelles PCIe intern angebunden, sowie eine 40-Pin-I/O-Leiste runden das Schnittstellenangebot ab. Ergänzt sind die bis zu vier Arm-Cortex-A53-Cores des Prozessors um einen Cortex-M7-Core, eine 3D Graphics Processing Unit (GPU), einen Dual Image Signal Processor (ISP) zwei digitale Signalprozessoren (DSPs) für Audio sowie eine Neural Processing Unit (NPU). Hiermit erschließt sich mit dem MBa8MP-RAS314 ein weites Spektrum an Einsatzmöglichkeiten:
Mit seinen Funktionen und Schnittstellen geht das MBa8MP-RAS314 deutlich über die Ausstattung der üblichen Maker Boards wie dem Raspberry Pi hinaus und zielt auf anspruchsvollere Applikationen ab.
Diese ziehen allerdings häufig einen erhöhten Debug-Bedarf nach sich. Aus diesem Grund stehen Entwicklern neben JTAG mit einem eigenen Debug-UART/USB-Port (per USB2.0 Micro AB) und einem spezifischen Serial Downloader/USB-3.0-Gerät (per Micro-USB Typ B) leistungsfähige Zusatzkanäle für Debug- und Programmieraufgaben zur Verfügung.
Auf Basis der Standard TQ-Baseboards, wie dem MBa8MP-RAS314, lässt sich die kundenspezifische Hardware schnell ableiten und im gewünschten Formfaktor erstellen. Der Prototypenbau sowie die Inbetriebnahme und Verifikation stellen sicher, dass alle gewünschten Eigenschaften erfüllt sind.
Für seine Applikationssoftware kann der Anwender weiterhin die Armbian-Distribution verwenden oder auf eine Yocto-Distribution umsteigen. Der Vorteil der Armbian-Distribution ist der geringe Anpassungsaufwand gegenüber der Prototypen-Entwicklung. Wer jedoch die volle Kontrolle über sein Linux-System erhalten will, dem empfiehlt TQ die Nutzung von Yocto. Hiermit lassen sich einerseits die Betriebssystem-Images relativ klein halten und andererseits die installierten Pakete exakt bestimmen und hinsichtlich der Versionsnummer festlegen. Das ist vor allem für nachfolgende Prozesse wie das Erstellen einer Software Bill of Material (SBOM) oder dem Common Vulnerabilities and Exposure (CVE)-Tracking sehr hilfreich.
Auch wenn das Betriebssystem und die Anwendungssoftware erfolgreich zusammenarbeiten, gibt es oft eine unerwartete Überraschung: Das System wird wärmer als erwartet. Die Ursache ist oft die Software, die während der Entwicklung mit neuen Ideen und um Kundenwünsche erweitert wurde: Obwohl sie nun ein vollständigeres und besseres Produkt ist, verbraucht sie mehr Ressourcen. Dank skalierbarer, eingebetteter Module lassen sich die gestiegenen Rechenleistungsanforderungen leicht erfüllen. Leider geht das auf Kosten einer höheren Leistungsaufnahme sowie einer höheren Wärmeentwicklung.
Der Einbau von lauten Lüftern ist oft nicht möglich, da sie nicht in das Gehäuse passen oder – wie in Anwendungen der medizinischen Elektronik oder in Gefahrenbereichen – verboten sind. Zudem ist das Entwickeln einer passiven Kühlungslösung zeitaufwendig und teuer. Viel günstiger ist es, wenn der Board-Lieferant von Anfang an ein geeignetes Kühlkonzept für die Hauptplatine entwickelt. Hierbei definiert der Hersteller außerdem alle mechanischen Befestigungspunkte und optimiert sie für den Einbau. TQ bietet für das MBa8MP-RAS314 mit Headspreader und Flachkühlkörper-Optionen für ein optimiertes Kühlkonzept an (Bild 3).
Armbian für TQ-Module und -Boards |
---|
Armbian stellt für das Anpassen der Linux-Kernel ein eigens Build-System zur Verfügung, das das Einbinden eigener Entwicklungsboards ermöglicht. Es steht über Github zum Download bereit. Auch wenn der Patch zum Hinzufügen der TQ-Boards auf den aktuellen »master« Branch möglich sein sollte, empfiehlt TQ von einem der bereitgestellten Tags auszugehen. Mit dem Aufruf des Scripts »./compile.sh« kann ein Menü-geführter Build ausgeführt werden. Alternativ können die einstellbaren Variablen im Kommando mitgegeben werden. Sobald der Build-Vorgang abgeschlossen ist, befindet sich das SD-Karten-Image im Ordner »/output/ images« und kann mit den bekannten Möglichkeiten auf eine SD-Karte gespielt werden. Detaillierte Build-Anleitungen für das »MBa8MP-RAS314«, zusätzliche Dokumentation und Downloads sind im TQ-Support-Wiki verfügbar. Beim ersten Start mit einem neu erstellten Image werden noch einige Schritte zur Fertigstellung ausgeführt. Diese (z.B. Root-Passwort vergeben) sind in der Dokumentation beschrieben. Da nicht alle Kombinationen von Distribution- und Desktop-Umgebung fehlerfrei baubar sind, empfiehlt sich für den Start die »jammy« + »cinamon« Kombination. Neben den Ubuntu-basierten Images lässt sich ebenso ein Debian basiertes Image erzeugen. Zudem lassen sich für die TQ-Module Images mit verschieden Kernelversionen erstellen: In den Konfigurationsdateien wird auf die jeweiligen Release-Tags der BSPs verwiesen. Mit der Variable »BRANCH« kann der Build beeinflusst werden. So nutzt »BRANCH=current« den »Kirkstone«-Release. »BRANCH=legacy« nutzt hingegen »Hardknott«. Armbian Anleitungen Armbian unterscheidet sich stark vom Yocto-basierten Linux-Ansatz. Eine gute Basis für allgemeine Informationen ist die Dokumentation zu Armbian. Beispiele anhand des Mainboards MBa8MP-RAS314 erläutern die Armbian-Vorgehensweise:
|