Скачиваний:
52
Добавлен:
21.02.2014
Размер:
57.69 Кб
Скачать

Дедегкаев В.Е., Менский В.В.

УСТРОЙСТВО ОТЛАДКИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

Аннотация: Разрабатываемый внутрисхемный эмулятор предназначен для рабо- ты под управлением IBM PC — совместимого персонального компьютера и позволяет производить отладку систем на базе широкого спектра микроконтроллеров, а также ис- пользовать прибор в качестве эмулятора ПЗУ (до 64 Кбайт).

В настоящее время наблюдается взрывной рост объёмов производст- ва изделий на основе микропроцессорных технологий, постоянно появля- ются новые области для их применения. Микропроцессорные системы с достаточной долей условности можно разделить на универсальные и спе- циализированные. Универсальные микропроцессорные системы (компью- теры) предназначены в основном для выполнения математических расчё- тов и обработки информации. Соответственно, главной характеристикой таких систем является отношение цены и производительности. Их аппа- ратная часть имеет ограниченное число разновидностей, они хорошо стан- дартизированы и изготавливаются на основе классических микропроцес- соров, поэтому отладочные средства применяются здесь лишь для разра- ботки программного обеспечения.

Иная ситуация складывается в области специализированных (встраи- ваемых) систем. Поскольку эти системы предназначены в основном для управления различными процессами и находят применение в самых разно- образных устройствах, в том числе изделиях массового производства, здесь определяющими факторами являются стоимость изготовления и экс- плуатации, эргономичность, надёжность. В целях обеспечения этих харак- теристик необходимо разрабатывать аппаратное и программное обеспече- ние таких систем в соответствии с требованиями задачи, поэтому они про- ектируются, как правило, на основе различных микроконтроллеров, число разновидностей которых составляет несколько тысяч. Кроме того, при не- обходимости в систему включают дополнительные устройства (память, порты, таймеры), а также схемы сопряжения с датчиками, индикаторами и пр. Всё это требует использовать средства комплексной отладки, то есть средства, позволяющие производить совместную отладку программного и аппаратного обеспечения [1].

К числу основных инструментальных средств отладки относятся:

Внутрисхемные эмуляторы;

Программные симуляторы;

Платы развития (оценочные платы);

Мониторы отладки;

Эмуляторы ПЗУ;

Интегрированная среда разработки.

Данный список не исчерпывает всех типов существующих инстру- ментальных средств отладки. Кроме указанных, существуют и комбиниро- ванные устройства, и наборы, которые позволяют компенсировать недос- татки основных средств, взятых порознь.

Внутрисхемный эмулятор программно аппаратное средство, спо- собное замещать собой эмулируемый процессор в реальной схеме. Внут- рисхемный эмулятор это наиболее мощное и универсальное отладочное средство. По сути дела, "хороший" внутрисхемный эмулятор делает про- цесс функционирования отлаживаемого контроллера прозрачным, т.е. лег- ко контролируемым, произвольно управляемым и модифицируемым по воле разработчика.

Разрабатываемый внутрисхемный эмулятор предназначен для работы под управлением IBM PC — совместимого персонального компьютера. Эмулятор подключается к параллельному порту компьютера (порт должен поддерживать режим двунаправленной передачи данных EPP).

Структурная схема приведена на рис.1. Прибор состоит из двух мо- дулей базового и сменного. В состав базового модуля входит блок управления, память программ/данных, память точек останова, блок карты памяти, блок обмена данными, а также буферные элементы. Таким обра- зом, в базовом модуле сосредоточены все необходимые для эффективной эмуляции блоки. Это позволяет значительно упростить схемотехнику и конструкцию сменных модулей. В состав сменного модуля входят лишь целевой микроконтроллер и генератор тактовых импульсов. В некоторых случаях могут понадобиться дополнительные буферные и логические эле- менты. Такое конструктивное решение позволяет производить отладку систем на базе широкого спектра микроконтроллеров, а также использо- вать прибор в качестве эмулятора ПЗУ (до 64 Кбайт).

В начале сеанса отладки происходит инициализация эмулятора. При этом разрешается доступ с ЭВМ к памяти программ/данных и точек оста- нова, а также к блоку карты памяти. Пользователь вводит и редактирует программу, предназначенную для отладки, пользуясь средствами инстру- ментальной ЭВМ. После редактирования, при помощи блока управления и буферного элемента, программа пользователя заносится в память про- грамм/данных эмулятора. Туда же записывается системная программа монитор, предназначенная для управления процессом обмена данными между инструментальной ЭВМ и отлаживаемой системой. В память точек останова заносится информация об установленных пользователем кон- трольных точках, в которых микроконтроллеру необходимо прервать вы- полнение программы и передать данные о состоянии ресурсов отлаживае- мой системы на инструментальную ЭВМ. Блок карты памяти предназначен для хранения информации о распределении адресов памяти про- грамм/данных между отлаживаемой системой и эмулятором.

После записи всей необходимой для эмуляции информации управле- ние передается целевому микроконтроллеру. При этом буфер, связываю- щий устройство с инструментальной ЭВМ переводится в третье состояние,

а другой буфер переводится из третьего состояния в активное. Таким обра- зом, микроконтроллер получает доступ к памяти программ/данных и начи- нает выполнение программы пользователя.

 

 

Память

 

 

Буфер

программ/

Буфер

 

 

данных

 

 

Блок

Память

МП/

ЭВМ

обмена

точек

МК

данными

останова

 

 

 

 

Блок

Блок

Тактовый

 

управ-

 

 

карты

генератор

 

ления

памяти

 

 

 

 

Рис. 1. Структурная схема отладочного устройства

Программа пользователя может выполняться в одном из трех режи- мов реального времени, пошаговом и с точками останова. При выполне- нии в режиме реального времени программа выполняется полностью адек- ватно целевой системе без эмулятора. Остановов в контрольных точках при этом не происходит (однако возможен останов выполнения по жела- нию пользователя). В режиме с точками останова пользовательская про- грамма запускается аналогично режиму реального времени, однако разре- шается отслеживание контрольных точек. По ходу выполнения микрокон- троллер выставляет на внешнюю шину текущий адрес и, как только он совпадает с адресом точки останова, на микроконтроллер подается сигнал прерывания. Вектор прерывания настроен на переход к монитору. Под управлением монитора происходит обмен данными (в управляющую ЭВМ поступает информация о состоянии внутренних регистров и ячеек памяти отлаживаемой системы, при необходимости, ЭВМ их изменяет и записы- вает новые значения в отлаживаемую систему). В пошаговом режиме про- грамма пользователя выполняется последовательно по одной команде. Между выполнением команд программы пользователя происходят вызовы монитора.

Программное обеспечение для эмулятора разработано на основе мно- гофункционального отладчика Inter, который позволяет в многооконной,

интерактивной среде набирать ассемблерные программы пользователя и проводить символьную отладку.

Наряду со стандартными возможностями отладчика (редактирование программ в среде, пошаговое выполнение с различными условиями оста- нова, отслеживание выражений (регистров, ячеек памяти, операндов ас- семблера), установка новых значений для разрешенных выражений, под- держка в среде мыши, управление палитрой среды, сохране- ние/восстановление конфигурации, контекстная помощь) реализованы не- которые дополнительные возможности (инкрементальный анализ, "тене- вые" команды среды, окна-картинки, загрузка файла языковых фраз).

В программном обеспечении реализован инкрементальный синтак- сический анализ исходного текста. Таким образом, во время набора про- граммы пользователя, во время вызовов различных диалоговых окон, ис- ходный текст анализируется и составляется его внутреннее представление. Инкрементальный анализ осуществляется постоянно, с первой строки про- граммы до последней, до тех пор, пока весь текст не будет откомпилиро- ван. Если строка модифицируется, то она перекомпилируется. Если строка программы содержит ссылки, то она перекомпилируется при отсутствии или изменении ссылок в месте их определения.

Во время процесса отладки при выполнении инструкций программы пользователя бывает нужным модифицировать исходный текст (соответст- венно и выполняемый код) программы. Во многих ассемблерных отладчи- ках для этого необходимо выйти в текстовый редактор. В некоторых мож- но модифицировать исходный текст, но после этого опять требуется ком- пиляция и выполнение программы пользователя до прерванной точки, что не всегда легко осуществимо. Данное устройство дает возможность после модификации исходного текста продолжить выполнение с любой точки программы, не изменяя содержимое переменных программы, стека и дру- гих элементов, которые при обычном входе устанавливаются в начальные значения.

Команды установки и проверки значений используются для тестиро- вания инструкций процессора (при отладке описания процессора) и в ос- новном для тестирования процедур пользователя. Команда установки по- зволяет занести эталонное значение, а команда проверки позволяет прове- рить эталонное значение и выдать сообщение о результате операции по ходу выполнения отлаживаемой программы.

Есть возможность оперативно переключаться с аппаратной эмуляции на программную симуляцию и обратно.

Литература

1.Домин С.Б., Иванов Е.А., Муренко Л.Л. Средства комплексной отладки микропроцессорных устройств. — М.: Энергоатомиздат, 1998.

Соседние файлы в папке микроЭВМ на PIC16C84