Arduino: как отлаживать шестнадцатеричный файл в AVR Studio

При компиляции эскиза Arduino создается .hex файл (хранится во временной папке). Когда я открываю этот файл в AVR Studio 4.18, он пытается начать с места, где нет кода. Что я должен сделать, чтобы иметь возможность отлаживать эти шестнадцатеричные файлы Arduino в симуляторе AVR Studio?

3 ответа

Решение

Хм, хорошо работает, когда я выбираю Симулятор 2...

Вы не можете, вам понадобятся объектные файлы. Если вы хотите использовать симулятор 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

Другие вопросы по тегам