- •Вступление
- •1 Программная среда avr Studio
- •1.1 Общие сведения
- •1.1.1 Отладка программы
- •1.1.2 Программный отладчик
- •1.1.3 Аппаратный отладчик
- •1.1.4 Полнофункциональные программные имитаторы электронных устройств
- •1.1.5 Внутренний отладчик микроконтроллеров avr
- •1.1.6 Программная среда «avr Studio»
- •1.2 Описание интерфейса. Главная панель программы «avr Studio»
- •1.3 Создание проекта
- •1.4 Трансляция программы
- •1.4.1 Форматы файлов
- •1.4.2 Формат нех-файла
- •1.4.3 Процедура трансляции
- •1.5 Отладка разрабатываемой программы
- •1.5.1 Ошибки алгоритма и его реализации
- •1.5.2 Этапы процесса отладки
- •1.5.3 Применение точек останова
- •1.5.4 Просмотр и изменение содержимого введенных переменных
- •1.6 Исправление ошибок
- •2. Лабораторные работы
- •2.1 Лабораторная работа №1
- •1 Принципиальная электрическая схема
- •2 Алгоритм
- •3 Программа на Ассемблере
- •4 Директивы
- •5 Операторы
- •6 Описание программы (листинг 1.1)
- •7 Задания для самостоятельной работы
- •8 Задания к лабораторной работе
- •9 Содержание отчета
- •2.2 Лабораторная работа №2
- •1 Принципиальная электрическая схема
- •2 Алгоритм
- •Программа на Ассемблере
- •3 Описание программы (листинг 2.1)
- •4 Задания для самостоятельной работы
- •1 Постановка задачи
- •2 Схема
- •3 Алгоритм
- •4 Программа на Ассемблере
- •5 Описание программы (листинг 3.1)
- •6 Задания для самостоятельной работы
- •7 Задания к лабораторной работе
- •8 Содержание отчета
- •9 Контрольные вопросы
- •3. Сводная таблица команд Ассемблера микроконтроллеров avr
- •Проектирование микропроцессорных систем
- •65044, Украина, Одесса, пр. Шевченко, 1
- •65044, Украина, г.Одесса, пр. Шевченко, 1, корп. 5
1.1.5 Внутренний отладчик микроконтроллеров avr
Еще один аппаратный способ отладки заложен конструктивно в некоторые модели микроконтроллеров AVR. В частности, микроконтроллер ATiny2313 поддерживает такой способ отладки.
Для обеспечения возможности аппаратной отладки такие микроконтроллеры имеют, во-первых, специальную однопроводную линию debugWIRE, которая обычно совмещена с входом RESET. Эта линия используется специальной платой — отладчиком для управления микроконтроллером в процессе отладки. Кроме того, в систему команд такого микроконтроллера включена команда break, которая может использоваться для создания программных точек останова.
Для того, чтобы использовать подобный режим отладки, необходимо иметь в своем распоряжении специальную отладочную плату, которая должна поддерживать этот режим. Кроме того, подобный режим должна поддерживать и инструментальная программа-отладчик.
В процессе отладки программист проставляет на экране компьютера в нужных местах отлаживаемой программы точки останова. Затем он запускает эту программу под управлением отладчика. Отладчик автоматически вставляет в отлаживаемую программу команды break в тех местах, где программист поставил точки останова. А команды, которые должны быть записаны в месте вставки команд break, запоминает в своей памяти.
Затем он автоматически «прошивает» полученный таким образом текст программы в программную память отлаживаемого микроконтроллера и запускает ее в работу. Микроконтроллер выполняет заложенную в него программу до тех пор, пока не встретится команда break. Получив эту команду, микроконтроллер приостанавливает выполнение программы и передает управление отладчику.
Далее отладчик управляет микроконтроллером при помощи интерфейса debugWIRE. Этот интерфейс позволяет считать содержимое всех регистров микроконтроллера и других видов памяти. Прочитанная информация отображается на экране компьютера. Затем отладчик ждет команд от оператора. Под управлением отладчика микроконтроллер может принудительно выполнить любую команду из своей системы команд.
Это дает возможность легко реализовать пошаговое выполнение программы, а также выполнение тех команд, которые были заменены на break. Все управление осуществляется посредством интерфейса debugWIRE, который позволяет передавать информацию как от отладчика в микроконтроллер, так и в обратном направлении.
Преимуществом такого способа отладки является то, что в данном случае происходит не имитация микроконтроллера, а используется реальная микросхема. При этом работа в режиме отладки наиболее, полно приближается к реальному режиму работы.
Недостаток – частое «перешивание» программной памяти микро-контроллера. Изменять содержимое этой памяти приходится каждый раз при установке новых или снятии старых точек останова. Если учесть, что допустимое количество перезаписи программной памяти составляет 10000 циклов, то при длительном процессе отладки это количество может исчерпаться, и микросхема выйдет из строя.
1.1.6 Программная среда «avr Studio»
Фирма Atmel, разработчик микроконтроллеров AVR, очень хорошо позаботилась о сопровождении своей продукции. Для написания программ, их отладки, трансляции и прошивки в память микроконтроллера фирма разработала и бесплатно распространяет специализированную среду разработчика под названием «AVR Studio». Инсталляционный пакет этой инструментальной программы можно свободно скачать с сайта фирмы. Адрес страницы для скачивания программ:
http://www.atmel.ru/Software/Software.htm.
Программная среда «AVR Studio» – это мощный современный программный продукт, позволяющий производить все этапы разработки программ для любых микроконтроллеров серии AVR. Пакет включает в себя специализированный текстовый редактор для написания программ, мощный программный отладчик.
Кроме того, «AVR Studio» позволяет управлять целым рядом подключаемых к компьютеру внешних устройств, позволяющих выполнять аппаратную отладку, а также программирование («прошивку») микросхем AVR.
Познакомимся подробнее с этим удобным программным инструментом для программистов. Программная среда «AVR Studio» работает не просто с программами, а с проектами. Для каждого проекта должен быть отведен свой отдельный каталог на жестком диске. В AVR Studio одновременно может быть загружен только один проект.
При загрузке нового проекта предыдущий проект автоматически выгружается. Проект содержит всю информацию о разрабатываемой программе и применяемом микроконтроллере. Он состоит из целого набора файлов.
Главный из них — файл проекта. Он имеет расширение aps. Файл проекта содержит сведения о типе процессора, частоте тактового генератора и т. д. Он также содержит описание всех остальных файлов, входящих в проект. Все эти сведения используются при отладке и трансляции программы.
Кроме файла aps, проект должен содержать хотя бы один файл с текстом программы. Такой файл имеет расширение asm. Недостаточно просто поместить файл asm в директорию проекта. Его нужно еще включить в проект. Как это делается, мы увидим чуть позже. Проект может содержать несколько файлов asm. При этом один из них является главным. Остальные могут вызываться из главного при помощи оператора .include. На этом заканчивается список файлов проекта, которые создаются при участии программиста.
Но типичный проект имеет гораздо больше файлов. Остальные файлы проекта появляются в процессе трансляции. Если ваша программа не содержит критических ошибок и процесс трансляции прошел успешно, то в директории проекта автоматически появляются следующие файлы: файл, содержащий результирующий код трансляции в hex формате, файл mар, содержащий все символьные имена транслируемой программы со своими значениями, листинг-трансляции (lst) и другие вспомогательные файлы. Однако для нас будет важен лишь hex-файл (файл с расширением hex). Именно он будет служить источником данных при прошивке программы в программную память микроконтроллера.