Tracealyzer trace le code dans le RTOS ou sans !

Publié par Nicolas le

Tracealyzer v4.7

Tracealyzer 4.7 est sorti !

Cela faisait longtemps que l’on n’avait pas vu de sortie aussi riche en ajout de fonctionnalités. Alors, nous sommes ravis de pouvoir enfin parler de ces fameurses nouvelles fonctionnalités. 

Par exemple, une nouvelle option d’intégration “bare metal” qui fonctionne pour tout système C/C++ (indépendamment du RTOS utilisé, le cas échéant) et un nouveau support pour le traçage des “runnables”. Ce dernier point est particulièrement important pour le profilage des calculateurs automobiles, mais il peut être utilisé sur n’importe quel système C/C++ pour le profilage de sections spécifiques du code.

Tracealyzer v4.7

Observabilité pour tout code en C/C++.

La bibliothèque TraceRecorder de Percepio peut désormais être utilisée avec n’importe quel logiciel C/C++ sans nécessiter la présence d’un RTOS. Ainsi, plus de développeurs de firmware peuvent bénéficier de la puissante observabilité de Percepio Tracealyzer pour améliorer leurs processus de vérification, de profilage et de débogage de logiciels. Ceci est rendu possible par une option d’intégration bare metal qui permet une trace au niveau de l’application sans avoir besoin d’intégrer le noyau du RTOS. Cela permet d’observer visuellement tout événement ou donnée enregistrée par l’utilisateur, comme les appels de fonction importants, les valeurs des variables et des registres, les machines d’état et divers types de timing logiciel comme le temps d’exécution et la périodicité pour des sections sélectionnées du code.

Profilage pour les calculateurs automobiles

La  prise en charge nouvelle du traçage des “exécutables” rend Tracealyzer v4.7 très performant pour le profilage et le débogage des calculateurs automobiles (ECU). Un “runnable” est un terme automobile désignant un composant logiciel dans le système d’exécution, mais le traçage des “runnables” n’est pas seulement destiné aux systèmes automobiles, il permet de profiler en détail n’importe quelle section de code C/C++ pour laquelle la synchronisation et les performances sont importantes. Cela permet aux développeurs de tracer et de visualiser des sections de code dans les vues chronologiques de Tracealyzer et d’obtenir des informations de profilage détaillées, y compris des statistiques et des tracés de temps d’exécution.

Amélioration du traçage des applications

Tracealyzer permet désormais de configurer le traçage explicite des machines à états et des intervalles personnalisés directement dans l’API TraceRecorder, du côté de la cible. Cela rend ce traçage plus efficace et plus facile à utiliser, puisqu’aucune configuration supplémentaire n’est nécessaire dans l’application Tracealyzer. Les vues telles que les graphiques d’état et les tracés d’intervalles sont disponibles directement lorsque ces traces sont chargées dans Tracealyzer.

Des enregistrements plus compacts

La nouvelle version de Tracealyzer permet un enregistrement plus compact et efficace car les chaînes littérales telles que les noms et les chaînes de format n’ont pas besoin d’être journalisées dans leur intégralité. Au lieu de cela, seules leurs adresses mémoire sont enregistrées, et celles-ci sont résolues automatiquement par Tracealyzer en utilisant le fichier ELF du processus de construction. Cela signifie que moins d’octets sont nécessaires par message d’enregistrement, que les appels d’enregistrement sont plus rapides et que le débit d’enregistrement est donc plus élevé.

Streaming UDP

Tracealyzer v4.7 ajoute l support de streaming de trace via le protocole UDP. Tracealyzer a déjà permis le streaming sur réseau en utilisant TCP, mais UDP est significativement plus rapide. Ce qui signifie un débit plus élevé, moins d’utilisation de mémoire et une charge de processeur plus faible.

Support amélioré pour Arm Cortex-A/R

La bibliothèque TraceRecorder a été étendue avec un nouveau port matériel pour les dispositifs Arm Cortex-R et -A utilisant l’architecture Armv8 en mode 32-bit. Cela permet d’utiliser Tracealyzer sur des cœurs populaires tels que Arm Cortex-R52.

Support amélioré SafeRTOS

L’intégration de SafeRTOS a été mise à jour vers la nouvelle génération de TraceRecorder et bénéficie désormais de toutes les dernières et meilleures fonctionnalités de Tracealyzer. Contactez Wittenstein high integrity systems pour en savoir plus sur le support Tracealyzer pour SafeRTOS.

Amélioration de la prise en charge de VxWorks

Les définitions d’événements ont été mises à jour pour VxWorks 6.9.

Mises à jour pour Percepio® DevAlert®

Le client DevAlert intégré dans Tracealyzer a été déplacé dans un outil séparé, DevAlert Dispatcher. DevAlert prend désormais en charge tout type de données de diagnostic, non seulement les traces Tracealyzer, mais aussi, par exemple, les vidages de crash GDB et les journaux d’application existants.

La plupart des nouvelles fonctionnalités sont liées à la bibliothèque Percepio TraceRecorder qui est utilisée dans les intégrations FreeRTOS, SafeRTOS, Azure RTOS ThreadX et Bare Metal. Ces nouvelles fonctionnalités sont documentées dans le manuel utilisateur de Tracealyzer sous “Creating and Loading Traces” > “Percepio TraceRecorder”. Cependant, plusieurs améliorations et corrections mineures concernent d’autres utilisateurs, notamment la mise à jour du support VxWorks et l’amélioration du manuel utilisateur pour les fonctionnalités de traçage Linux.

La nouvelle option d’intégration “bare metal” est disponible pour tous les utilisateurs ayant un abonnement actif à Tracealyzer, mais les licences émises avant février 2023 doivent être mises à jour pour activer cette fonctionnalité. Contactez nous ou directement support@percepio.com si vous avez besoin d’aide.

Vous pouvez télécharger et évaluer Tracealyzer 4.7 sur la page de téléchargement de Tracealyzer, ou utiliser le lien de téléchargement direct depuis la notification de mise à jour de Tracealyzer.

D’autres exemples de nouvelles fonctionnalités suivront sur le blog. Restez à l’écoute !


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *