Кочегаров И.И. Микроконтроллеры AVR. Лабораторный практикум (2012) (1264221), страница 12
Текст из файла (страница 12)
Классификация средств отладки программного обеспеченияК аппаратным средствам отладки относятся аппаратные эмуляторы и проверочные модули.Аппаратные эмуляторы предназначены для отладки программного и аппаратного обеспечения микропроцессорных систем в режиме реального времени. Они работают под управлением «ведущего» компьютера, оснащенного специальным ПО – программамиотладчиками (см. ниже).
Основными видами аппаратных эмуляторовявляются:− внутрисхемные эмуляторы или эмуляторы-приставки, замещающие микропроцессор в отлаживаемой системе;− внутрикристальные эмуляторы, представляющие собой одноиз внутренних устройств микропроцессора.Внутрисхемный эмулятор (In-Circuit Emulator, ICE) – это устройство, содержащее аппаратный имитатор процессора и схемууправления имитатором. При отладке с помощью эмулятора микропроцессор извлекается из отлаживаемой системы, на его место подключается контактная колодка, количество и назначение контактовкоторой идентично выводам замещаемого микропроцессора (рис.
13).С помощью гибкого кабеля контактная колодка соединятся с эмулятором. Управление процессом отладки осуществляется с персонального компьютера. Эмуляторам-приставкам присущи следующие недостатки: высокая стоимость, недостаточная надежность, высокоеэнергопотребление, влияние на электрические характеристики цепей,к которым подключается эмулятор.70ПерсональныйкомпьютерВнутрисхемныйэмуляторМП-системаNЗамещаемыймикропроцессорПитаниеРис. 13.
Отладка с помощью внутрисхемного эмулятора:N – количество выводов процессораВнутрикристальные эмуляторы (On-Chip Emulator) позволяютпроводить отладку программ без извлечения микропроцессора изсистемы. При этом осуществляется непосредственный контроль завыполнением программы, так как средства внутрикристальной отладки обеспечивают прямой доступ к регистрам, памяти и периферии микропроцессора.
Наиболее распространенным средством внутрикристальной отладки является последовательный интерфейс IEEE1149.1, известный как JTAG (Joint Test Action Group – Объединеннаярабочая группа по автоматизации тестирования). Последовательныйотладочный порт JTAG микропроцессора с помощью специальногоустройства сопряжения подключается к компьютеру, чем обеспечивается доступ к отладочным средствам процессора (рис. 14). Такойспособ отладки также называют сканирующей эмуляцией.
Достоинствами этого способа являются возможность выполнения различныхдействий на процессоре без его изъятия из системы, использованиемалого числа выводов процессора и поддержка его максимальнойпроизводительности без изменения электрических характеристиксистемы [3].ПерсональныйкомпьютерУстройствосопряженияИнтерфейсJTAGМП-система4 (5)МПРис. 14. Отладка с помощью внутрикристального эмулятораПроверочные модули предназначены для быстрой отладки программного обеспечения в реальном масштабе времени. Проверочныемодули бывают двух видов: стартовые наборы и отладочные платы.Стартовые наборы (Starter Kit) предназначены для обучения работе с конкретным микропроцессором. Стартовый набор позволяетизучить характеристики микропроцессора, отладить не слишком71сложные программы, выполнить несложное макетирование, проверить возможность применения микропроцессора для решения конкретной задачи.
В состав стартового набора входят плата, ПО и комплект документации. На плате устанавливаются микропроцессор,устройство загрузки программ, последовательные или параллельныепорты, разъемы для связи с внешними устройствами и другие элементы. Плата подключается к компьютеру через параллельный илипоследовательный порт.
Стартовые наборы удобны на начальномэтапе работы с микропроцессором.Отладочные платы (Evaluation Board) предназначены для проверки разработанного алгоритма в реальных условиях. Они позволяют проводить отладку и оптимизацию алгоритма с использованиемустановленной на плате периферии, а также изготовить на базе платызаконченное устройство.
Обычно на плате размещаются микропроцессор, схемы синхронизации, интерфейсы расширения памяти и периферии, схема электропитания и др. Плата подключается к компьютеру через параллельный или последовательный порт или непосредственно устанавливается в слот PCI.Основными программными средствами отладки являютсясимуляторы и отладчики.Симуляторы (simulator) или симуляторы системы командпредставляют собой программы, имитирующие работу того или иного процессора на уровне его команд.
Симуляторы обычно используются для проверки программы или ее отдельных частей перед испытанием на аппаратных средствах.Отладчики (debugger) представляют собой программы, предназначенные для анализа работы созданного программного обеспечения. Можно указать следующие возможности отладчиков.Пошаговое выполнение. Программа выполняется последовательно, команда за командой, с возвратом управления отладчику после каждого шага.Прогон.
Выполнение программы начинается с указанной команды и осуществляется без остановки до конца программы.Прогон с контрольными точками. При выполнении программыпроисходит останов и передача управления отладчику после выполнения команд с адресами, указанными в списке контрольных точек.Просмотр и изменение содержимого регистров и ячеек памяти. Пользователь имеет возможность выводить на экран и изменять(модифицировать) содержимое регистров и ячеек памяти.72Отладчики ПО встраиваемых микропроцессоров обычно используются совместно с внутрисхемными или внутрикристальнымиэмуляторами, а также могут работать в режиме симулятора. Некоторые отладчики позволяют также выполнять профилирование, т.е.
определять действительное время выполнения некоторого участка программы. Иногда функцию профилирования выполняет специальнаяпрограмма – профилировщик (profiler).Средства отладки ПО AVR-микроконтроллеров. Аппаратныесредства отладки программного обеспечения AVR-микроконтроллеров представлены внутрисхемным эмулятором ICE50, внутрикристальным эмулятором JTAG ICE, а также стартовым наборомSTK500.К программным средствам отладки ПО AVR-микроконтроллеров относятся отладчик и симулятор, входящие в состав средыAVR Studio. Отладчик среды AVR Studio позволяет проводить отладку программ как в исходных кодах (например, ассемблера), так ив кодах дизассемблера (оттранслированной или скомпилированнойпрограммы, записанной с помощью мнемоник ассемблера).
Вызовокна с кодом дизассемблера производится командой Disassembler меню View или командой Goto Disassembly контекстного меню редактораисходного текста. Обратное переключение в окно исходного текстаосуществляется командой Goto Source контекстного меню окна Disassembler.Отладчик среды AVR Studio может использоваться с внутрисхемным эмулятором ICE50, внутрикристальным эмулятором JTAGICE, отладочной платой STK500 или симулятором. Указание способаотладки производится при создании проекта. Симулятор среды AVRStudio предназначен для предварительной отладки программ безприменения аппаратных средств.
В дальнейшем в настоящем лабораторном практикуме для отладки создаваемых программ предполагается применение отладчика среды AVR Studio в режиме симулятора.Отладка ПО в среде AVR Studio. Команды отладчика в программе AVR Studio находятся в меню Debug.Переход в режим отладчика в среде AVR Studio осуществляется автоматически при использовании для трансляции программы команды Build and Run или командой Start Debugging меню Debug при использовании для трансляции команды Build. Выход из режима отладчика производится командой Stop Debugging меню Debug.Пошаговое выполнение программы задается командами Step Into,Step Over меню Debug. Команда Step Into позволяет выполнить одну73команду программы (в том числе команду вызова подпрограммы).Для завершения выполнения подпрограммы может использоватьсякоманда Step Out. Команда Step Over также выполняет одну командупрограммы, но если это команда вызова подпрограммы, последняяполностью выполняется за один шаг.
Следующая выполняемая команда (команда, адрес которой содержится в программном счетчике)обозначается символом в окне исходного текста программы. Сбросвыполнения программы осуществляется с помощью команды Reset.Прогон (запуск или продолжение выполнения) программыосуществляется командой Run. Для остановки выполнения программы служит команда Break.Контрольные точки представляют собой специальные маркерыдля программы-отладчика и могут быть трех типов: точки останова,точки трассировки и точки наблюдения.Точки останова задаются командой Toggle Breakpoint меню Debugили контекстного меню редактора исходного текста программы.
Точка останова обозначается в редакторе исходного текста символомслева от помечаемой строки. Просмотреть заданные точки остановаможно на закладке Breakpoints окна Output; там же точки остановамогут быть запрещены (путем сброса флажка напротив точки останова) и разрешены (путем установки флажка). При достижении точки останова во время прогона программы ее выполнение приостанавливается. Повторный вызов команды установки точки останова натой же строке программы приводит к удалению точки останова. Удалить все заданные точки останова позволяет команда Remove Breakpoints меню Debug или команда Remove all Breakpoints контекстного меню закладки Breakpoints окна Output.
Параметры точки остановазадаются в диалоговом окне Breakpoint Condition, вызов которогоосуществляется командой Breakpoints Properties контекстного меню редактора исходного текста программы. Установка флажка Iterationsпозволяет задать количество итераций (повторных выполнений) команды до останова прогона программы. При установке флажкаWatchpoint по достижению точки останова производится только обновление значений регистров и ячеек памяти в окнах просмотра.Флажки Iterations и Watchpoint не должны устанавливаться одновременно.
Установка флажка Show message обеспечивает отображение сообщений о достижении точки останова на закладке Breakpoints окна Output. Вызов диалогового окна задания свойств и удаление точки останова могут быть произведены из контекстного менюзакладки Breakpoints окна Output.74Точки трассировки предназначены для контроля выполненияпрограммы в режиме реального времени. Трассировка позволяет отслеживать так называемую трассу программы – изменение содержимого регистров и ячеек памяти при выполнении определенных команд (команд, по адресам которых заданы точки трассировки).