Разработка программной и аппаратной поддержки к методическим указаниям Программирование микроконтроллеров
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: сочинения по русскому языку, культурология
| Добавил(а) на сайт: Случевский.
Предыдущая страница реферата | 13 14 15 16 17 18 19 20 21 22 23 | Следующая страница реферата
Существует пара команд для одиночного пошагового выполнения программы.
Это «Trace into» /F11/ и «Step Over» /F10/ из меню «Debug» (см. рис. 3.7).
Отличие состоит в том, что «Trace into» при вызове подпрограммы входит в
неё в пошаговом режиме, т.е. можно отследить каждую команду по отдельности;
а «Step Over» выполняет подпрограмму целиком и продолжает выполнение в
пошаговом режиме со следующей команды после вызова подпрограммы, т.е. как
бы «обходит» подпрограмму. Наш пример не содержит подпрограмм, поэтому
различие заметно не будет.
Дойдя до последней строчки программы, следует обратить внимание на
изменение цвета регистров порта В. Те регистры, которые в последнем шаге
трассировки поменяли свое значение, становятся красными, остальные –
черные. Это облегчает наблюдать за теми регистрами ввода/вывода, которые
меняют свое значение при трассировке. Продолжая трассировку (нажимая /F11/
) можно наблюдать как регистры порта В меняют свое значение –
инкрементируются.
Рис. 3.12. Добавление точки останова.
Добавляя точки останова, мы можем выполнять программу с максимальной скоростью, останавливаясь лишь там, где установлены точки останова.
Установив, курсор на нужном месте и нажав , или вызвав контекстное меню и нажав команду «Toggle Breakpoint» можно лег?о установить точку останова (см. рис. 3.12). Повторное нажатие приведет к её снятию. Красный квадратик на полоске слева как раз и обозначает точку останова. В данном примере точка останова установлена для демонстрации увеличения скорости выполнения программы. Когда не было точки останова нам требовалось трижды нажимать чтобы совершить один цикл (loop:). Установив же точку останова на команде “rjmp loop” и запустим программу на выполнение через меню «Debug» команда «Go» или нажмем (см. рис. 3.7), остановка произойдет лишь в точке останова и таким образом для одного цикла потребуется всего лишь одно нажатие . Это реальный пример ускорения отладки программы.
Предположим нам надо чтобы регистр порта В не инкрементировался, а
декрементировался во время выполнения программы. Для этого немного изменим
код программы. В окне исходного кода программы строчку "inc temp" изменим
на "dec temp" (см. рис. 3.13). Если теперь продолжить выполнение программы
(нажать или или ), то AVR Studio выдаст диалоговое окно, которое информирует об изменение исходного файла и спрашивает, нужно ли
перекомпилировать проект. Следует нажать «Yes».
Рис. 3.13. Изменение исходного кода программы и перекомпиляция проекта.
После перекомпиляции указатель счетчика команд будет установлен в начало на первую команду. Заметим, что установленные точки останова остаются без изменения.
«Смотровое» окно.
Для наблюдения за переменными, а точнее за их значениями удобно
использовать «Смотровое» окно (Watch window). Открыть его можно использовав
комбинацию клавиш «Alt» + «1» или вызвав меню «View» команду «Watch»
(см. рис. 3.9) или нажав кнопку на панели инструментов – .
Переменные, которые определены с помощью макроса “.DEF” могут быть помещены в «Смотровое» окно несколькими способами. Выделив нужную переменную ее можно просто перетащить в «Смотровое» окно или в меню «Watch» нажать команду «Add Watch» или на панели инструментов нажать кнопку –
.
В данной программе только переменная “temp” является таковой. Ее мы и можем увидеть на рис. 3.14.
Рис. 3.14. Смотровое окно.
Во время пошагового выполнения программы можно наблюдать, как меняется наша переменная “temp”. Заметим, что данное окно также позволяет пользователю изменять значения переменных, т.е. непосредственно влиять на ход выполнения программы, облегчая отладку.
Рис. 3.15. Окно процессора.
Окно процессора.
Теперь понаблюдаем за окном процессора. Откроем его, нажав «Alt» + «3»
(см. рис. 3.9) или щелкнув по иконки – . Это окно (см. рис. 3.15.)
предоставляет определенную информацию о выполнении программы включая
Счетчик Команд (Program Counter), Указатель Стека (Stack Pointer),флаги
регистра состояния (Flags), Счетчик Циклов (Cycle Counter) и др.
Очень полезными для оценки длинны циклов или времени выполнения подпрограммы могут оказаться «Cycle Counter» и «StopWatch». Хоть в данном примере мы практически не используем это окно, оно все же играет очень важную роль в отладки программы.
Перед закрытием проекта необходимо его сохранить. AVR Studio запомнит расположение окон и использует эти установки при следующем запуске проекта.
3.2. Анализ методики реализации разработки программного обеспечения
3.2.1. Классификация вариантов заданий
Цель заданий – практическое освоение методики программирования на ассемблере микроконтроллеров ATMEL семейства AVR, отладка программы на симуляторе AVR Studio и программирование кристалла с помощью программатора расположенного в системе макета. Примеры заданий могут использоваться не только как для проверки знаний и навыков по программированию, но и для наглядного объяснения архитектуры при чтении теоретического материала.
После изучения теоретического материала, а именно: архитектуры МК, аппаратных и программных средств, основных типов интерфейсов, системы команд и симулятора МК, можно приступить к практической реализации различных задач на основе МК.
Именно написание программ и умение их объяснить является критерием понимания архитектуры МК, а также критерием способности использовать данную архитектуру в сочетании с программированием (ассемблером).
Рекомендуем скачать другие рефераты по теме: социальная работа реферат, изложение язык.
Категории:
Предыдущая страница реферата | 13 14 15 16 17 18 19 20 21 22 23 | Следующая страница реферата