курсовой проект / микроЭВМ на PIC16C84 / -Art_17_novoch
.pdfДедегкаев В.Е., Менский В.В.
УСТРОЙСТВО ОТЛАДКИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ
Аннотация: Разрабатываемый внутрисхемный эмулятор предназначен для рабо- ты под управлением IBM PC — совместимого персонального компьютера и позволяет производить отладку систем на базе широкого спектра микроконтроллеров, а также ис- пользовать прибор в качестве эмулятора ПЗУ (до 64 Кбайт).
В настоящее время наблюдается взрывной рост объёмов производст- ва изделий на основе микропроцессорных технологий, постоянно появля- ются новые области для их применения. Микропроцессорные системы с достаточной долей условности можно разделить на универсальные и спе- циализированные. Универсальные микропроцессорные системы (компью- теры) предназначены в основном для выполнения математических расчё- тов и обработки информации. Соответственно, главной характеристикой таких систем является отношение цены и производительности. Их аппа- ратная часть имеет ограниченное число разновидностей, они хорошо стан- дартизированы и изготавливаются на основе классических микропроцес- соров, поэтому отладочные средства применяются здесь лишь для разра- ботки программного обеспечения.
Иная ситуация складывается в области специализированных (встраи- ваемых) систем. Поскольку эти системы предназначены в основном для управления различными процессами и находят применение в самых разно- образных устройствах, в том числе изделиях массового производства, здесь определяющими факторами являются стоимость изготовления и экс- плуатации, эргономичность, надёжность. В целях обеспечения этих харак- теристик необходимо разрабатывать аппаратное и программное обеспече- ние таких систем в соответствии с требованиями задачи, поэтому они про- ектируются, как правило, на основе различных микроконтроллеров, число разновидностей которых составляет несколько тысяч. Кроме того, при не- обходимости в систему включают дополнительные устройства (память, порты, таймеры), а также схемы сопряжения с датчиками, индикаторами и пр. Всё это требует использовать средства комплексной отладки, то есть средства, позволяющие производить совместную отладку программного и аппаратного обеспечения [1].
К числу основных инструментальных средств отладки относятся:
•Внутрисхемные эмуляторы;
•Программные симуляторы;
•Платы развития (оценочные платы);
•Мониторы отладки;
•Эмуляторы ПЗУ;
•Интегрированная среда разработки.
Данный список не исчерпывает всех типов существующих инстру- ментальных средств отладки. Кроме указанных, существуют и комбиниро- ванные устройства, и наборы, которые позволяют компенсировать недос- татки основных средств, взятых порознь.
Внутрисхемный эмулятор — программно аппаратное средство, спо- собное замещать собой эмулируемый процессор в реальной схеме. Внут- рисхемный эмулятор — это наиболее мощное и универсальное отладочное средство. По сути дела, "хороший" внутрисхемный эмулятор делает про- цесс функционирования отлаживаемого контроллера прозрачным, т.е. лег- ко контролируемым, произвольно управляемым и модифицируемым по воле разработчика.
Разрабатываемый внутрисхемный эмулятор предназначен для работы под управлением IBM PC — совместимого персонального компьютера. Эмулятор подключается к параллельному порту компьютера (порт должен поддерживать режим двунаправленной передачи данных EPP).
Структурная схема приведена на рис.1. Прибор состоит из двух мо- дулей — базового и сменного. В состав базового модуля входит блок управления, память программ/данных, память точек останова, блок карты памяти, блок обмена данными, а также буферные элементы. Таким обра- зом, в базовом модуле сосредоточены все необходимые для эффективной эмуляции блоки. Это позволяет значительно упростить схемотехнику и конструкцию сменных модулей. В состав сменного модуля входят лишь целевой микроконтроллер и генератор тактовых импульсов. В некоторых случаях могут понадобиться дополнительные буферные и логические эле- менты. Такое конструктивное решение позволяет производить отладку систем на базе широкого спектра микроконтроллеров, а также использо- вать прибор в качестве эмулятора ПЗУ (до 64 Кбайт).
В начале сеанса отладки происходит инициализация эмулятора. При этом разрешается доступ с ЭВМ к памяти программ/данных и точек оста- нова, а также к блоку карты памяти. Пользователь вводит и редактирует программу, предназначенную для отладки, пользуясь средствами инстру- ментальной ЭВМ. После редактирования, при помощи блока управления и буферного элемента, программа пользователя заносится в память про- грамм/данных эмулятора. Туда же записывается системная программа – монитор, предназначенная для управления процессом обмена данными между инструментальной ЭВМ и отлаживаемой системой. В память точек останова заносится информация об установленных пользователем кон- трольных точках, в которых микроконтроллеру необходимо прервать вы- полнение программы и передать данные о состоянии ресурсов отлаживае- мой системы на инструментальную ЭВМ. Блок карты памяти предназначен для хранения информации о распределении адресов памяти про- грамм/данных между отлаживаемой системой и эмулятором.
После записи всей необходимой для эмуляции информации управле- ние передается целевому микроконтроллеру. При этом буфер, связываю- щий устройство с инструментальной ЭВМ переводится в третье состояние,
а другой буфер переводится из третьего состояния в активное. Таким обра- зом, микроконтроллер получает доступ к памяти программ/данных и начи- нает выполнение программы пользователя.
|
|
Память |
|
|
Буфер |
программ/ |
Буфер |
|
|
данных |
|
|
Блок |
Память |
МП/ |
ЭВМ |
обмена |
точек |
МК |
данными |
останова |
|
|
|
|
||
|
Блок |
Блок |
Тактовый |
|
управ- |
|
|
|
карты |
генератор |
|
|
ления |
памяти |
|
|
|
|
Рис. 1. Структурная схема отладочного устройства
Программа пользователя может выполняться в одном из трех режи- мов – реального времени, пошаговом и с точками останова. При выполне- нии в режиме реального времени программа выполняется полностью адек- ватно целевой системе без эмулятора. Остановов в контрольных точках при этом не происходит (однако возможен останов выполнения по жела- нию пользователя). В режиме с точками останова пользовательская про- грамма запускается аналогично режиму реального времени, однако разре- шается отслеживание контрольных точек. По ходу выполнения микрокон- троллер выставляет на внешнюю шину текущий адрес и, как только он совпадает с адресом точки останова, на микроконтроллер подается сигнал прерывания. Вектор прерывания настроен на переход к монитору. Под управлением монитора происходит обмен данными (в управляющую ЭВМ поступает информация о состоянии внутренних регистров и ячеек памяти отлаживаемой системы, при необходимости, ЭВМ их изменяет и записы- вает новые значения в отлаживаемую систему). В пошаговом режиме про- грамма пользователя выполняется последовательно по одной команде. Между выполнением команд программы пользователя происходят вызовы монитора.
Программное обеспечение для эмулятора разработано на основе мно- гофункционального отладчика Inter, который позволяет в многооконной,
интерактивной среде набирать ассемблерные программы пользователя и проводить символьную отладку.
Наряду со стандартными возможностями отладчика (редактирование программ в среде, пошаговое выполнение с различными условиями оста- нова, отслеживание выражений (регистров, ячеек памяти, операндов ас- семблера), установка новых значений для разрешенных выражений, под- держка в среде мыши, управление палитрой среды, сохране- ние/восстановление конфигурации, контекстная помощь) реализованы не- которые дополнительные возможности (инкрементальный анализ, "тене- вые" команды среды, окна-картинки, загрузка файла языковых фраз).
В программном обеспечении реализован инкрементальный синтак- сический анализ исходного текста. Таким образом, во время набора про- граммы пользователя, во время вызовов различных диалоговых окон, ис- ходный текст анализируется и составляется его внутреннее представление. Инкрементальный анализ осуществляется постоянно, с первой строки про- граммы до последней, до тех пор, пока весь текст не будет откомпилиро- ван. Если строка модифицируется, то она перекомпилируется. Если строка программы содержит ссылки, то она перекомпилируется при отсутствии или изменении ссылок в месте их определения.
Во время процесса отладки при выполнении инструкций программы пользователя бывает нужным модифицировать исходный текст (соответст- венно и выполняемый код) программы. Во многих ассемблерных отладчи- ках для этого необходимо выйти в текстовый редактор. В некоторых мож- но модифицировать исходный текст, но после этого опять требуется ком- пиляция и выполнение программы пользователя до прерванной точки, что не всегда легко осуществимо. Данное устройство дает возможность после модификации исходного текста продолжить выполнение с любой точки программы, не изменяя содержимое переменных программы, стека и дру- гих элементов, которые при обычном входе устанавливаются в начальные значения.
Команды установки и проверки значений используются для тестиро- вания инструкций процессора (при отладке описания процессора) и в ос- новном для тестирования процедур пользователя. Команда установки по- зволяет занести эталонное значение, а команда проверки позволяет прове- рить эталонное значение и выдать сообщение о результате операции по ходу выполнения отлаживаемой программы.
Есть возможность оперативно переключаться с аппаратной эмуляции на программную симуляцию и обратно.
Литература
1.Домин С.Б., Иванов Е.А., Муренко Л.Л. Средства комплексной отладки микропроцессорных устройств. — М.: Энергоатомиздат, 1998.