Segger apporte aux OS temps réel une gestion des interruptions particulièrement sobre en énergie

embOS-Ultra

Pour ordonnancer et traiter des événements temporels tels que les timeouts, les délais et les temporisateurs périodiques, les systèmes d’exploitation temps réel (RTOS) utilisent en général une horloge système incrémentée à intervalles réguliers (toutes les millisecondes typiquement) par une routine de traitement d’interruption d’horloge ("tick").... Avec embOS-Ultra, la société Segger élimine aujourd’hui cette contrainte en proposant un RTOS que l’éditeur qualifie de révolutionnaire et qui s’appuie sur un timing dont la résolution peut être celle des cycles du processeur sous-jacent (et donc de l’ordre de la microseconde, voire beaucoup moins).

Selon la firme allemande, cette technique, baptisée Cycle-resolution Timing, remplace le fameux "tick" système par un temporisateur matériel en mode monocoup qui génère des interruptions au moment exact voulu, et seulement à ce moment-là. Il en résulterait une activité CPU réduite et donc des gains en consommation électrique. Cette technique, ajoute Segger, remplace également par des appels à des API propres et cohérentes les approches ad hoc, spécifiques à une cible donnée, permettant un timing précis.

La mise à jour d’un système vers embOS-Ultra serait par ailleurs facilitée car l’OS maintient une compatibilité totale au niveau API avec le système d’exploitation « classique » embOS… tout en fournissant une précision au niveau cycle pour l’ordonnancement au travers d'appels d’API supplémentaires.

« L’utilisation des cycles CPU comme base de temps interne pour un RTOS est un concept complètement nouveau et présente de nombreux avantages, indique Rolf Segger, le fondateur de Segger. La résolution de l’ordonnancement est de plusieurs ordres de grandeur meilleure que celle des RTOS traditionnels. En fait nous utilisons déjà cette technique dans nos sondes de débogage J-Link et nos programmateurs flash in-circuit. Nous avons constaté que cela simplifiait la conception système et permettait d'utiliser des appels d'API RTOS là où auparavant nous devions utiliser des temporisateurs matériels spécifiques. Cette approche a rendu le firmware beaucoup plus facile à maintenir et à porter, et a encore amélioré les performances des produits. »

Selon l’éditeur allemand, migrer du RTOS embOS traditionnel vers embOS-Ultra est très simple ; aucune modification de l’application n'est requise car le comportement existant des API et du RTOS est conservé. embOS-Ultra fournit un timing de l’ordre de quelques millisecondes lorsque les appels d’API embOS classiques sont utilisés et fournit une résolution de quelques microsecondes ou de l’ordre d’un cycle CPU lorsque les nouveaux appels d’API sont utilisés. Les API embOS traditionnelles peuvent en fait être mélangées avec les API embOS-Ultra étendues dans la même application.

Le système d’exploitation temps réel embOS-Ultra est d’ores et déjà disponible pour les architectures Cortex-A/Cortex-R, Cortex-M et RISC-V associées au compilateur Embedded Studio de Segger.