Программный пакет AVR Studio

 

Популярность микроконтроллеров AVR способствовала тому, что многие фирмы-производители программных средств поддержки микроконтроллеров (ассемблеров, компиляторов, отладчиков) создали программные пакеты поддержки AVR. Данный раздел знакомит с основным программным пакетом – AVR Studio, предлагаемым самой фирмой Atmel.

AVR Studio – это интегрированная отладочная среда разработки приложений (IDE) для микроконтроллеров семейства AVR (AT90S, ATmega, ATtiny) фирмы Atmel.

IDE AVR Studio содержит:

· транслятор языка ассемблера (Atmel AVR macroassembler);

· отладчик (Debugger);

· программное обеспечение верхнего уровня для поддержки внутрисхемного программирования (In-System Programming, ISP).

Отладчик AVR Studio поддерживает все типы микроконтроллеров AVR и имеет два режима работы: режим программной симуляции и режим управления различными типами внутрисхемных эмуляторов (In-Circuit Emulators) производства фирмы Atmel. Важно отметить, что интерфейс пользователя не изменяется в зависимости от выбранного режима отладки.

После запуска AVR Studio для создания нового проекта необходимо в меню Project выбрать команду New Project. В результате на экране появляется диалоговое окно (рис. 3.1), в котором необходимо ввести название проекта (Project name) и его расположение (Location). Новый проект удобнее создавать в отдельной папке.

Далее выбирается AVR Simulator.В левомокне выбирается тип микроконтроллера. После нажатия кнопки Finish на экране появляется окно организации проекта (рис. 3.2), показывающее все связанные с проектом файлы и окно для редактирования программы.

 

 

Рис. 3.1 – Окно создания нового проекта

 

 

 

Рис. 3.2 – Окно организации проекта

 

В это окно для редактирования файла можно с клавиатуры ввести текст программы на языке ассемблера или открыть уже существующий файл (пункт Add Fail в меню Project) (рис.3.3).

Еще один способ создания проекта: в меню Fail выбираем Open Fail, подключаем уже созданный файл программы. Далее можно транслировать программу.

 

 

Рис. 3.3 – Окно редактирования программы на языке ассемблера

 

Созданный (или найденный) таким образом файл будет помещен в группу Assembler в окне организации проекта. Подобным же образом можно подключить к проекту и другие ассемблерные файлы, но группа Assembler может содержать только один файл, с которого в дальнейшем будет начинаться трансляция проекта. Назовем этот файл входным ассемблерным файлом проекта. Значок этого файла в окне организатора проекта отмечен красной стрелкой вправо, все другие файлы проекта будут отмечены синими стрелками, направленными вниз. Все файлы проекта должны быть включены во входной файл проекта с помощью ассемблерной директивы .include. Для смены входного файла проекта на другой надо установить курсор мыши на нужный файл в окне организации проекта и щелкнуть правой кнопкой мыши. В открывшемся всплывающем окне надо указать этот файл как Assembler entry file.

Для осуществления трансляции программы и проверки правильности её написания выбирается пункт Build (кнопка F7) в меню Project. Окно View Output содержит сообщения ассемблера. В это окно выводится информация о количестве слов кода и данных, о наличии ошибок, и другая информация (рис. 3.4).

 

 

Рис. 3.4 – Окно сообщений ассемблера

 

Для локализации ошибок трансляции в случае их наличия можно в окне сообщений ассемблера установить курсор мыши на сообщение об ошибке и два раза щелкнуть левой кнопкой мыши. При этом в окне редактирования исходного текста программы курсор будет установлен на строку, вызвавшую сообщение об ошибке, и эта строка будет выделена цветом.

В результате трансляции создается выходной файл в указанном формате. Если исходный ассемблерный текст содержал сегмент энергонезависимых данных (объявленный директивой .eseg), то при трансляции будет создан также файл с расширением .eep. Этот файл содержит данные для внутренней EEPROM микроконтроллера и имеет тот же формат, что и выходной файл. Если в результате трансляции не выдается сообщений об ошибках, можно приступать к отладке проекта.

 

Для запуска отладчика необходимо выполнить процедуру Build and Run, которая вызывается при нажатии на соответствующую кнопку (F7+Ctrl) на панели управления. Процедура Build and Runвыполняется в два этапа. Сперва происходит трансляция входного ассемблерного файла, при которой независимо от установок проекта, кроме выходного файла заданного формата генерируется и объектный файл. Затем этот объектный файл загружается в отладчик.

Экран AVR Studio в режиме отладки представлен на рис. 3.5.

 

 

Рис. 3.5 – Экран AVR Studio в режиме отладки

 

При выполнении процедуры Build and run(или при загрузке объектного файла) автоматически открывается окно исходного текста исполняемой микроконтроллером программы.

После выполнения процедуры появляется желтая стрелка, указывающая позицию программного счетчика микроконтроллера (рис. 3.6). Этот указатель всегда находится на строке, которая будет выполнена в следующем цикле.

Пользователь может выполнять программу полностью в пошаговом режиме, трассируя блоки функций, или выполняя программу до того места, где стоит курсор. В дополнение можно определять неограниченное число точек останова, каждая из которых может быть включена или выключена. Точки останова сохраняются между сессиями работы.

В AVR Studio для отладки программы предусмотрены две команды пошагового режима: Step Over и Step Into. Разница между ними в том, что команда Step Over не работает в подпрограммах. С помощью команд пошагового режима можно проследить изменения значений в регистрах устройств ввода/вывода, памяти и регистрового файла. К командам шагового режима относятся также Auto Step и Multi Step. Помимо шагового режима, возможна отладка программы с использованием точек останова (Breakpoints). Командой Go запускается исполнение программы. Программа будет выполняться до остановки пользователем или до обнаружения точки останова.

 

 

Рис. 3.6 – Окно исходного текста программы в режиме отладки

 

Для установки точки останова в AVR Studio служит пункт меню Debug -> Toggle Breakpoint. Точка останова ставится в строке, отмеченной курсором (рис. 3.7).

 

Рис. 3.7 – Точка останова в окне исходного текста

программы в режиме отладки

Красная отметка в левом поле окна исходного текста программы показывает установленную точку останова.

В процессе отладки также можно выбрать пункт меню Debug -> Run To Cursor (Ctrl+F10). При выборе этого пункта исполняемый код выполняется до достижения команды, обозначенной курсором. При этом, если отладчик обнаруживает точку останова, установленную ранее положения курсора, то останов будет выполнен только в случае его разрешения в окне Debug Option, в противном случае выполнение не приостанавливается. Если команда, обозначенная курсором, не достигается, отладчик продолжает исполнять код программы до тех пор, пока исполнение не будет прервано пользователем. Поскольку режим Run To Cursor зависит от позиции курсора, он доступен только при активном окне исходного текста.

Для остановки исполнения программы пользователем служит команда Break (Ctrl+F5). В состоянии останова эта команда недоступна. При отладке с использованием точек останова, или если адрес останова указан курсором в окне исходного текста, модификация информации во всех окнах происходит только при достижении останова (или при прекращении исполнения программы пользователем).

Пункт меню Debug -> Reset (Shift+F5) выполняет сброс микроконтроллера. Если программа при этом выполняется, то ее исполнение будет остановлено. После сброса информация во всех окнах модифицируется.

Для наблюдения за работой программы можно открыть несколько окон, отображающих состояние различных узлов микроконтроллера. Окна открываются нажатием соответствующих кнопок на панели инструментов или при выборе соответствующего пункта меню View.

Регистровый файл микроконтроллера AVR отображается в окне Work space (вкладка I/O, рис. 3.8), а также можно открыть отдельное окно Registers (рис. 3.9). Если в процессе выполнения программы в очередном цикле значение какого-либо регистра изменится, то этот регистр будет выделен красным цветом. При этом если в следующем цикле значение регистра останется прежним, то цветовое выделение будет снято. Такое же цветовое выделение реализовано в окнах устройств ввода/вывода, памяти и переменных.

 

Рис. 3.8 – Окно состояния регистрового файла

 

 

 

Рис. 3.9 – Окно I/O WorkSpace

 

Также в окне I/O WorkSpace отображается состояние встроенных периферийных устройств микроконтроллера (рис. 3.10).

 

 

 

Рис. 3.10 – Окно состояния устройств ввода/вывода

 

 
 

Рис. 3.11 – Развернутый порт PORTA и отображение

регистров EEPROM, JTAG, MISC

В этом окне отражаются все функциональные блоки микроконтроллера. Любой блок может быть раскрыт нажатием на его значок. При раскрытии блока в окне отражаются адреса и состояния всех его регистров и отдельных, доступных для модификации, битов (рис. 3.11). Каждый доступный для модификации бит может быть установлен или сброшен как программой по ходу ее исполнения, так и пользователем вручную (указав курсором нужный бит и щелкнув левой кнопкой мыши пользователь может изменить значение бита на обратное) – в режиме программной симуляции это является способом имитации входного воздействия на микроконтроллер.

Для индикации состояния программного счетчика, указателя стека, содержимого регистра статуса SREG и индексных регистров X, Y и Z в процессе отладки программы предназначена вкладка Processor в окне I/O WorkSpace (рис. 3.12).

 

 

Рис. 3.12 – Окно состояния процессорного ядра

В этом же окне отображается текущее время выполнения программы и тактовая частота ядра микроконтроллера.

Просмотр ячеек памяти программ, памяти данных, EEPROM и регистров портов ввода/вывода в ходе исполнения программы осуществляется также с помощью диалогового окна Memory. Падающее меню диалогового окна позволяет выбрать один из четырех массивов ячеек памяти: Data, IO, Eeprom, Program Memory. Для одновременного просмотра нескольких областей окно Memory может быть открыто несколько раз. Информация в диалоговом окне может быть представлена в виде байтов или в виде слов в шестнадцатеричной системе счисления, а также в виде ASСII-символов (рис. 3.13).

 

 

Рис. 3.13 – Окно просмотра содержимого памяти

 

Чтобы внести изменения в ячейке памяти достаточно дважды щелкнуть мышкой по данной ячейке.

Для внесения изменений в программу в процессе отладки необходимо редактировать её исходный текст. При попытке запуска симулятора на исполнение программы после редактирования на экране появляется окно, сообщающее об изменении программы и необходимости её компиляции.

Для сохранения проекта необходимо воспользоваться пунктом меню Project -> Close. При закрытии проекта сохраняются все его настройки. Во время следующей загрузки настройки будут автоматически восстановлены.

Работая с программным симулятором пакета AVR Studio, следует помнить, что он пока не поддерживает некоторые режимы работы микроконтроллеров AVR и их периферийные узлы:

· аналого-цифровой преобразователь;

· аналоговый компаратор;

· режим часов реального времени;

· режим пониженного электропотребления (инструкция «sleep» интерпретируется программным симулятором как «nop»).








Дата добавления: 2016-01-09; просмотров: 1375;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.023 сек.