L'embarqué > Logiciel > Plate-forme > Sûreté : Mentor porte l’OS temps réel Nucleus SafetyCert sur le cœur ARM Cortex-M4

Sûreté : Mentor porte l’OS temps réel Nucleus SafetyCert sur le cœur ARM Cortex-M4

Publié le 14 avril 2017 à 12:03 par Pierrick Arlot        Plate-forme Mentor

SafetyCert

Initialement conçu pour les circuits intégrés à architecture ARM Cortex-A, le système d’exploitation temps réel Nucleus SafetyCert de Mentor est désormais disponible aussi pour le cœur  ARM Cortex-M4. Apte à assurer des niveaux élevés de sûreté de fonctionnement pour les produits qui doivent se conformer aux normes CEI 61508 SIL3, CEI 62304 Classe C, DO-178C Level A et ISO 26262 Asil D, ce portage intéressera particulièrement les utilisateurs de processeurs ou d’architectures SoC hétérogènes sur des marchés critiques comme l’industriel, le médical, l’automobile ou l’avionique.

Lancé en 2015, Nucleus SafetyCert intègre une version certifiée du célèbre OS temps réel Nucleus avec un modèle de programmation qui supporte le partitionnement spatial (avec coexistence sur une même plate-forme matérielle d’applications critiques et non critiques), des bibliothèques d’exécution, la connectivité, une pile TCP/IP, le stockage de données et l’environnement de développement intégré Sourcery CodeBench.

Selon Mentor, désormais intégré au sein du groupe Siemens, le fait de consolider de multiples applications d’un système critique sur un SoC multicœur hétérogène pose des défis économiques et technologiques majeurs aux développeurs lorsqu’ils doivent exécuter des OS différents sur chaque cœur. Du fait que Nucleus SafetyCert soit désormais disponible aussi sur les Cortex-M4 (qu’on trouve par exemple aux côtés de Cortex-A15 dans les SoC TDA2x/TD3x pour systèmes d’assistance à la conduite automobile de Texas Instruments), le même système d’exploitation certifiable peut être utilisé sur une plus grande variété de cœurs.

Nucleus SafetyCert, précise Mentor, met à profit l’unité de protection mémoire du Cortex-M4 pour partitionner la mémoire et répartir les sous-systèmes logiciels dans des domaines spatiaux séparés et isolés les uns des autres, une approche qui permet de confiner et de mettre en quarantaine des fautes avant qu’elles ne contaminent l’ensemble du système. Ces partitions servent aussi à isoler le code critique de celui qui ne l’est pas dans les conceptions à différents niveaux de criticité.  

Sur le même sujet