Arduino: как отлаживать шестнадцатеричный файл в AVR Studio
При компиляции эскиза Arduino создается .hex
файл (хранится во временной папке). Когда я открываю этот файл в AVR Studio 4.18, он пытается начать с места, где нет кода. Что я должен сделать, чтобы иметь возможность отлаживать эти шестнадцатеричные файлы Arduino в симуляторе AVR Studio?
3 ответа
Вы не можете, вам понадобятся объектные файлы. Если вы хотите использовать симулятор AVR, вам придется написать свой код на C или ассемблере и собрать его в студии AVR, используя компилятор GCC или аналогичный.
Найдите справочные страницы для avr-objdump и hex2bin от atmel. Это должно позволить вам разобрать файл программы, чтобы сгенерировать то, что вам может понадобиться для симулятора.
Проверьте эту тему, она объясняет разницу между объектным кодом и машинным кодом: код сборки против машинного кода против кода объекта?
Короче говоря, ваш шестнадцатеричный файл представляет собой необработанный машинный код: коды операций, аргументы, строки и т. Д., Т. Е. Данные, код и текстовые части, а также все они сгруппированы и закодированы в шестнадцатеричном формате для удобства. Файл программы легче читать в шестнадцатеричном формате, чем в двоичном формате:)
РЕДАКТИРОВАТЬ:
Насколько я помню (прошло уже много лет с тех пор, как я использовал AVR Studio), вы можете загрузить шестнадцатеричный файл в AVR Studio и создать разборку. Затем скопируйте / вставьте это в файл.asm и сгенерируйте объектные файлы - если это действительно то, что вам нужно.
На этой странице есть некоторая информация о AVR Studio и генерации разборки: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=50456&start=0