Различия между файлами s37 и elf
Я использую встроенную систему. После сборки исходного кода C я получаю много файлов. Имя файла такое же, но расширение другое:
.s37.elf.hex.sig
Какая разница между ними? В основном, в чем разница между.s37 и.elf?
Спасибо, Л.
1 ответ
Это просто разные исполняемые форматы.
.s37 - это один из вариантов формата SREC, это фиксированный текст ascii/line, включая шестнадцатеричный (двоичный)
Этот формат хорошо известен программному обеспечению flash/upload в большинстве встроенных целей.
.elf
является исполняемым и линкуемым файлом, продуктом типа линкера gcc
или другие коммерческие компиляторы (Windriver, CodeWarrior...).
.elf
формат трудно загружать на встроенные цели без преобразования в .SREC
с objcopy
первый. Одним из основных отличий в содержании является то, что .elf
формат может содержать символы отладки, тогда как .srec/.s37
не могу.
Я предполагаю, что ваш набор инструментов делает все это: link: .elf, затем objcopy для преобразования.elf в.s3 для целевой загрузки (потеря информации о символах, если таковая имеется, что требует от вас сохранения .elf
файл удобен при отладке вашего приложения на цели, файл SREC содержит только код и данные, без отладки).