Was ist ThreadX?

ThreadX ist ein Echtzeitbetriebssystem (RTOS), das für eingebettete Geräte entwickelt und von der Eclipse Foundation verwaltet wird. Neben den typischen RTOS-Funktionen wie Threads, Nachrichtenwarteschlangen, Mutexen und Semaphoren integriert es auch mehrere Middleware-Schichten, um die Entwicklung komplexer Anwendungen zu unterstützen.
Die Kernkomponenten von ThreadX sind sicherheitszertifiziert und somit für den Einsatz in SIL-4-, ASIL-D- oder Medizinprodukteklasse-C-Systemen geeignet.
Obwohl ThreadX erst vor Kurzem unter die Verwaltung der Eclipse Foundation gestellt wurde, hat es eine lange Geschichte, die bis zur ersten Veröffentlichung im Jahr 1997 zurückreicht. Zum Zeitpunkt des Übergangs war es bereits auf über 12 Milliarden Geräten weltweit im Einsatz.

Die 3 Hauptherausforderungen von ThreadX

CPU blue

Ressourcenverwaltung

ThreadX ist für ressourcenbeschränkte eingebettete Geräte mit begrenztem Speicher für Code und Daten sowie eingeschränkter CPU-Leistung ausgelegt. Daher muss die Anwendung sorgfältig entworfen werden, um die gewünschten Funktionen innerhalb der Grenzen des Geräts bereitzustellen.
real time blue

Echtzeitverhalten

Die Entwicklung einer Anwendung mit mehreren Threads und RTOS-Synchronisationsmechanismen trägt dazu bei, das Design modular zu gestalten. Im Vergleich zur Bare-Metal-Entwicklung erfordert dies jedoch eine sorgfältige Berücksichtigung der Thread-Sicherheit und des Echtzeitverhaltens des Systems.
hardware board blue

Hardware-Integration

ThreadX wird in der Regel zusammen mit den von Ihrem MCU-Halbleiterhersteller bereitgestellten Tools ausgeliefert. Dies umfasst normalerweise einen Port von ThreadX auf die verwendete Architektur und CPU sowie eine gewisse Unterstützung von Peripherietreibern für die Middleware-Komponenten.

Wichtige Funktionen von ThreadX

ThreadX features

Effizienter Kernel

Der minimale Speicherbedarf von ThreadX kann nur etwa ~2 KB Code-Speicher und ~1 KB RAM betragen. Ein Kontextwechsel kann auf einem typischen Prozessor in weniger als 1 Mikrosekunde durchgeführt werden.

Sicherheit und Zuverlässigkeit

Der Quellcode des ThreadX-Kerns ist MISRA-C-konform, und ThreadX ist von SGS-TÜV Saar gemäß IEC 61508, IEC 62304, ISO 26262 und EN 50128 zertifiziert.

Erweiterungen

ThreadX umfasst mehrere Middleware-Komponenten, die nützliche Funktionen für die Entwicklung Ihrer Anwendung bereitstellen: NetXDuo, FileX, USBX, GUIX …
Holger Schroth Solar Log
Holger Schroth

Chief Product Officer

Solar log logo white
„Witekio hat alles geliefert – oder sogar übertroffen – was wir erwartet hatten. Es macht uns glücklich und zuversichtlich, einen so kompetenten und lösungsorientierten Partner an unserer Seite zu haben.“
Die beiden Hauptalternativen zu ThreadX sind FreeRTOS und Zephyr. ThreadX liegt ungefähr in der Mitte der Skala, wobei gilt: FreeRTOS: Das RTOS selbst ist einfach aufgebaut und lässt sich leicht auf ein neues Gerät portieren – der Kern des Kernels besteht aus nur drei C-Quelldateien. Es gibt zusätzliche Funktionen wie einen TCP/IP-Stack und verschiedene IoT-Protokolle, aber es ist möglicherweise weniger funktionsreich und weniger gut integriert als die Alternativen. ThreadX: Bietet besser integrierte Middleware mit mehr Funktionen als FreeRTOS, beispielsweise USB- und Grafik-Stacks. Das bedeutet jedoch auch, dass es komplexer ist und das Portieren auf ein neues Gerät schwierig sein kann, wenn kein Port von Ihrem Halbleiterhersteller bereitgestellt wird. Zephyr: Dies ist eher ein Entwicklungs-Framework für eingebettete Anwendungen als nur ein RTOS und bietet deutlich mehr Funktionen als die anderen Optionen. Es übernimmt die Devicetree- und Kconfig-Konzepte aus Linux und ermöglicht damit ein hohes Maß an Hardwareabstraktion und ein umfangreiches Konfigurationssystem. Das bedeutet jedoch auch, dass Zephyr eine steilere Lernkurve hat als FreeRTOS oder ThreadX, und es wäre schwier
ThreadX wird unter der freizügigen MIT-Lizenz vertrieben. Das bedeutet, dass es kostenlos in einem kommerziellen Produkt verwendet werden kann, ohne dass – wie bei einer Copy-Left-Lizenz (z. B. GPL) – der Quellcode offengelegt werden muss.
Die Eclipse Foundation ist eine gemeinnützige Organisation, die eine Plattform für die Zusammenarbeit an Open-Source-Software bietet. Ende 2023 kündigte Microsoft den Übergang von Azure RTOS (dem früheren Namen von ThreadX) zu einem Open-Source-Modell an, im Rahmen dessen es an die Eclipse Foundation übergeben wurde. Der Übergang zur Eclipse Foundation wurde im April 2024 abgeschlossen. Zuvor erforderte das Lizenzmodell, dass entweder der Endbenutzer eine Lizenz erwarb oder der Halbleiterhersteller eine Lizenz bereitstellte, die für eine bestimmte MCU-Familie gültig war. Seit diesem Übergang wird ThreadX nun unter der freizügigen MIT-Lizenz vertrieben. Dieser Schritt bedeutet auch, dass erstmals von der Open-Source-Community beigesteuerte Funktionen und Fehlerbehebungen in ThreadX integriert werden können.

Witekio kann Sie unterstützen bei Ihren ThreadX-Entwicklungen

Witekio kann Sie auf verschiedene Weise bei der Entwicklung mit ThreadX unterstützen:
  • Anwendungsentwicklung: Entwicklung Ihrer Anwendung für den Betrieb auf ThreadX, unter optimaler Nutzung der Kernel-Funktionen und Middleware-Bibliotheken.
  • Hardware-Integration: Unterstützung bei der Integration von ThreadX mit spezifischen Hardwarekomponenten.
  • Treiberentwicklung: Erstellung von Gerätetreibern, die RTOS-bewusst sind und Kernel-Synchronisationsmechanismen nutzen, um effizient zu arbeiten.
  • Architektur- und Code-Review: Analyse Ihrer bestehenden Systemarchitektur und Ihres Codes, um bewährte Praktiken für die Entwicklung in einer RTOS-Umgebung sicherzustellen und Verbesserungsmöglichkeiten bei Thread-Sicherheit, Synchronisation, Leistung und Effizienz zu identifizieren.

Unsere Embedded-Software-Expertise

firmware

BareMetal

FreeRTOS

Zephyr

Witekio The Embedded Kit teams

Ihr vertrauenswürdiger Partner für Embedded Software, Anwendungen und Konnektivität

flag_line

4 Länder

4 Länder

iso_27001_02-1024x704

ISO 27001 zertifiziert

ISO 27001 zertifiziert

Avnet_logo

Fortune 500

Fortune 500