Qu’est-ce que ThreadX ?

ThreadX est un système d’exploitation temps réel conçu pour les appareils embarqués, désormais géré par la fondation Eclipse. En plus des fonctionnalités classiques d’un RTOS, threads, files de messages, mutex et sémaphores , il intègre plusieurs couches middleware pour faciliter le développement d’applications complexes.
Les composants centraux de ThreadX sont certifiés pour la sûreté, ce qui les rend adaptés aux produits SIL 4, ASIL D ou Medical Class C.
Bien que ThreadX ait récemment été transféré sous la gouvernance de la fondation Eclipse, il possède une longue histoire remontant à sa première version en 1997, et, au moment de ce transfert, il était déployé sur plus de 12 milliards d’appareils à travers le monde.

Les 3 principaux défis de ThreadX

CPU blue

Gestion des ressources

ThreadX est conçu pour des appareils embarqués aux ressources limitées, avec une mémoire restreinte pour le code et les données, ainsi qu’une puissance CPU réduite. Il faut donc concevoir l’application avec soin pour offrir les fonctionnalités souhaitées tout en respectant les contraintes matérielles.
real time blue

Comportement temps réel

L’utilisation de plusieurs threads et de primitives de synchronisation RTOS permet de garder une architecture modulaire. Toutefois, comparé au développement bare metal, cela exige une attention particulière à la sécurité des threads et au comportement temps réel du système.
hardware board blue

Intégration matérielle

ThreadX est généralement distribué avec les outils de votre fournisseur de MCU. Cela inclut en règle générale un portage de ThreadX vers l’architecture et le processeur utilisés, ainsi qu’un support de pilotes périphériques pour les composants middleware.

Fonctionnalités clés de ThreadX

ThreadX features

Noyau efficace

L’empreinte minimale de ThreadX peut être aussi réduite que ~2 Ko d’espace code et ~1 Ko de RAM. Un changement de contexte peut être effectué en moins d’une microseconde sur un processeur typique.

Sécurité et fiabilité

Le code source du noyau ThreadX est conforme à MISRA‑C et certifié conforme aux normes IEC 61508, IEC 62304, ISO 26262 et EN 50128 par SGS‑TÜV Saar.

Modules complémentaires

ThreadX inclut plusieurs composants middleware, offrant des fonctionnalités utiles pour développer votre application : NetXDuo, FileX, USBX, GUIX…
Holger Schroth Solar Log
Holger Schroth

Chief Product Officer

Solar log logo white
 ”Witekio a livré, voire même dépassé, tout ce à quoi nous nous attendions. Nous sommes heureux et confiants d’avoir un partenaire aussi compétent et tourné vers la recherche de solutions à nos côtés.”
The two main contenders to ThreadX are FreeRTOS and Zephyr. ThreadX lies somewhere in the middle of the scale, where: FreeRTOS: the RTOS itself is straightforward and easy to port the basics to a new device – the core of the kernel is contained in only three C source files. There are extra features available such as a TCP/IP stack and various IoT protocols, but it is perhaps less feature-rich and well integrated than the alternatives. ThreadX: contains better integrated middleware with more features than FreeRTOS, such as the USB and graphics stacks. But this means that it is more complex, and porting to a new device is challenging if there is not a port already provided by your silicon vendor Zephyr : Il s’agit davantage d’un framework de développement d’applications embarquées que d’un simple RTOS, avec bien plus de fonctionnalités que les autres options. Il reprend les concepts de devicetree et de Kconfig issus de Linux, permettant un haut niveau d’abstraction matérielle et un système de configuration riche. Mais cela implique aussi une courbe d’apprentissage plus importante que pour FreeRTOS ou ThreadX, et il serait difficile d’intégrer Zephyr dans une application existante ; il est en général préférable de porter l’application pour utiliser le système de build, de configuration et les API de Zephyr.
ThreadX est distribué sous la licence permissive MIT. Cela signifie qu’il peut être utilisé gratuitement dans un produit commercial, sans avoir à publier votre code source comme l’exigerait une licence copyleft (par exemple GPL).
La fondation Eclipse est une organisation à but non lucratif qui fournit une plateforme de collaboration pour les logiciels open source. Fin 2023, Microsoft a annoncé la transition d’Azure RTOS (ancien nom de ThreadX) vers un modèle open source, par lequel il a été donné à la fondation Eclipse. Cette transition vers la fondation Eclipse a été achevée en avril 2024. Auparavant, le modèle de licence exigeait soit que l’utilisateur final achète une licence, soit que le fournisseur de silicium fournisse une licence valable pour une famille de MCU donnée. Depuis cette transition, ThreadX est distribué sous la licence permissive MIT. Ce changement permet également, pour la première fois, d’intégrer dans ThreadX des fonctionnalités et des correctifs provenant de la communauté open source.

Witekio peut accompagner vos développements ThreadX

Witekio peut offrir un accompagnement pour le développement ThreadX de différentes manières :
  • Développement applicatif : conception de votre application pour fonctionner sur ThreadX, en exploitant au mieux les fonctionnalités du noyau et les bibliothèques middleware.
  • Intégration matérielle : assistance à l’intégration de ThreadX avec des composants matériels spécifiques.
  • Développement de pilotes : écriture de pilotes de périphériques compatibles RTOS, utilisant les mécanismes de synchronisation du noyau pour un fonctionnement efficace.
  • Architecture et revue de code : analyse de l’architecture système et du code existants afin de garantir les meilleures pratiques de développement dans un environnement RTOS, et identification des opportunités d’amélioration en matière de sûreté des threads, de synchronisation, de performance et d’efficacité.
Witekio The Embedded Kit teams

Votre partenaire de confiance en logiciel embarqué, application et connectivité

flag_line

4 Pays

4 Pays

iso_27001_02-1024x704

Certifies ISO 27001

Certifies ISO 27001

Avnet_logo

Fortune 500

Fortune 500

Notre expertise en logiciel embarqué

firmware

BareMetal

FreeRTOS

Zephyr