SoCs und Hardwareplattformen: Was die Embedded-Softwareentwicklung beeinflusst
Veröffentlichung
Aktualisierung
Treiber & BSPEmbedded Systemintegration

Erfahren Sie, was die Wahl eines SoCs und einer Hardwareplattform beeinflusst und warum Treiber, Updatefähigkeit und Wartbarkeit zentrale Themen sind.

Ein SoC ist in Embedded-Projekten nicht nur Rechenbasis. Zusammen mit Board-Design, Speicher, Peripherie, Bootkette und Softwarebasis legt er fest, wie gut sich ein System integrieren, testen, aktualisieren und langfristig warten lässt.

Gerade bei Linux-basierten Embedded-Systemen reicht es deshalb nicht aus, CPU-Leistung und Schnittstellen anhand eines Datenblatts zu vergleichen. Entscheidend ist, ob die gesamte Plattform – einschließlich BSP, Treibern und Build-Umgebung – für die konkreten Produktanforderungen belastbar beherrschbar ist.

Alles Wichtige auf einen Blick


  • Die Plattformwahl beeinflusst den Aufwand für Erstinbetriebnahme, Treiberintegration, Kernel-Anpassungen und spätere Produktpflege.
  • Ein SoC wird softwareseitig erst durch die Kombination aus Board-Design, Bootloader, Device Tree, BSP und Treibern zur nutzbaren Plattform.
  • Ein gepflegtes, nachvollziehbares BSP ist meist wichtiger als eine umfangreiche Feature-Liste im Datenblatt.
  • Mainline-nahe Komponenten können Kernel-Upgrades und Wartung erleichtern; projektspezifische Herstelleranpassungen bleiben jedoch häufig notwendig.
  • Update- und Recovery-Konzept, reproduzierbare Builds sowie dokumentierte Anpassungen müssen bereits bei der Plattformentscheidung berücksichtigt werden.

Warum ist die Plattformwahl aus Softwaresicht ein Architekturthema?

Ein Embedded-System läuft nicht auf einem abstrakten Prozessor. Es basiert auf einer konkreten Kombination aus SoC, Speicheranbindung, Stromversorgung, Peripherie, Board-Layout, Bootloader, Betriebssystem und Applikation. Diese Kombination bestimmt, welche Funktionen verfügbar sind, wie sie initialisiert werden und wie gut sie durch die gewählte Softwarebasis unterstützt werden.

Für die Softwareentwicklung beeinflusst die Plattformwahl insbesondere:

>>KriteriumAuswirkung auf die Softwareentwicklung
1 BSP und Kernelbasis Bestimmen, wie schnell eine Plattform in Betrieb genommen und wie aufwendig sie gepflegt werden kann
2 Treiberlage Entscheidet, ob Schnittstellen und Peripherie stabil nutzbar sind oder Entwicklungsaufwand entsteht
3 Bootkette Beeinflusst Startzeit, Diagnosemöglichkeiten, Recovery und die Integration eines Update-Konzepts
4 Board-Varianten Erfordern klar nachvollziehbare Device-Tree- und Konfigurationsanpassungen
5 Build-Umgebung Ist Grundlage für reproduzierbare Images, Versionspflege und Fehleranalyse
6 Produktlebenszyklus Bestimmt den Aufwand für Sicherheitskorrekturen, Kernel-Upgrades und mögliche Hardwaremigrationen.

Wer Plattformen ausschließlich nach nomineller CPU-Leistung, Speichergröße oder Anzahl der Schnittstellen auswählt, verlagert Integrationsrisiken häufig in eine spätere Projektphase. Dort werden sie teurer: wenn Hardware bereits festgelegt ist, Treiber fehlen oder ein Updatepfad nachträglich ergänzt werden muss.

Welche SoC-Eigenschaften beeinflussen die Softwareintegration?

Die CPU ist nur ein Bestandteil eines System on Chip. Für die Embedded-Softwareentwicklung ist entscheidend, wie die gesamte Plattform aufgebaut ist und welche Subsysteme in einer konkreten Produktvariante tatsächlich genutzt werden.

Relevant sind unter anderem:

  • Speicherarchitektur und Speicherbandbreite,
  • DMA- und Interrupt-Architektur,
  • Schnittstellen wie Ethernet, USB, SPI, I²C, UART oder CAN,
  • Display-, Grafik- und gegebenenfalls Kameraschnittstellen,
  • Audio-, Netzwerk- und Kommunikationsblöcke,
  • Mechanismen für Booten, Debugging und Systemwiederherstellung,
  • Energie- und Taktmanagement.

Diese Eigenschaften wirken sich direkt auf Treiber, Datenpfade, Latenzen und Systemintegration aus. Eine umfangreiche Peripherieausstattung ist dabei nicht automatisch vorteilhaft. Jede tatsächlich verwendete Funktion benötigt eine tragfähige Softwarebasis, eine nachvollziehbare Konfiguration und Tests unter realistischen Last- und Fehlerbedingungen.

Entscheidend ist nicht, was ein SoC theoretisch anbietet, sondern welche Funktionen auf der vorgesehenen Kernel- und BSP-Basis zuverlässig integriert und langfristig gepflegt werden können.

Was umfasst ein Board Support Package?

Das Board Support Package, kurz BSP, stellt die hardwarenahe Softwarebasis für ein konkretes Board oder eine Plattformfamilie bereit. Es verbindet die allgemeine Betriebssystembasis mit den Besonderheiten der Zielhardware.

Bei einem Linux-basierten System umfasst ein BSP typischerweise:

  • Konfiguration und Anpassungen des Bootloaders,
  • Kernel-Konfiguration und gegebenenfalls Kernel-Patches,
  • Device-Tree-Beschreibungen,
  • Treiber und Firmware-Komponenten,
  • Build-Konfigurationen, Layer und Rezepte,
  • Initialisierung von Peripherie und systemspezifische Einstellungen.

Ein BSP kann als Herstellerbasis, als Grundlage eines System-on-Module-Anbieters oder als kundenspezifische Weiterentwicklung vorliegen. Entscheidend ist nicht allein, dass ein BSP verfügbar ist. Bewertet werden muss, ob es zum geplanten Produkt passt und ob seine technische Basis langfristig beherrschbar bleibt.

Prüffragen für ein BSP

PrüffrageWarum sie relevant ist

Wird die verwendete Kernel- und BSP-Version nachvollziehbar gepflegt?

 

Sie beeinflusst die planbare Wartung und Fehlerbehebung.

Welche Patches weichen vom Standard ab?

 

Große oder schlecht dokumentierte Deltas erschweren Updates und Analysen.

Sind die benötigten Treiber für die konkrete Peripherie vorhanden und getestet?

 

Vorhandene SoC-Funktionen reichen ohne passende Treiber nicht aus.

Lassen sich Board-Varianten sauber abbilden?

 

Varianten müssen ohne unkontrollierte Sonderstände wartbar bleiben.

Ist die Build-Umgebung reproduzierbar?

 

Nur dann lassen sich Images später verlässlich nachbauen, prüfen und aktualisieren.

SIGMA verfügt  über umfassende Erfahrung in der Entwicklung und Anpassung kompletter BSPs, Linux-Images, Kernelkomponenten und Treibern – insbesondere für ARM-Plattformen wie NXP i.MX und TI Sitara.

Warum ist die Treiberlage wichtiger als die Feature-Liste?

Ein Datenblatt beschreibt die hardwareseitigen Möglichkeiten eines SoC. Für ein Produkt ist jedoch entscheidend, ob die benötigten Funktionen im vorgesehenen Software-Stack stabil, dokumentiert und testbar verfügbar sind.

Besonders sorgfältig sollte die Treiberlage geprüft werden, wenn ein Produkt auf spezialisierte oder komplexe Peripherie angewiesen ist, etwa:

  • Display- und Touch-Anbindungen,
  • Grafik- und Videopfade,
  • Kamera- und Bildsensorintegration,
  • Audio-Komponenten,
  • Feldbus- und Kommunikationsschnittstellen,
  • kundenspezifische Sensorik oder Aktorik,
  • Power-Management-Komponenten.

Fehlt ein passender Treiber oder passt ein vorhandener Treiber nicht zur eingesetzten Kernelbasis, entstehen Arbeiten in mehreren Schichten: im Treiber selbst, im Device Tree, bei der Initialisierung, im Build-System und bei der Validierung. Das kann sinnvoll und notwendig sein – muss aber als konkreter Entwicklungsumfang eingeplant werden.

Gerade bei Linux-BSPs, Kameraanbindungen und Spezialtreibern auf i.MX-Plattformen liegen belegte Projekterfahrungen vor.

Welche Rolle spielt der Device Tree bei Board-Anpassungen?

Der Device Tree beschreibt bei vielen ARM-basierten Linux-Systemen die konkrete Hardwarekonfiguration. Er legt beispielsweise fest, welche Komponenten vorhanden sind, welche Pins und Busse verwendet werden, welche Interrupts zugeordnet sind und wie Peripherie aktiviert wird.

Bei einer kundenspezifischen Hardwareplattform betrifft das unter anderem:

  • Pin-Multiplexing und GPIO-Zuordnungen,
  • Speicher- und Busanbindungen,
  • Interrupt-Zuordnungen,
  • Taktquellen und Reset-Leitungen,
  • Aktivierung von Schnittstellen und Peripherie,
  • Parameter für angeschlossene Geräte wie Displays, Sensoren oder Kommunikationsbausteine.

Der Device Tree ersetzt keine Treiberentwicklung. Er liefert dem Kernel jedoch die Informationen, die vorhandene Treiber benötigen, um Hardware korrekt zu erkennen und zu initialisieren. Fehlerhafte oder unvollständige Beschreibungen führen häufig zu Ausfällen beim Start, instabiler Peripherie oder schwer reproduzierbaren Laufzeitproblemen.

Für Produktvarianten sollte die Hardwarebeschreibung versioniert, dokumentiert und klar von allgemeinen Plattformanteilen getrennt werden. Das verbessert Wartbarkeit, Debugging und spätere Migrationen.

Wann reduziert Mainline-Nähe den Wartungsaufwand?

Von Mainline-Nähe spricht man, wenn Kernel-Treiber und Hardwarebeschreibungen möglichst nah am offiziellen Linux-Kernel und seinen etablierten Subsystemen liegen. Das kann Vorteile bringen, weil Komponenten mit neuen Kernel-Versionen eher weiterentwickelt und von einer breiteren Community geprüft werden.

Mögliche Vorteile sind:

  • geringerer Portierungsaufwand bei Kernel-Upgrades,
  • transparentere Treiber- und Patchbasis,
  • bessere Nachvollziehbarkeit von Fehlerkorrekturen,
  • weniger Abhängigkeit von einzelnen, proprietären Sonderständen,
  • klarere Perspektiven für langfristige Wartung.

Mainline-Nähe ist jedoch kein pauschales Auswahlkriterium. Vendor-BSPs enthalten häufig Unterstützung für neue SoCs, spezielle Grafik- oder Multimediafunktionen sowie herstellerspezifische Erweiterungen, die im Mainline-Kernel noch nicht oder nicht vollständig verfügbar sind.

Die richtige Frage lautet daher nicht: „Ist alles Mainline?“
Sondern: „Welche Abweichungen sind für unser Produkt erforderlich, wie gut sind sie dokumentiert und wie lassen sie sich über den geplanten Lebenszyklus pflegen?“

Wie hängen Bootkette, Updates und Recovery mit der Plattform zusammen?

Ein System ist nicht allein deshalb updatefähig, weil ein Bootloader vorhanden ist. Ein belastbares Update- und Recovery-Konzept entsteht aus dem Zusammenspiel mehrerer Komponenten:

  1. Boot-ROM und Bootloader: Sie müssen die vorgesehene Startlogik, Diagnose- und Wiederherstellungswege unterstützen.
  2. Speicheraufteilung: Partitionen beziehungsweise Slots müssen zur Update-Strategie passen.
  3. Zustandsverwaltung: Das System muss erkennen können, ob ein neues Image erfolgreich gestartet ist oder ein Rückfall erforderlich wird.
  4. Update-Mechanismus: Updates müssen reproduzierbar eingespielt, geprüft und bei Unterbrechungen sicher behandelt werden können.
  5. Diagnose und Recovery: Fehlerfälle müssen im Feld nachvollziehbar und ohne unnötige Eingriffe beherrschbar sein.

A/B-Strategien und Fallback-Konzepte können die Robustheit bei Feldupdates deutlich erhöhen. Ob sie sinnvoll und technisch umsetzbar sind, hängt jedoch von Speicherressourcen, Bootloader-Funktionen, Systemarchitektur und Produktanforderungen ab.

Die Erfahrung mit U-Boot sowie mit dem Update-Framework RAUC ist in der Kompetenzmatrix als umfassend ausgewiesen. kompetenzmatrix.md Deshalb sollte das Update-Konzept nicht erst nach Abschluss der Plattformentscheidung behandelt werden, sondern bereits bei der Architektur- und Hardwareabstimmung.

Warum bedeutet Langzeitverfügbarkeit mehr als lieferbare Hardware?

Langzeitverfügbarkeit wird häufig auf die Beschaffbarkeit von SoC, Speicher oder Kommunikationsmodulen reduziert. Das ist notwendig, aber nicht ausreichend. Eine Plattform bleibt nur dann langfristig nutzbar, wenn auch ihre Softwarebasis gepflegt, nachvollzogen und bei Bedarf weiterentwickelt werden kann.

Ein Plattformwechsel während des Produktlebenszyklus ist meist kein reiner Austausch des SoC. Abhängig von Architektur und Peripherie können Bootloader, Kernel, Treiber, Device Tree, Build-System, Tests und Applikation betroffen sein. Eine frühzeitig bewertete Softwarebasis reduziert deshalb das Risiko späterer, ungeplanter Redesigns.

Welche Fragen sollten vor der finalen Plattformentscheidung beantwortet sein?

Vor der Festlegung auf SoC, System-on-Module oder kundenspezifisches Board sollten Hardware- und Softwareverantwortliche eine gemeinsame technische Bewertung vornehmen.

Checkliste für die Plattformentscheidung

  • Welche Funktionen und Schnittstellen werden im Serienprodukt tatsächlich benötigt?
  • Welche davon sind im vorgesehenen BSP und Kernelstand nachweislich unterstützt?
  • Welche Treiber müssen angepasst, erweitert oder neu entwickelt werden?
  • Wie werden Board-Varianten, Device-Tree-Anpassungen und Patches versioniert?
  • Welcher Bootloader und welches Speicherlayout unterstützen Update und Recovery?
  • Wie werden Images reproduzierbar erstellt und getestet?
  • Welche Abhängigkeiten bestehen zu SoC-, Modul- oder BSP-Anbietern?
  • Wie realistisch sind Kernel-Upgrades, Fehlerkorrekturen und Hardwaremigrationen über die geplante Produktlaufzeit?

Eine solche Bewertung ersetzt keine Architekturarbeit. Sie verhindert aber, dass entscheidende Risiken erst sichtbar werden, wenn die Hardware bereits festgelegt und die Integration weit fortgeschritten ist.

Wie schaffen Sie eine belastbare Softwarebasis für Ihre Hardwareplattform?

Die beste Plattform ist nicht zwingend die mit der höchsten Rechenleistung oder der längsten Feature-Liste. Sie ist diejenige, die die Anforderungen des Produkts erfüllt und zugleich eine belastbare Basis für Integration, Updates, Fehleranalyse und langfristige Wartung bietet.

Dazu müssen SoC, Zielhardware, BSP, Treiber, Bootkette und Build-Prozess von Beginn an gemeinsam bewertet werden. Die Plattformwahl ist damit eine Architekturentscheidung über den gesamten Produktlebenszyklus – nicht nur eine Vorentscheidung der Hardwareentwicklung.

Sie bewerten eine Embedded-Plattform oder planen die Softwarebasis für ein neues Gerät?

Wir prüfen mit Ihnen, welche Anforderungen sich aus SoC, Board-Design, BSP, Treiberlage, Bootkette und geplanter Produktpflege ergeben. So lassen sich Integrations- und Wartungsrisiken identifizieren, bevor sie in der Umsetzung Kosten und Zeit binden. Kontaktieren Sie uns jederzeit gern, wenn Sie ein Projekt starten wollen.

Thomas Heinke

Thomas Heinke

Vertriebsleiter

Thomas Heinke verfügt über mehr als 25 Jahre Erfahrung im technischen Projektgeschäft bei SIGMA Chemnitz. Sein Fachwissen umfasst die Beratung und Betreuung industrieller Kunden, Systemintegration sowie Projekte in den Bereichen ERP, PLM, Business Intelligence und AutoID/RFID. Dabei verbindet er technologische Entwicklungen mit den praktischen Anforderungen industrieller Anwendungen.

Mehr über den Autor

Sprechen Sie mit uns!

Lösungen für Ihre Branche und Ihre Prozesse stellen wir Ihnen gerne vor.
Sprechen Sie mit den Spezialisten für den Mittelstand.

Jetzt anfragen