[EMBEDDED WORLD] Dans la version 2022 de son environnement Universal Debug Engine (UDE) présentée officiellement sur le salon Embedded World, la firme allemande PLS (Programmierbare Logik & Systeme), spécialiste des outils d’analyse et de débogage de logiciels embarqués, met l’accent sur les tests et le débogage des applications dans l’automobile. Avec à la clé la prise en charge de l'interface d'exécution Autosar ARTI (Autosar Run-Time Interface), le successeur du standard ORTI (OSEK Run-Time Interface), et la compatibilité avec l’architecture des microcontrôleurs Stellar de STMicroelectronics, spécifiquement conçus pour le domaine automobile.
Le support de la technologie ARTI permettra notamment une analyse approfondie du comportement d'exécution des systèmes reposant sur l'environnement Autosar. Pour rappel, ARTI définit une interface complète et standardisée entre les outils de conception et les outils de débogage et de trace. Elle fournit également un modèle pour la mesure détaillée du temps d'exécution et l'analyse des tâches d’un système d'exploitation et de ses exécutables (voir diagramme ci-dessous). Ce qui inclut non seulement des mesures de synchronisation, mais également les données sur les états possibles des tâches, des exécutables et des routines d'interruption.
Dans ce cadre, l’environnement UDE 2022 utilise les fichiers ARTI (.arxml) générés pendant le processus de conception du code pour afficher toutes les informations de débogage pertinentes. Au-delà, pour une analyse d'exécution et des mesures de temps complètes, fondées sur des traces, PLS propose également aux développeurs l’outil ArtiHookGenerator, conforme aux normes Autosar, qui peut être utilisé pour implanter des hooks - littéralement “crochets” ou “hameçons” - qui permettent à un développeur de personnaliser le fonctionnement de son logiciel en prévoyant des hooks qui sont des points d'entrée vers des listes d'actions.
A l'aide de ces hooks, l’outil de PLS peut enregistrer des traces d'événements, les analyser et les visualiser dans un diagramme de séquences d'exécution. Les données de trace enregistrées peuvent ainsi par la suite être exportées au format ASAM MDF (Measurement Data Format) ou au format BTF (Best Trace Format), puis traitées ultérieurement par des outils spécifiques d’analyse de timing.
Au-delà, ces fonctions d'analyse et de visualisation du temps d'exécution ont également été optimisées pour les applications hors Autosar. Avec par exemple le diagramme de séquences d'exécution qui contient désormais des informations détaillées sur les états des fonctions visualisées, ce qui permet de voir plus facilement si une fonction est en cours d'exécution, vient d'être interrompue, ou ne s'exécute pas à l'instant t.
Tous les microcontrôleurs de l’automobile pris en charge
Les fonctions de débogage de l'UDE 2022 sont disponibles sur les nouveaux microcontrôleurs haut de gamme Jacinto de TI (TDA4VM, DRA829 et DRA821), fondés sur des cœurs Arm Cortex-A72, sur les RH850 de Renesas Electronics (et notamment le RH850/U2A), les derniers contrôleurs de la plate-forme automobile S32 de NXP Semiconductors (comme les processeurs temps réel S32E et S32Z) et les microcontrôleurs multicœurs Aurix d'Infineon.
Enfin, les fonctions d'analyse ont été élargies pour la dernière génération de l'unité de trace Arm CoreSight ETMv4 mise en oeuvre par exemple dans les SoC multicœurs des familles Stellar SR6 P (pour le contrôle/commande de mouvement) et SR6 G (pour les applications de l’habitacle) à cœurs Cortex-R52 de STMicroelectronics. Grâce à la coopération de longue date avec ST dans le cadre du programme de partenariat du fabricant de semi-conducteurs, les utilisateurs ont désormais accès à des fonctions de débogage et de trace spécifiques complètes pour le débogage, les tests et l'analyse du système dès que les premiers échantillons de matériel sont disponibles.
Au-delà, l'UDE 2022 de PLS permet aussi désormais aux ingénieurs qui travaillent sur le Stellar E (pour les contrôleurs centralisés de zone) d'effectuer un débogage multicœur pour les cœurs d'application Cortex-M7 dans une seule session de débogage et dans une instance de débogueur commune. Le contrôle d'exécution multicœur de PLS assure ici une synchronisation complète de tous les cœurs pendant le débogage à tout moment. Selon le cas d'utilisation, les cœurs peuvent également être démarrés et arrêtés individuellement, et les points d'arrêt multicœurs peuvent être utilisés dans du code partagé, pour simplifier le débogage d'applications complexes. Pour réaliser ces fonctions, l'UDE 2022 utilise le système de débogage et de traçage Arm CoreSight-600 mis en œuvre dans les microcontrôleurs Stellar E.