Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование МПС(лаб.метод).doc
Скачиваний:
104
Добавлен:
10.02.2016
Размер:
1.39 Mб
Скачать

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). Именно он будет служить источником данных при прошивке программы в программную память микроконтроллера.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.