Embedded-Computer

Welches Board-Format ist das Richtige?

29. September 2014, 14:43 Uhr | Von Knud Hartung
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

ARM oder x86

Gibt es schlagende Argumente für eine bestimmte Architektur? Sowohl x86 als auch ARM haben sich auf dem Markt in bestimmten Bereichen etabliert. Jede Architektur ist für ein bestimmtes Anwendungsgebiet ideal geeignet. Die Unterschiede zwischen ihnen liegen hauptsächlich in der Art und Weise, wie sie mit den I/Os kommunizieren. Die in drei Schritte gegliederte Kommunikation der ARM-Architektur sorgt für straffe Abläufe, senkt die Leistungsaufnahme und bewältigt die Aufgaben. Der Zehn-Schritte-Prozess der x86-Architektur ist dagegen detaillierter, erfordert aber mehr Zeit, Energie und Speicher zum Verarbeiten der Aufgaben.

In der x86-Welt stützt sich der Kommunikationsprozess auf eine CISC-Architektur (Complex Instruction Set Computing). Es handelt sich dabei um eine ausgereifte Technologie, und hinsichtlich der Core-Architektur gibt es Befehle, die direkt mit I/O-Funktionen oder dem Speicher interagieren. Die ARM-Architektur basiert dagegen auf dem RISC-Prinzip (Reduced Instruction Set Computing) und enthält keine Befehle, die direkt mit I/O-Funktionen arbeiten können. RISC-Prozesse arbeiten vielmehr nur mit Registern, und es gibt nur einige wenige Befehle für das Laden bzw. Speichern von Daten im Flash.

Die einfachere native 32-bit-Architektur der ARM-Prozessoren sorgt für weniger Chipfläche und eine deutliche Senkung der Leistungsaufnahme. Sie ist somit für Handheld-Geräte wie Smart­phones und Tablets prädestiniert. Wenn eine vergleichbare Anwendung nach der Schnittstellen-Ausstattung der x86-Architektur verlangt, finden Entwickler die ideale Lösung in einem Modul des Formats COM Express Mini, das wenig Strom verbraucht und mit allen gängigen Schnittstellen aufwartet. Sind ARM-Schnittstellen (oder eine Kombination von beiden, wenn beispielsweise direkte Kamera-Unterstützung oder I2S benötigt werden) erforderlich, so sind SMARC-Module die Produkte der Wahl. COM Express und SMARC eignen sich wegen ihrer optionalen Batteriestromversorgung optimal für mobile Geräte.

Und die Software?

Wollen Sie den Software-Support selbst organisieren oder brauchen Sie die Hilfe eines etablierten Ökosystems? Die Software-Unterstützung ist ein strategisches Element des Designprozesses. Größere Systeme arbeiten mit Windows oder Linux, so dass die Designer die I/O-Anforderungen, die Restriktionen des Ökosystems und die allgemeine Einfachheit der Entwicklung evaluieren müssen. Generell eignen sich Windows, VxWorks und QNX besser für x86-Architekturen, während Linux die bessere Wahl für ARM-Prozessoren ist.

Windows bietet ausgereiften Support für die x86-Architektur und wartet mit umfassender Treiberunterstützung für alle Karten auf. Dies ermöglicht eine relativ problemlose Entwicklung, wenn mit SBCs wie PC/104 und COM-Express- oder Qseven-Modulen gearbeitet wird. Das Ökosystem ist bestens zugänglich. Sollten neue Treiber nicht verfügbar sein, können Entwickler zur Implementierung neuer Karten auf Standard-Treiber zurückgreifen. Vertraute x86-Umgebungen werden gut durch Entwicklungs-Tools unterstützt, die bei der Implementierung, dem Debugging und der Feinabstimmung der Software helfen.

Was die Treiber angeht, hat Linux große Ähnlichkeit mit Windows, auch wenn die eingeschränktere Treiber­unterstützung zu Designproblemen und längeren Entwicklungszeiten führen kann. Sind keine Treiber verfügbar, stellt es eine größere Herausforderung dar, ältere Versionen zur Anpassung an neue Karten zu verbessern. Dies liegt unter anderem an der Quelloffenheit von Linux: Neu veröffentlichte Treiber müssen zunächst die Prüfung und Freigabe des Konsortiums durchlaufen.

Eine andere Rolle spielt Android. Es basiert auf Linux, wurde speziell für ARM-Architekturen geschrieben und bietet heute auch begrenzte Unterstützung für x86-I/Os. Die ARM-Umgebung ist komplexer und differenzierter mit dem alleinigen Fokus auf SoC-Produkte, die häufig für eine ganz bestimmte Anwendung optimiert sind. Das Erstellen standardisierter I/O-Definitionen hatte dagegen keine besondere Priorität. Die Folge ist, dass es auf dem ARM-Markt eine Reihe proprietärer Formate und Steckverbinder-Definitionen gibt. Designs können hier an einen bestimmten Anbieter gebunden sein, der möglicherweise nur eine einzige Bausteingeneration unterstützt. Man geht davon aus, dass die x86-Unterstützung in Zukunft noch ausgeweitet wird. Zur Zeit aber ergeben sich höhere Entwicklungskosten und ein vermehrter Aufwand für das Software-Design. Der SMARC-Standard ermöglicht allerdings in gewissem Umfang ein leichteres Wechseln zwischen x86- und ARM-Prozessoren. Ursprünglich für eine standardisierte Nutzung von ARM-Prozessoren gedacht, bietet SMARC inzwischen auch Unterstützung für stromsparende x86-Prozessoren.

passend zum Thema


  1. Welches Board-Format ist das Richtige?
  2. Computermodule
  3. ARM oder x86
  4. Welche Faktoren entscheiden über die Systemkosten?

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ADLINK TECHNOLOGY

Weitere Artikel zu Industrie-Computer / Embedded PC

Weitere Artikel zu SBCs / CPU-Boards / CoM / SoM