Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel (1044208), страница 20
Текст из файла (страница 20)
Рис. П9.5. Окно сообщений ассемблера Для локализации ошибок трансляции в случае их наличия можно в окне сообщений ассемблера установить курсор мыши на сообщение об ошибке и два раза щелкнуть левой кнопкой мыши. При этом в окне 120 Приложения редактирования исходного текста программы курсор будет установлен на строку, вызвавшую сообщение об ошибке, и эта строка будет выделена цветом.
В результате трансляции создается выходной файл в указанном формате. Если исходный ассемолерный текст содержал сегмент энергонезависимых данных (объявленный директивой .еред), то при трансляции будет создан также файл с расширением .еер. Этот файл содержит данные для внутренней ЕЕРКОМ микроконтроллера и имеет тот жс формат, что и выходной файл.
Если в результате трансляции не выдается сообщений об ошибках, можно приступать к отладке проекта. Режимы работы отладчика Как уже говорилось, АИс 5гийо позволяет производить отладку приложений с использованием встроенного программного симулятора или внешнего внутрисхемного эмулятора. Когда пользователь запускает АИ~ 5Гийо, программа проверяет наличие эмулятора на одном из последовательных портов компьютера. Если эмулятор найден, то он выбирается как базовая система отладки. Если эмулятор не найден, то отладка будет выполняться на встроенном программном симуляторе ЛЧК.
Внутрисхемный эмулятор позволяет производить отладку приложения на реальной целевой плате. Следует помнить, что в режиме реального времени эмулятор работает существенно быстрее, чем программный симулятор. Отметим еше раз, что независимо от режима работы отладчика, интерфейс АИс мийо не меняется. При переключении между различными режимами отладки все параметры среды сохраняются. Информация о текущем режиме отладчика выводится в строке состояния АИс 5гийо. Отладка проекта при помощи программного симулятора Для запуска отладчика необходимо выпо:шить процедуру Вш!д апд гоп, которая вызывается при нажатии на соответствующую кнопку на панели управления. Процедура Вш1д аш1 гцп выполняется в два этапа.
Сперва происходит трансляция входного ассемблерного файла, при которой независимо от установок проекта, кроме выходного файла заданного формата генерируется н объектный файл. Затсм этот объектный файл загружается в отладчик. Для совместимости с прежними версиями в АИс эгийо предусмотрен еше один вариант запуска отладчика — загрузка полученного в результате трансляции объектного файла (Е11е — > Ореп). Но ири этом пользователь не имеет возможности редактировать исходный текст программы непосредственно в отладчике.
Кроме того, следует помнить, что для Аппаратно-программные средства поддержки разработок того, чтобы транслятор сгенерировал необходимый для запуска отладчика объектный файл, нужно в окне установок проекта указать в качестве формата выходного файла транслятора ОЬ1есГ.
При первом для проекта запуске отладчика вызывается окно выбора целевого микроконтроллера (рис. П9.б). Рис. П9.6. Окно выбора целевого микроконтроллера В этом окне из списка выбирается нужный микроконтроллер (Рейсе), например АТтеда103, и тактовая частота процессорного ядра (Ггециепсу). Опции Меаюгу и АгсЫйесФиге при выборе стандартного устройства в окне не используются.
Это же окно может быть вызвано в процессе работы отладчика (Ор6опв — >Япш1аФог Ор6опв). Экран АП~ 5Уийо в режиме отладки представлен на рис. П9.7. 1"'ффффф~'".~+Ргггагг":~ф~:".'.' !: ' ' л~Игггтл.,:.-„дедр улжчмтге тли~~иь;.д, „.,:,. "~ж%кж,-~...~; '; Кввв%ии"-'...-'ящщвжя -,: г~в вщж",е=,.* ввгг-; Рис. П9,7. Экран А И~ Яиц в режиме отлацки 122 Приложения При выполнении процедуры Вш14 апд гоп (или при загрузке объектного файла) автоматически открывается окно исходного текста исполняемой микроконтроллером программы. В окне отображается код, который выполняется в отладочном окружении (эмуляторе или программнох симуляторе).
После выбора опций симулятора в левом поле окна ассемблерног программы появляется желтая стрелка, указывающая позицию программного счетчика микроконтроллера (рис. П9.8). Этот указатель всегд;. находится на строке, которая будет выполнена в следующем цикле. Рис. П9.8.
Окно исходного текста программы в режиме отладки Пользователь может выполнять программу полностью в пошаговом режиме, трассируя блоки функций или выполняя программу до тоге места, где стоит курсор. В дополнение можно определять неограниченное число точек останова, каждая из которых может быть включена или выключена. Точки останова сохраняются между сессиями работы.
В АГК 5гийо для отладки программы предусмотрены две команды пошагового режима: Мер Обжег и Тгасе 1пФо. Разница между ними в том. что команда Мер Обжег не работает в подпрограммах. С помощью команд пошагового режима можно проследить изменения значений в регистрах устройств ввода/вывода, памяти и регистрового файла. К командам шагового режима относятся также Аиро Мер и Мп16 Мер.
Выбрав в меню 1ЭеЬщ пункт 1ЭеЬад Ор6опя, можно установить в открывшемся окне параметры режимов АШо Мер и Ми16 Мер, а также некоторые другие опции симулятора, речь о которых пойдет ниже. Помимо пошагового режима, возможна отладка программы с использованием точек останова (Вгеа1ро1п1я). Командой бо запускается ис- 1гЗ Аппаратно-программные средства поддержки разработок полнение программы. Программа будет выполняться до остановки пользователем или до обнаружения точки останова. Для установки точки останова в АИ~ 5Гийо служит пункт меню ВгеайрошФя — >То~~т1е Вгеа1рош1. Точка останова ставится в строке, отмеченной курсором (рис.
П9.9). рис. П9.9. Точка останова в окне исходного текста программы в режиме отладки Красная отметка в левом поле окна исходного текста программы показывает установленную точку останова. В процессе отладки также можно выбрать пункт меню ОеЬп~ — > Кап То Сигяог. При выборе этого пункта исполняемый код будет выполняется до достижения команды, обозначенной курсором. При этом, если отладчик обнаруживает точку останова, установленную ранее положения курсора, то останов будет выполнен только в случае его разрешения в окне ОеЬид Орбоп, в противном случае выполнение не приостанавливается.
Если команда, обозначенная курсором, не достигается, отладчик продолжает исполнять код программы до тех пор, пока исполнение не будет прервано пользователем. Поскольку режим Кап То Сигяог зависит от позиции курсора, он доступен только при активном окне исходного текста. Для остановки исполнения программы пользователем служит команда ВгеаЕ. В состоянии останова эта команда недоступна. При отладке с использованием точек останова или если адрес останова указан курсором в окне исходного текста, модификация информации во всех окнах происходит только при достижении останова (или при прекращении исполнения программы пользователем). 124 Приложения Пункт менню ВеЬаф — > Кеве1 выполняет сброс микроконтроллера Если программа при этом выполняется, то ее исполнение будет остановлено.
После сброса информация во всех окнах модифицируется. Для наблюдения за работой программы можно открыть несколькс окон, отображающих состояние различных узлов микроконтроллера Окна открываются нажатием соответствующих кнопок на панели инструментов или при выборе соответствующего пункта меню У1еи'.
Регистровый файл микроконтроллера АЧК отображается в окне Ке~Ыегв (рис. П9.10). Если в процессе выполнения программы н очередном цикле значение какого-либо регистра изменится, то этот регистр будет выделен красным цветом. При этом, если в следующем цикле значение регистра останется прежним, то цветовое выделение будет снято. Такое же цветовое выделение реализовано в окнах устройств ввода/вывода, памяти и переменных. Рис. П9,10. Окно состояния регистрового файла.
Состояние встроенных периферийных устройств микроконтроллера отображено в окне 1/О Жшдочт (рис. П9.11). Рис. П9.11. Окно состояния устройств ввода вывода Аппаратно-программные средства поддержки разработок 125 В этом окне отражаются все функциональные блоки микроконтроллера. Любой блок может быть раскрыт нажатием на его значок. При раскрытии блока в окне отражаются адреса и состояния всех его регистров и отдельных, доступных для модификации битов (рис. П9.12). Каждый доступный для модификации бит может быть установлен или сброшен как программой по ходу ее исполнения, так и пользователем вручную (указав курсором мыши нужный бит и щелкнув левой кнопкой мыши, пользователь может изменить значение бита на обратное) в режиме программной симуляции это является способом имитации входного воздействия на микроконтроллер.
Рис. П9.12. Развернутый порт РОКТВ в окне устройств ввода/вывода Другим способом задания входного воздействия на микроконтроллер в режиме симулятора является использование внешних файлов входных воздействий. Формат файла входного воздействия очень прост: 000000000:00 000000039:01 000000040:00 9999999999:ГГ Здесь значение, указанное после разделителя ": ", — это шестнадцатеричное представление сигналов, воздействующих на порт микроконтроллера. Значение, указанное до разделителя, — это десятичный номер цикла (с момента сброса микроконтроллера), в котором указанное воздействие поступает на выводы порта микроконтроллера. Файл входного воздействия должен заканчиваться строкой с заведомо большим номером цикла, в противном случае будет выдано сообщение об ошибке. Для подключения файла входного воздействия служит пункт меню Ор6оы — >%пш1агог Рогг, $6пш11.