После успешной сборки проекта будет сгенерирован 16-тиричный файл FirstProject.hex, содержащий в символьном виде машинный код программы:
:020000020000FC :100000001FC0FECFFDCFFCCFFBCFFACFF9CFF8CF8B :10001000F7CFF6CFF5CFF4CFF3CFF2CFF1CFF0CFCC :06002000EFCFEECFEDCFA3 :100040000FE50DBF04E00EBFC298BA9A04E018B3E2 :10005000102718BB01D0FBCFB3ECA0E51197F1F747 :02006000089501 :00000001FF
Рассмотрим формат данных hex-файл на примере второй строки текста (маркером начала строки всегда является символ “:”):
NN AAAA CC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD SS : 10 0000 00 1FC0FECFFDCFFCCFFBCFFACFF9CFF8CF 8B
Поле NN определяет количество байтов данных в строке (в нашем случае 16 байтов). Поле AAAA – это начальный адрес, с которого данные будут записаны в память микроконтроллера.
За адресом следует поле команды CC. Программатор, ориентируясь на поле CC, распознает функциональное назначения строки. Ассемблер и другие компиляторы языков высокого уровня для AVR могут установить следующие значения данного параметра:
00 – в строке находятся данные для записи в память,
01 – последняя строка в файле,
02 – строка содержит начальный адрес сегмента памяти,
04 – строка содержит адрес в пределах сегмента памяти.
В данной строке CC=00 (т.е. строка предназначена для записи данных). За полем CC (кроме команды 01) идут непосредственно данные в количестве, определяемом параметром NN. Последнее поле SS – контрольная сумма. Сумма всех байтов в неповрежденной строке без учета переполнения всегда нулевая:
10 + 00 + 00 + 00 + 1F + … + CF + F8 + CF + 8B = 0.
Каждый hex-файл должен завершаться строкой :00000001FF.
Перейти к следующей части: Программирование математических операций - Беззнаковые целые числа - Сложение
Комментарии (0) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация