Que sont les fichiers .axf?

Je suis novice en armement d’architecture, je travaille sur un logiciel intégré et je cherchais à connaître le fichier .axf présent dans le dossier de débogage de mon projet.

Découvert qu’il s’agissait d’un fichier au format exécutable arm généré par l’éditeur de liens lors du processus de construction et utilisé pour le débogage des blocages. Il est donc évident qu’il contient des informations de débogage, mais son type n’est pas clair. Et aussi il existe un fichier .map dans le dossier de débogage, alors quelle pourrait être la différence entre ces deux fichiers?

Le fichier AXF est un format de fichier object généré par le compilateur RealView d’ARM (également inclus dans ARM-MDK de Keil). Il contient à la fois un code object et des informations de débogage. Dans le débogueur, alors que seul le code de l’object est chargé sur la cible elle-même, le code et les informations de débogage sont chargés dans la mémoire de l’hôte de développement.

Lors du débogage (de quelque nature que ce soit – pas seulement en cas de plantage) via JTAG, SWD ou une autre connexion, le code doit être disponible sur l’hôte avec les informations de débogage qui associent ce code au code source d’origine. Sur la connexion de débogage, seules les données minimales telles que les valeurs de registre sont transférées. Ainsi, par exemple, le débogueur prendra la valeur du compteur de programme et pourra afficher le code source et l’assembleur disponible sur l’hôte à l’aide des données de débogage du fichier AXF.

Le fichier MAP contient certaines des mêmes informations, mais il est destiné à la lecture et à la consommation humaine et non à une utilisation par une machine. Il ne contient pas la ligne de code source contenant les données d’association de code object requirejses par le débogueur au niveau source.

La plupart du temps, vous pouvez l’ignorer – le compilateur le génère, le débogueur le charge. Votre chaîne d’outils génère probablement également un fichier .hex que vous utiliseriez pour la programmation de production et qui contient uniquement le code machine, les données constantes et les initialiseurs.