Что такое файлы .axf?

Я новичок в создании архитектуры, я работаю над встроенным программным обеспечением и пытался узнать о файле .axf, который присутствует в моей двоичной папке отладки проекта.

Обнаружено, что это файл исполняемого файла руки, созданный компоновщиком во время процесса сборки, и используется для отладки сбоев. Таким образом, очевидно, что он содержит некоторую отладочную информацию, но неясно, какая именно информация? А также есть файл .map в папке отладки, так что может быть разница между этими двумя файлами?

Ответ 1

Файл AXF является файлом объектного файла, сгенерированным компилятором ARM RealView (также частью Keil ARM-MDK) и содержит как объектный код, так и отладочную информацию. В отладчике, в то время как только объектный код загружается на самой цели, как код, так и отладочная информация загружаются в память хоста разработки.

При отладке (любого рода, а не только сбоев) через JTAG, SWD или другое соединение код должен быть доступен на хосте вместе с информацией об отладке, которая связывает этот код с исходным кодом. По отладочному соединению переносятся только минимальные данные, такие как значения регистра, поэтому, например, отладчик принимает значение счетчика программ и может отображать ассемблер и исходный код, который доступен на хосте, используя данные отладки в AXF.

Файл MAP содержит некоторую часть той же информации, но предназначен для чтения и потребления человеком, а не для использования на компьютере, и не содержит ссылки на исходный код для сопоставления данных объектного кода, необходимых для отладчика исходного уровня.

В основном вы можете его игнорировать - компилятор генерирует его, отладчик загружает его. Возможно, ваша инструментальная цепочка также создает файл .hex, который вы используете для производственного программирования, и содержит только машинный код и постоянные данные и инициализаторы.