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

StackOverflow https://stackoverflow.com/questions/6384258

  •  29-10-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top