Les processeurs de NXP destinés aux véhicules définis par logiciel ont déjà leurs outils de développement signés par l’allemand PLS

PLS UDE 2024 pour le S32N55 de NXP

La nouvelle version de l’environnement UDE 2024 avec moteur de débogage intégré de l’allemand PLS Programmierbare Logik & Systeme (distribué en France par NeoMore) prend d’ores et déjà en charge le débogage et l’analyse des traces du processeur S32N55 de NXP. Pour rappel, le processeur S32N55 de NXP, fabriqué dans un procédé de fabrication 5 nm, qualifié pour l'automobile, et doté de 16 cœurs Arm Cortex-R52 à verrouillage partagé, est le premier membre de la famille S32N des processeurs conçus pour la plateforme ouverte S32 CoreRide, qui est destinée au développement de véhicules définis par logiciel (voir notre article).

Cette plate-forme, qui se présente comme une “superintégration” entre un processeur et un ensemble de logiciels embarqués (système d’exploitation temps réel, hyperviseur, piles logicielles de communication, pilotes…), vise le contrôle centralisé temps réel et sécurisé d’un véhicule.

A travers plusieurs environnements d'exécution isolés par logiciel, et renforcée par le matériel (grâce une couche de virtualisation), cette solution est théoriquement capable d’héberger plusieurs dizaines de fonctions du véhicule avec différents niveaux de criticité, tout en évitant les interférences entre elles. Chaque fonction peut être gérée indépendamment, y compris au niveau de la gestion des pannes, de la réinitialisation et des opérations de mises à jour logicielles OTA granulaires (voir notre article).

Lors du développement de logiciels pour cette architecture complexe, les développeurs pourront donc bénéficier de l'interface utilisateur intuitive de l’environnement UDE de PLS qui autorise un débogage et une analyse d'exécution des applications avec une visibilité en simultané sur un seul écran des cœurs Cortex-R52, mais aussi des cœurs auxiliaires Cortex-M7. Ce qui élimine le besoin, selon PLS, d’ouvrir des instances de débogueur distinctes pour chaque cœur.

L'interface utilisateur du débogueur peut en outre être personnalisée pour, par exemple, définir plusieurs vues et la bascule entre elles pour se concentrer sur les tâches de débogage particulières. Les configurations prédéfinies pour les puces S32N55 permettent également aux développeurs de démarrer rapidement leurs tâches de débogage ou de test sans avoir à se soucier des paramètres détaillés.

Au-delà, l'une des fonctionnalités notoires de l’outil est de s'accommoder du fait que tous les cœurs du processeur S32N55 appartiennent à un groupe de contrôle d'exécution et sont synchronisés pour le contrôle d'exécution par défaut. A ce niveau, au sein de l’environnement UDE, les points d'arrêt et les étapes uniques fonctionnent sur tous les cœurs, quel que soit le cœur qui atteint le point d'arrêt ou le cœur sur lequel les étapes uniques sont exécutées, ce qui permet de conserver un état cohérent de l'application respective au cours du débogage.

En fonction du partitionnement logiciel des applications exécutées sur le processeur S32N55 et des scénarios de débogage particuliers, le comportement de synchronisation de l'UDE peut aussi être modifié pour définir un groupe de contrôle d'exécution pour une synchronisation partielle, comme par exemple,lorsque seul un sous-ensemble des cœurs est synchronisé. Afin de pouvoir contrôler tous les cœurs individuellement, la synchronisation peut également être complètement désactivée. En particulier pour les applications où les tâches sont réparties sur plusieurs cœurs et où du code partagé est utilisé, la fonctionnalité de point d'arrêt multicœur de l’environnement facilite ces opérations de débogage complexes.

Enfin, pour un débogage non invasif et une analyse d'exécution des applications multicœurs, l'UDE procure aux développeurs des fonctionnalités fondées sur les informations de trace enregistrées par le biais de la technologie Arm CoreSight, qui fait partie intégrante du système de débogage du S32N55. Quant aux informations obtenues sur le programme et le flux de données des cœurs, ainsi que sur l'échange de données avec d'autres composants via le NoC (Network On Chip) présent sur le composant, un aperçu détaillé du comportement d'exécution du système est fourni aux développeurs. Avec un accès aux analyses liées aux données de trace enregistrées, incluant le profilage, l'analyse des graphiques d'appels et la couverture de code pour vérifier la qualité des tests logiciels.

Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée au marché automobile : Embedded-Automotive