Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

___МЕТОДИЧКИ_2013 / Пособие по ОСМПС (pdf) / 11_Внутрисхемные эмуляторы. Внутрисхемный эмулятор


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

11. ВНУТРИСХЕМНЫЕ ЭМУЛЯТОРЫ

11.1. ПРИНЦИП РАБОТЫ ВНУТРИСХЕМНЫХ ЭМУЛЯТОРОВ

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

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

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

Конструктивно эмуляторы могут быть либо встраиваемые в ПК (т.е. вставляемые в слот компьютера), либо выносные (в отдельном корпусе, соединенные с ПК через параллельный LPT порт или последовательный порт RS-232).

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

Эмулятор обычно поддерживает какое-тоодно семейство микропроцессоров (на-

пример INTEL 8031/8051/8052, INTEL 8080/8085 или ATMEL AVR), а конкретный микропроцессор в семействе определяется сменным эмуляционным модулем. Таким образом можно наращивать парк эмулируемых процессоров, приобретая дополнительные эмуляционные модули.

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

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

Однако имеется очень существенное отличие эмулятора от реального МП: при установке в конструктив прототипа реального МП без эмулятора отсутствует возможность контролировать внутреннее состояние и управлять поведением прототипа, за ис-

ключением подключаемых к МПС входных и выходных устройств. С другой стороны, с помощью эмулятора обеспечивается полный контроль состояния МП, гибкое управление прототипом МПС в различных режимах, необходимых для отладки, а также анализ ошибок в работе МПС.

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

лее полного выявления логических ошибок в ПС необходимо по возможности наибольшую часть ПС выполнить и проверить только в составе эмулятора без подключения прототипа МПС. После выявления ошибок на этом этапе следует переходить к другим этапам отладки МПС.

Эмуляторы могут содержать элементы логического анализатора - трассировщик ипроцессор точек останова (Breakpoint Processor - ВР). Трассировщик запоминает пройденный процессором путь, причем ненужную информацию можно игнорировать (например, запомнить только обращения к программной памяти в некоторой области адресного пространства). ВР позволяет устанавливать точки останова, анализируя состояние процессора (например остановиться после цикла из N обращений к ячейке А, при условии что в ячейку В во время прерывания была записана величина X). Надо подчеркнуть, что и трассировщик, иВР-процессорработают в темпе реального времени.

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

11.2. ПЕРВЫЕ ВНУТРИСХЕМНЫЕ ЭМУЛЯТОРЫ

Даже в начале разработок встраиваемых микроконтроллеров внутрисхемные эмуляторы были самым совершенным инструментом. В 1975 году компания Intel создала свой первый настоящий внутрисхемный эмулятор MDS-800,предназначенный для микропроцессоров 8080. Правда, это были довольно дорогие (в 1975 годуMDS-800стоил 20 тыс. долл.) и громоздкие системы(MDS-800имел экран, клавиатуру и два дисковода для гибких дисков диаметром 20 см).

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

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

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

Из-завысокой стоимости и сравнительной ненадежности некоторых первых эмуляторов многие пользователи отказывались от них в пользуПЗУ-мониторов.Это может показаться шагом назад, однако разработчики предпочитают двигаться вперед в решении своей задачи, а не тратить время на борьбу с ненадежным оборудованием. Симуляторы были недоступны, и мониторы были единственным выходом в этой ситуации.

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

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

11.3. КЛАССИФИКАЦИЯ ВНУТРИСХЕМНЫХ ЭМУЛЯТОРОВ И ИХ ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ

11.3.1. Классификация внутрисхемных эмуляторов

Функционально внутрисхемные эмуляторы делятся на стыкуемые с внешней вычислительной машиной (обычно это бывает IBM PC) и функционирующие автономно.

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

11.3.2. Функциональные возможности ВСЭ

Набор функциональных возможностей, которые предоставляют разработчику внутрисхемные эмуляторы, весьма широк и включает в себя практически все разнообразие функциональных модулей средств разработок.

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

работы собственно эмулятора и обратно происходит «прозрачно» и синхронно с активизацией соответствующих окон, менеджер проектов автоматически запускает компиляцию по мере необходимости и активизирует соответствующие окна программного интерфейса.

При работе внутрисхемного эмулятора в составе интегрированной среды столь же просто можно осуществить и переход к отладке проекта с помощью имеющегося от- ладчика-симулятораили приступить к занесению в ПЗУ микроконтроллера отлаженной программой.

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

11.3.3. Достоинства и недостатки внутрисхемных эмуляторов

К достоинствам внутрисхемных эмуляторов следует отнести

•широкий набор функциональных возможностей, что делает внутрисхемные эмуляторы наиболее мощным и универсальным средством отладки;

•работу внутрисхемного эмулятора в реальной схеме электронного блока, в котором предполагается робота микроконтроллера или ЦПОС;

•большая гибкость моделирования временных и электрических характеристик микроконтроллера, что связано с преимущественно программным методом их моделирования

Однако внутрисхемные эмуляторы имеют и недостатки.

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

•Кроме того, даже в случае работы в замедленном масштабе времени, различные модели внутрисхемных эмуляторов могут иметь разного рода ограничения по контролю и управлению функционированием отлаживаемых устройств, что связано с трудностью их моделирования. Например, это может быть некорректное обрабатывание прерываний в пошаговом режиме, или запрет на использование последовательного порта и т.п.

11.4. СОВРЕМЕННЫЕ ВНУТРИСХЕМНЫЕ ЭМУЛЯТОРЫ

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

процессор семейства 8051, в то время как в хост-системена месте16-МГцпроцессора 80286 уже стоит Pentium4 с рабочей частотой 2000 МГц.

Наконец-товнутрисхемные эмуляторы освободились от ассемблера и могут работать с языками высокого уровня (как минимум с Си).

Благодаря поддержке расширенных средств управления объектами в формате OMF (Object Module Format) современные эмуляторы могут отображать текст на языке высокого уровня с полным описанием типов и символов. В некоторых недорогих эмуляторах поддержка расширенных OMF-средстввсе еще отсутствует. Кроме уже упоминавшихся дисплея и пользовательского интерфейса, в современных ВСЭ отсутствуют микропереключатели (больше не нужны). Конфигурирование и задание параметров теперь выполняется программным образом (с сохранением вофлэш-памятиили ПЗУ). В число таких параметров входят тактовая частота целевой системы, тип процессора (и семейство), а также конфигурация периферийных устройств.

Благодаря удешевлению памяти многие эмуляторы оснащены буферами трассировки значительных объемов, причем этот факт преподносится как одно из достоинств эмулятора. Некоторые производители все-такипроанализировали, что же на самом деле требуется для повышения эффективности, и пришли к выводу, что лучше тратить меньше времени на трассировку 1К байтов, чем долго ворошить 8К байтов в поисках возникшей проблемы. Всё это требует хорошего набора триггеров и хранения нужной информации в буфере. В состав нужной информации входят:

адреса выполненных инструкций (а также не загруженных и проигнорирован-

ных),

метки кодов и названия переменных, внешние сигналы, порты и т.д.

состояния шины, результаты команд чтения/записи, подтверждения прерываний и

т.д.

Хороший эмулятор должен также представлять данные несколькими способами. Например, в виде дисассемблированного кода, операторов языка высокого уровня, машинных циклов и, как делает большинство программ, в виде двоичного и шестнадцатеричного кода. Желательна также возможность генерации событий и организации буфера как кольцевого и линейного.

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

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

Некоторым эмуляторам буферы трассировки большого объема нужны потому, что они записывают в него весь ассемблерный код, а не только операторы языка Си, и не умеют игнорировать обращения к библиотечным функциям. Кроме того, как уже ранее говорилось, они могут вставлять в начало каждого оператора языка Си инструкцию

NOP.

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

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

Эта новая дешёвая технология породила множество так называемых "универсальных" эмуляторов, которые могут работать с несколькими семействами микропроцессорных устройств. Однако если бы всё было так просто, применение FPGA-матрицдля выпуска многоархитектурных эмуляторов привлекло бы многих ведущих производителей ВСЭ. И по стоимости было бы замечательно, однако на практике так не произошло!

Одной из "преходящих" проблем в истории внутрисхемных эмуляторов оказалась проблема последовательных соединений. В те времена, когда скорость передачи по параллельным линиям связи составляла 1200, 2400, 4800 и (при известном старании) 9600 бод, панацеей считалось соединение персонального компьютера и ВСЭ параллельными линиями связи. Некоторые производители даже встраивали эмулятор непосредственно в персональный компьютер! Современные же последовательные линии вполне нормально работают на скорости 115200 бод. Даже весьма крупные программы загружаются за секунды. Параллельные шины ушли со сцены, во многих системах уступив место линиям Ethernet.

11.5. НОВЫЕ ВОЗМОЖНОСТИ ВНУТРИСХЕМНЫХ ЭМУЛЯТОРОВ

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

11.5.1. Анализ использования кода

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

Анализ использования данных определяет, к каким областям данных осуществлялся доступ в процессе тестирования, позволяя выявлять потенциально опасные операции чтения (READ), выполняемые до инициализации данных операцией записи (WRITE). Для аттестации встраиваемой программы она должна работать на целевом оборудовании в режиме реального времени. Такое возможно только с использованием ВСЭ. На симуляторе может быть выполнен и анализ использования кода, однако не в реальном аппаратном окружении, к тому же ПЗУ-монитор(если только не поставляется в составе продукта) меняет распределение памяти (и в любом случае не обеспечивает работу в реальном масштабе времени).

11.5.2. Подсчет времени исполнения

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

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

11.6. ВНУТРИСХЕМНЫЙ ЭМУЛЯТОР МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА

MCS51 PICE-51

Возможности "реального" внутрисхемного эмулятора проиллюстрируем на примере модели PICE-51отечественной фирмы «Фитон».

11.6.1. Общее описание PICE-51

PICE-51- эмулятор нового поколения, созданный с применением новых технологий разработки аппаратуры и программного обеспечения (рис. 11.1).

Рис. 11.1. Внешний вид внутрисхемного эмулятора PICE-51

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

Перезагружаемая аппаратная структура эмулятора обеспечивает эмуляцию практически всех микроконтроллеров семейства 8051 как отечественного производства, так и фирм: Intel, Philips, Siemens, Atmel, Dallas, Temic, OKI, AMD, MHS и других.

Мощный программный интерфейс в среде Windows, представляет собой интегрированную среду разработки, поддерживающую все этапы разработки программного

обеспечения от написания исходного текста программы до ее компиляции и отладки. Программа поддержки эмулятора ориентирована на отладку программ на языке высокого уровня по исходному тексту.

Эмулятор состоит из основной платы PICE-51 размером 80 х 76мм, сменного адаптера под конкретный процессорPOD-51-XX и сменной эмуляционной головкиADP-51-XX под конкретный тип корпуса (рис. 11.2). На основной плате реализованы: трассировщик, процессор точек останова. Плата сменного адаптера содержит эмулирующий процессор под конкретный тип микроконтроллера. Эмуляционные головки обеспечивают установку эмулятора в колодки DIP и PLCC на плате пользователя. Питание эмулятора осуществляется от блока питания +5 В, 0,5 А или непосредственно от отлаживаемого устройства. Связь с компьютером - по гальванически развязанному каналуRS-232Cна скорости 115 КБод.

Рис. 11.2. Структура эмулятора PICE-51

11.6.2. Характеристики аппаратуры

•Точная эмуляция - отсутствие каких-либоограничений на использование программой пользователя ресурсов микроконтроллера.

•До 256K эмулируемой памяти программ и данных. Поддержка банкированной модели памяти. Распределение памяти между эмулятором и устройством пользователя

сточностью до 1-гобайта.

•До 512K аппаратных точек останова по доступу к памяти программ и данных.

•Аппаратная поддержка для отладки программ на языках высокого уровня.

•Трассировка 8 произвольных внешних сигналов.

•4 выхода синхронизации аппаратуры пользователя.

•Трассировщик реального времени с буфером объемом от 16К до 64K фреймов по 64 бита с доступом "на лету". Трассировка адреса, данных, сигналов управления, таймера реального времени и 8-мивнешних сигналов пользователя.

•Программируемый фильтр трассировки.

•Аппаратный процессор точек останова с возможностью задания сложного условия останова эмуляции по комбинации сигналов адреса, данных, управления, 8-мивнешних сигналов, таймера реального времени, счетчиков событий и таймера задержки.

•Четыре комплексных точки останова, которые могут быть использованы независимо или в комбинациях по условиям AND/OR/IF-THEN.

•48-разрядныйтаймер реального времени.

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

•Управляемый генератор тактовой частоты для эмулируемого процессора. Возможность плавного изменения тактовой частоты от 500 кГц до 40 МГц.

•Гальванически развязанный от компьютера канал связи RS-232Cсо скоростью обмена 115 КБод.

•Встроенная система самодиагностики аппаратуры эмулятора.

11.6.3. Характеристики программного обеспечения

•Программное обеспечение ориентировано на работу в среде Windowsв на IBMсоместимых компьютерах с процессорами типа 386/486/Pentium;

•Встроенный многооконный редактор предназначен для написания исходных текстов программ. Редактор поддерживает операции с блоками текста, поиск/замену, цветовое выделение синтаксических конструкций языка ассемблера и Си;

•Встроенный менеджер проектов обеспечивает автоматическую компиляцию программ. Все опции задаются в диалоговой форме. Переход от редактирования исходного текста к отладке и обратно происходит "прозрачно", т.е. менеджер проектов автоматически запускает компиляцию проекта при необходимости;

•PICE-51обеспечивает символьную отладку и отладку по исходному тексту для программ, созданных с помощью следующих компиляторов:

o ассемблерASM51 фирмыIntel;

o ассемблер MCA-51фирмы Фитон/МикроКосм; o компилятор PL/Mфирмы Intel;

o ассемблер и компиляторСи фирмыIAR Systems;

o ассемблер и компиляторСи фирмыAvocet Systems Inc./HiTech;o ассемблер и компиляторСи фирмыKeil Software Inc.;

•Автоматическое сохранение и загрузка файлов конфигурации аппаратуры, ин-

терфейса и опций отладки. Обеспечивается совместимость файлов конфигурации с симулятором PDS-51.Обеспечена переносимость проектов между эмуляторомPICE-51и симуляторомPDS-51;

• Возможность настройки цветов, шрифтов и других параметров для всех окон одновременно и для каждого окна в отдельности;

Эмулятор снабжен печатным руководством по эксплуатации и контекстным электронным руководством, в которых детально описаны его принципы работы, команды, меню, горячие клавиши.

Таблица 11.1. Сравнительные характеристики некоторых эмуляторов для микроконтроллеров семейства 8051

Модель,

 

EMUL-51,

USP-51,

 

iceMASTER-

 

PICE-5,

 

Nohau Corpo-

Signum Sys-

 

8051,

 

поставщик

 

 

 

Фитон1

 

ration

tems

 

MetaLink

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эмулируемые микро-

 

Все известные

Все основные

 

Все основные

 

Все основные

контроллеры семейст-

 

разновидно-

разновидности

 

разновидно-

 

разновидности

ва 8051

 

сти

 

 

сти

 

 

 

 

 

 

 

 

 

 

Максимальная частота

 

42 МГц

40 МГц

 

24 МГц

 

33 МГц

эмуляции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Максимальный объем

 

320 K

256 K

 

128 K

 

512 K

эмулируемой памяти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Возможности перерас-

 

Блоками по

Блоками по

 

Блоками по 16

 

С точностью до

пределения памяти

 

4K

256 байт

 

байт

 

1-гобайта

между эмулятором и

 

 

 

 

 

 

 

устройством пользова-

 

 

 

 

 

 

 

теля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

До 16 K фрей-

До 32 K фрей-

 

До 4 K фрей-

 

До 64 К фрей-

Буфер трассировки

 

мов по 48 бит

мов по 80 бит

 

мов по 48 бит

 

мов по 64 бита

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доступ "на лету" к

 

Да

Да

 

Да

 

Да

эмулируемой памяти и

 

 

 

 

 

 

 

трассировщику

 

 

 

 

 

 

 

Интерфейс с компьютером

Конструкция и размеры

Карта в ISA

RS-232C,до

 

RS-232C,до

 

Изолированный

слот

115 КБод

 

115 КБод

 

RS-232C,до

 

 

 

 

 

115 КБод

 

 

 

 

 

 

Две карты в

Корпус

 

Корпус

 

Весь эмулятор -

ISA формате,

260x260x64

 

178x140x25

 

в эмуляцион-

кабели 2 мет-

мм, кабель,

 

мм, кабель,

 

ной головке

ра, PODы

POD

 

POD

 

размером

 

 

 

 

 

80x76x50 мм

Цена за сопоставимую

 

$5200

$5300

 

$4000

 

$990

конфигурацию постав-

 

 

 

 

 

 

 

ки: поддержка 80С51,

 

 

 

 

 

 

 

25 MHz, 128K RAM,

 

 

 

 

 

 

 

буфер трассировки

 

 

 

 

 

 

 

объемом 16K фреймов

 

 

 

 

 

 

 

Заключение

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

Эмулятор позволяет разработчику осуществить прогон программы (или фрагментов программы) в реальном времени, вести пошаговую отладку программы, запуск про-

studfiles.net

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

Внутрисхемный эмулятор (ВСЭ) – программно аппаратное средство, способное замещать собой эмулируемый процессор в реальном устройстве. ВСЭ–наиболее мощное и универсальное отладочное средство.

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

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

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

Отладчикявляется своеобразным мостом между разработчиком и отладочным средством. Хороший отладчик обеспечивает загрузку отлаживаемых программ в память системы, вывод на монитор состояний и содержимого всех регистров и памяти (а при необходимости – и их модификаций), управление процессом эмуляции.

Более мощные отладчики (обычно их называют высокоуровневыми или High-LevelDebuggers) позволяют также:

  • вести символьную отладку (благодаря тому, что отладчик, используя специальную информацию, поставляемую компилятором, «знает» адреса всех символьных переменных, массивов и структур). При этом пользователь может оперировать более приемлемыми для человека символьными именами, не утруждая себя запоминанием их адресов,

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

Такой отладчик даёт возможность пользователю одновременно контролировать ход выполнения программы и видеть соответствие между исходным текстом, образом программы в машинных кодах и состоянием всех ресурсов эмулируемого микроконтроллера.

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

Эмуляционную памятьиспользуют в процессе отладки вместо ПЗУ разрабатываемой системы. Более того, она позволяет отлаживать программу в отсутствие реальной системы или её макета. Если необходимо внести изменения в отлаживаемую программу, достаточно загрузить новую или модифицированную программу в память эмулятора, а не заниматься перепрограммированием ПЗУ.

Существуют ВСЭ, которые позволяют пользователю «подставлять» эмуляционную память вместо ПЗУ не только целиком, но и поблочно (в некоторых моделях минимальный размер блока – 1байт), в порядке, определённом пользователем. Для этого ему достаточно задать распределение памяти данных и памяти программ, в соответствии с которым процессор будет получать доступ и к содержимому ПЗУ в отлаживаемой системе, и к содержимому эмуляционной памяти ВСЭ, Такую память обычно называют памятью с возможностью мэппинга.

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

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

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

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

Наличие в программной оболочке ВСЭ встроенного редактора, менеджера проектов и системы управления существенно облегчает работу разработчика, избавляя его от множества рутинных действий. Для него стирается грань между написанием программы, её редактированием и отладкой. Переход от редактирования исходного текста к отладке и обратно осуществляется «прозрачно» и синхронно с активизацией соответствующих окон. Менеджер проектов по мере необходимости автоматически запускает компиляцию и активизирует соответствующее окно программного интерфейса. Столь же просто можно перейти к отладке проекта с помощью имеющегося отладчика-симулятора или приступить к «прошивке» ПЗУ отлаженной программой,

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

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

Однако для большинства популярных МК разработаны ВСЭ, не имеющие ограничений по использованию ресурсов отлаживаемых кристаллов. Возможности такого ВСЭ проиллюстрируем на примере модели PICE-51 фирмы «Фитон».

PICE-51 –устройство, созданное с применением программируемых логических ИС (ПЛИС). Это позволило резко уменьшить размеры ВСЭ, минимизировать отклонения его электрических и частотных характеристик от характеристик эмулируемого МК и тем самым добиться максимальной точности эмуляции на частотах до 33МГц при напряжениях питания от 3,3 до 5 В. Перезагружаемая аппаратная структураPICE-51 обеспечивает эмуляцию практически всех МК семействаMCS-51.Программная поддержка работает в средеWindows.

PICE-51 состоит из основной платы, сменного адаптера под конкретную группу МК и сменной эмуляционной головки также под конкретный тип корпуса. На основной плате собраны трассировщик и процессор точек останова, на плате сменного адаптера –эмулирующий процессор под конкретный тип МК. Эмуляционные головки обеспечивают установку прибора в розеткиDIPиPLCCна плате пользователя. Питание осуществляется от блока с выходным напряжением+5В (0,5А) или от отлаживаемого устройства. Связь с компьютером –по гальванически развязанному каналуRS-232Cпри скорости 115кБод.

Остальные характеристики и возможности PICE-51следующие:

  • точная эмуляция –отсутствие каких-либо ограничений на использование программой пользователя ресурсов МК;

  • до 256Кбайт эмулируемой памяти программ и данных. Поддержка банкированной модели памяти. Распределение памяти между ВСЭ и устройством пользователя с точностью до 1байта;

  • до 512К аппаратных точек останова по доступу к памяти программ и данных;

  • аппаратная поддержка для отладки программ на языках высокого уровня;

  • трассировка восьми произвольных внешних сигналов;

  • четыре выхода синхронизации аппаратуры пользователя;

  • трассировщик реального времени с буфером объёмом от 16до 64К фреймов (массивов) по 64бита с доступом «на лету». Трассировка адреса, данных, сигналов управления, таймера реального времени и восьми внешних сигналов пользователя;

  • программируемый фильтр трассировки;

  • аппаратный процессор точек останова с возможностью задания сложного условия останова эмуляции по комбинации сигналом адреса, данных, управления, восьми внешних сигналов, таймера реального времени, счётчиков событий и таймера задержки;

  • четыре комплексных точки останова, которые могут быть использованы независимо или в комбинациях по условиям AND/OR/IF-THEN;

  • 48-разрядный таймер реального времени;

  • «прозрачная» эмуляция –доступ «на лету» к эмулируемой памяти, точкам останова, процессору точек останова, буферу трассировки, таймеру реального времени;

  • управляемый генератор тактовой частоты для эмулируемого МК. Возможность плавного изменения её от 500кГц до 40 МГц;

  • встроенная система самодиагностики аппаратуры ВСЭ, Поддерживается разработка программ на уровне ведения проектов для макроассемблера MCA-51 («Фитон»/ «Микрокосм»), а также для пакетов кросс-средств фирмKeilSoftwareиIARSystems;

  • поддержка полнофункциональной символьной отладки программ, созданных с помощью следующих компиляторов: ассемблера ASM51 фирмыIntel, компилятораPL/MфирмыIntel, ассемблеров и компиляторов Си фирмAvocetSystems,Hi-Tech,TaskingSoftware;

  • автоматическое сохранение и загрузка файлов конфигурации аппаратуры, интерфейса и опций отладки. Обеспечена совместимость файлов конфигурации с симулятором PDS-51 и переносимость проектов междуPICE-51и симуляторомPDS-51;

  • возможность настройки цветов, шрифтов и других параметров для всех окон одновременно и для каждого окна в отдельности.

Столь широкий набор функциональных возможностей делает ВСЭ наиболее мощным и универсальным средством отладки.

studfiles.net

8.3.4.Достоинства и недостатки внутрисхемных эмуляторов.

К достоинствам внутрисхемных эмуляторов следует отнести

  • широкий набор функциональных возможностей, что делает внутрисхемные эмуляторы наиболее мощным и универсальным средством отладки;

  • работу внутрисхемного эмулятора в реальной схеме электронного блока, в котором предполагается робота микроконтроллера или ЦПОС;

  • большая гибкость моделирования временных и электрических характеристик микроконтроллера, что связано с преимущественно программным методом их моделирования

Однако внутрисхемные эмуляторы имеют и недостки.

  • Основным из них является трудность програмного моделирования электрических сигналов на выводах микроконтроллера в реальном масштабе времени. Для адекватного моделирования быстродействие моделирующего процессора или компьютера должно быть существенно выше, чем эмулируемого микроконтроллера, что достижимо далеко не всегда, особенно в случае эмуляции современных высокопроизводительных ЦПОС и микроконтроллеров.

  • Кроме того, даже в случае работы в замедленном масштабе времени, различные модели внутрисхемных эмуляторов могут иметь разного рода ограничения по контролю и управлению функционированием отлаживаемых устройств, что связано струдностью их моделирования. Например, это может быть некорректное обрабатывание прерываний в пошаговом режиме, или запрет на использование последовательного порта и т.п..

8.4.PICE-51.

Возможности "реального" внутрисхемного эмулятора проиллюстрированно на примере модели PICE-51.

8.4.1.Внутрисхемный эмулятор 8-разрядных микроконтроллеров семейства 8051.

    PICE-51- эмулятор нового поколения, созданный с применением новых технологий разработки аппаратуры и программного обеспечения.

Рис.17. Внутрисхемный эмулятор PICE-51

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

    Перезагружаемая аппаратная структура эмулятора обеспечивает эмуляцию практически всех микроконтроллеров семейства 8051 как отечественного производства, так и фирм: Intel, Philips, Siemens, Atmel, Dallas, Temic, OKI, AMD, MHSи других.

    Мощный программный интерфейс в среде Windowsв, представляет собой интегрированную среду разработки, поддерживающую все этапы разработки программного обеспечения от написания исходного текста программы до ее компиляции и отладки. Программа поддержки эмулятора ориентирована на отладку программ наязыке высокого уровня по исходному тексту.

    Эмулятор состоит из основной платыразмером 80х76мм, сменногоадаптерапод конкретный процессор и сменнойэмуляционной головкипод конкретный тип корпуса. На основной плате реализованы:трассировщик, процессор точек останова. Плата сменного адаптера содержит эмулирующий процессор под конкретный тип микроконтроллера. Эмуляционные головки обеспечивают установку эмулятора в колодки DIP и PLCC на плате пользователя. Питание эмулятора осуществляется от блока питания +5В, 0,5А или непосредственно от отлаживаемого устройства. Связь с компьютером - погальванически развязанномуканалуRS-232Cна скорости 115 КБод..

studfiles.net

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

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

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

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

  • Платы развития;

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

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

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

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

8.3.1.Принцип работы.

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

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

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

8.3.2.Классификация внутрисхемных эмуляторов.

Функционально внутрисхемные эмуляторы делятся на

  • стыкуемые с внешней вычислительной машиной (обычно это бывает IBM PC), и

  • функционирующие автономно.

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

8.3.3.Функциональные возможности внутрисхемных эмуляторов.

Набор функциональных возможностей, которые предоставляют разработчику внутрисхемные эмуляторы весьма широк и включает в себя практически все разнообразие функциональных модулей средств разработок.

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

При работе внутрисхемного эмулятора в составе интегрированной среды столь же просто можно осуществить и переход к отладке проекта с помощью имеющегося отладчика-симулятора или приступить к занесению в ПЗУ микроконтроллера отлаженной программой.

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

studfiles.net

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

ВСЭ включается вместо отлаживаемой МП БИС и должен выполнять все ее функции. Кроме того, с целью облегчения отладки МПС, ВСЭ выполняет в составе СПМ следующие дополнительные функции:

  • управление ходом вычислительного процесса в МПС, т.е. инициализация начального состояния регистров, запуск программы по шагам или до выполнения заданного условия;

  • сбор информации о ходе вычислительного процесса в отлаживаемой МПС и передачу ее (информацию) в СПМ для преобразования, анализа, отображения и документирования;

  • задание программных воздействий на макетный образец непосредственно из ОЗУ СПМ.

ВСЭ включает в себя следующие блоки:

  • замещаемый МП или его функциональный аналог, реализованный на СИС или в виде БИС с дополнительными выводами;

  • устройство, повторяющее определенные внутренние узлы эмулируемой БИС, которое делает эти узлы доступными управлению и контролю со стороны СПМ;

  • специальные схемы распознавания событий, формирующие запросы на прерывание программы пользователя;

  • память логических последовательностей (ПЛП), предназначенную для фиксации состояний шин МПС в режиме реального времени;

  • средства связи с шиной СПМ;

  • буферные и мультиплексирующие схемы.

Схемы распознавания событий ничем принципиально не отличаются от схем формирования запуска ЛА, кроме того, что их выходной сигнал не только прекращает регистрацию в ПЛП, но и формирует запрос на прерывание рабочей программы, передавая управление ЦП СПМ.

ВСЭ может работать в следующих режимах:

  1. опроса;

  2. пошагового выполнения программы пользователя;

  3. то же с автоматическим контролем состояния МПС;

  4. эмуляция выполнения программы пользователя в реальном времени.

1) В режиме опросауправление передается ЦП СПМ, который выполняет диагностические программы, индицирует и изменяет состояния внутренних регистров эмулируемой МП БИС. Кроме того, может быть проанализировано состояние ПЛП. В режиме опроса оператор может задать новые условия прерывания программы пользователя.

2) В пошаговом режимеВСЭ переходит в режим опроса после выполнения каждой команды программы пользователя.

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

Режим (3) практически может разрешить почти все проблемы совместной отладки, кроме проблем реального времени. Ошибки, связанные с нарушением временных соотношений между электрическими сигналами, вырабатываемыми различными командами, могут остаться необнаруженными.

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

studfiles.net

Внутрисхемный эмулятор - Большая Энциклопедия Нефти и Газа, статья, страница 1

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

Cтраница 1

Внутрисхемный эмулятор подключается к разрабатываемой системе на место ее процессора и имеет связь с микроЭВМ или мини - ЭВМ. Эта ЭВМ готовит информацию о функционировании отлаживаемой системы и выполняет функции связи между микропроцессорной системой и разработчиками.  [1]

Внутрисхемный эмулятор был введен в гл. В этой главе мы обсудим его применение для отладки и объединения аппаратуры. Внутрисхемный эмулятор выполняет многие из функций, которые выполняет микрокомпьютерный логический анализатор во время программно-управляемой динамической отладки. Он обеспечивает пользователя средствами запуска и прекращения выполнения программ, для исследования значений данных до и после выполнения программного сегмента, для исследования значений данных, считываемых из порта ввода или записываемых в порт вывода, и для вывода команд на языке ассемблера, соответствующем выполняемым командам машинного языка. Некоторые внутрисхемные эмуляторы имеют зонд данных, который может быть использован для сбора данных во время выполнения программ. Однако большинство внутрисхемных эмуляторов не обеспечивают таких гибких и общих возможностей, какими обладают логические анализаторы. Если внутрисхемный эмулятор не обеспечивает адекватных возможностей сбора данных, вместе с ним может быть использован внешний логический анализатор. В этом случае внутрисхемный эмулятор управляет выполнением программ и выдает выполняемые команды, а логический анализатор выдает состояния требуемых внутренних аппаратных сигналов. В этом режиме работы логический анализатор синхронизируется прямо или косвенно с внутрисхемным эмулятором. При прямой синхронизации внутрисхемный эмулятор обеспечивает сигнал запуска логического анализатора позволяя ему начать накопление и выдачу данных. При косвенной синхронизации логический анализатор может быть запущен событием, которое должно быть обнаружено в аппаратуре и которое непосредственно относится к выполнению программы. Например, если для запуска логического анализатора служит устройство выбора линии, выдача синхронизируется с выполнением команды, которая вызывает пересылку информации в выбранное устройство или чтение из выбранного устройства.  [2]

Внутрисхемный эмулятор был описан в гл. Однако внутрисхемный эмулятор имеет и другие возможности, которые могут быть использованы во время объединения системы для постепенного встраивания программного обеспечения в разрабатываемую аппаратную систему. При использовании внутрисхемного эмулятора программное обеспечение перемещается из системы разработки микрокомпьютера в разрабатываемую аппаратную систему по одному или по два модуля за один раз, а затем проверяются рабочие характеристики этих модулей. Рассмотрим подробнее, как это происходит.  [3]

Внутрисхемные эмуляторы встраиваются в систему проектирования и позволяют использовать ее ресурсы как принадлежащие отлаживаемой системе. В отличие от прототипной системы внутрисхемный эмулятор, как правило, основан на более мощном процессоре, чем процессор разрабатываемой или отлаживаемой системы. В [72] описана методика использования внутрисхемного эмулятора в качестве отладочного средства, заключающаяся в последовательном замещении всех узлов микропроцессорной системы проектирования соответствующими узлами отлаживаемой системы.  [4]

Внутрисхемный эмулятор - программно-аппаратное средство, способное заменить эмулируемый МК в реальной схеме. Стыковка внутрисхемного эмулятора с отлаживаемой системой производится при помощи кабеля со специальной эмуляционной головкой, которая вставляется вместо МК в отлаживаемую систему. Если МК нельзя удалить из отлаживаемой системы, то использование эмулятора возможно, только если этот микроконтроллер имеет отладочный режим, при котором все его выводы находятся в третьем состоянии. В этом случае для подключения эмулятора используют специальный адаптер-клипсу, который подключается непосредственно к выводам эмулируемого МК.  [5]

Внутрисхемный эмулятор Motorola HDS-400 является типичным средством разработки на аппаратной основе. HDS-400, оснащенный эмуляционной платой MC68020, может эмулировать MC68020 с тактовой частотой 8 МГц без необходимости состояний ожидания, а для процессора, работающего с частотой 16 МГц, оказывается необходимой затрата одного состояния ожидания при каждом обращении к памяти.  [6]

Внутрисхемный эмулятор ICE-32 фирмы National имеет три разъема: по одному для процессора, устройства управления памятью и тактового генератора. Существуют эмуляторы, способные заменить ПЗУ / ППЗУ в системе с внешним ПЗУ микропрограмм ( такой, как NCR-32), или встроенный 32-разрядный МП с гнездом ППЗУ. Большое быстродействие ППЗУ заставляет эмулятор работать с большей скоростью, чем стандартные микропроцессорные внутрисхемные эмуляторы. Имеются эмуляторы ПЗУ с длительностью такта до 10 не. Поскольку большинство ПЗУ достаточно похожи, эмуляторы могут применяться для обслуживания широкого диапазона систем.  [7]

Основное отличие внутрисхемных эмуляторов от эмуляторов ПЗУ состоит в том, что внутрисхемному эмулятору приходится переключать интерфейсные линии процессора последовательно между целевой системой и эмуляционной памятью, что замедляет работу системы, а эмулятор ПЗУ постоянно соединяет процессор с эмуляционной памятью.  [8]

На рис. 10.1 показано подключение внутрисхемного эмулятора во время объединения системы. Интегральная схема микропроцессора вынимается из своего панельного гнезда в разрабатываемой аппаратной системе и заменяется штепсельным разъемом кабеля внутрисхемного эмулятора. Первоначально в системе нет программируемых ПЗУ и панельные гнезда памяти пусты.  [9]

Основное отличие внутрисхемных эмуляторов от эмуляторов ПЗУ состоит в том, что внутрисхемному эмулятору приходится переключать интерфейсные линии процессора последовательно между целевой системой и эмуляционной памятью, что замедляет работу системы, а эмулятор ПЗУ постоянно соединяет процессор с эмуляционной памятью.  [10]

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

Специализированные системы проектирования МПС ( СПМ), которые включают микроЭВМ и дополнительный программно-аппаратный комплекс оборудования: внутрисхемный эмулятор, специализированные логические анализаторы и пробники, устройство для программирования и стирания информации в ПЗУ ( программатор), имитатор ПЗУ.  [12]

Первым потребителям 32-разрядных МП вряд ли понадобятся многие аппаратные средства отладки, такие, например, как внутрисхемные эмуляторы, так как 32-разрядные МП ориентированы в первую очередь на решение задач, связанных с применением мощных высокоуровневых программных средств. Через один-два года 32-разрядные МП будут использоваться во многих разработках в качестве встроенных элементов, что потребует наличия средств отладки аппаратуры.  [13]

Для диагностики средств измерений в условиях эксплуатации разрабатываются специальные автоматизированные диагностические устройства - микропроцессорные анализаторы, реализующие функции сигнатурного и логического анализаторов, внутрисхемного эмулятора под управлением микро - ЭВМ. Использование микропроцессорных анализаторов позволяет существенно уменьшить время диагностирования. Реализация функций микропроцессорных анализаторов возможна с помощью отдельных сигнатурных, логических анализаторов и внутрисхемных эмуляторов, имеющих выход на канал общего пользования и работающих под управлением ЭВМ в составе автоматизированных поверочных подвижных лабораторий измерительной техники.  [15]

Страницы:      1    2    3    4

www.ngpedia.ru

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

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

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

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

Использование внутрисхемных эмуляторов позволяет отлаживать приложения, в которых задействованы периферийные узлы и режимы микроконтроллеров, поддержка которых отсутствует в программном симуляторе.

ICEPRO / ICE10

ICEPRO представляет собой классический внутрисхемный эмулятор. Он поддерживает следующие типы микроконтроллеров: ATtiny10, ATtiny11, Attiny12, ATtiny22, ATtiny28, AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S8515, AT90S4434, AT90S8535, AT90S2333, AT90S4433.

Управление ICEPRO осуществляется через COM-порта персонального компьютера. ICEPRO содержит внутренний стабилизатор питающего напряжения, поэтому питание внутрисхемного эмулятора может осуществляться от источника нестабилизированного напряжения 9 - 15 Вольт.

Подключение ICEPRO к отлаживаемому устройству осуществляется при помощи выносной платы ATADCPOD, которая, в свою очередь, соединяется с отлаживаемыми устройствами при помощи плоских кабелей (все поддерживаемые микроконтроллеры разделены на группы, и каждой группе соответствует свой разъем на выносной плате и свой плоский кабель). На выносной плате установлены несколько переключателей и перемычек, с помощью которых производится конфигурирование ICEPRO. Состояние этих переключателей и перемычек определяет:

  • Наличие или отсутствие у целевого микроконтроллера аналого-цифрового преобразователя
  • Наличие или отсутствие в отлаживаемой системе внешнего ОЗУ данных
  • Источник питания для отлаживаемого устройства
  • Источник тактового сигнала для отлаживаемой системы

В качестве тактового может быть выбран либо генератор, расположенный на плате отлаживаемого устройства, либо сам внутрисхемный эмулятор. В последнем случае предусмотрена возможность программного управления частотой тактового сигнала из AVR Studio.

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

ICEPRO поддерживает неограниченное число программных точек останова (то есть точек останова, заданных в AVR Studio). Помимо этого ICEPRO имеет пять входов аппаратного останова (Trigger Inputs). Эти входы могут использоваться для прерывания исполнения программы по какому-либо внешнему событию. Для поддержки отладки сложных систем в ICEPRO предусмотрены пять синхровыходов (Trigger Outputs). Подобно программной точке останова, пользователь может в AVR Studio задать точку генерации синхрособытия. При выполнении внутрисхемным эмулятором команды, соответствующей этой точке, на выбранном синхровыходе будет сформирован импульс. Этот импульс может быть использован для синхронизации каких-либо внешних устройств.

Еще одной из удобных функций, реализованных в ICEPRO, является возможность записи трассы, то есть сохранение последовательности исполнения инструкций микроконтроллером. Анализ записанной трассы позволяет выявить участки кода, исполнение которых по тем или иным причинам не происходит (Code Coverage Analysis). Такой анализ очень полезен при отладке программ, содержащих несколько процедур обработки прерываний, особенно если вложенность прерываний не разрешена.

При необходимости использования комплексной отладки в ICEPRO предусмотрен разъем для подключения логического анализатора.

С ростом номенклатуры микроконтроллеров AVR внутрисхемный эмулятор ICEPRO был заменен на более новую модель ICE10.

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

MegaICE / ICE30 / ICE50

Внутрисхемный эмулятор megaICE и внешне и функционально очень похож на рассмотренный выше ICEPRO. Отличие заключается только в том, что megaICE был предназначен только для внутрисхемной эмуляции одного типа микроконтроллера - ATmega103 и, соответственно, имел другую выносную плату (ATmegaPOD). С ростом номенклатуры семейства ATmega внутрисхемный эмулятор megaICE был заменен на более новую модель ICE30.

Внутрисхемный эмулятор ICE30 поддерживает следующие микроконтроллеры семейства ATmega: ATmega103, ATmega161, ATmega163, Atmega83 и ATmega32. Расширилось и количество используемых с ICE30 выносных плат. Для поддержки микроконтроллеров ATmega103 используется выносная плата ATmegaPOD (то есть та же , что и в эмуляторе megaICE). Поддержка микроконтроллеров ATmega161 осуществляется с использованием уже знакомой выносной платы ATADCPOD. А для оставшихся микроконтроллеров - ATmega163, ATmega83 и ATmega32 - разработана новая выносная плата ATmega163POD.

В настоящее время планируется замена ICE30 на усовершенствованный внутрисхемный эмулятор ICE50.

ICE200

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

ICE200 представляет собой внутрисхемный эмулятор, построенный на основе отладочного кристалла. Преимущества построения внутрисхемного эмулятора на основе отладочного кристалла заключается в более точном соответствии поведения эмулятора и целевого микроконтроллера, а также в удешевлении такого внутрисхемного эмулятора по сравнению с классическим (поскольку отладочные кристаллы могут считаться стандартной продукцией микроэлектроники). Память программ отладочного кристалла ICE200 реализована на внешнем динамическом ОЗУ. Исполняемый код загружается в ОЗУ памяти программ при запуске отладчика AVR Studio в режиме поддержки внутрисхемного эмулятора ICЕ200.

ICE200 поддерживает следующие микроконтроллеры AVR: ATtiny10, Attiny11, ATtiny12, AT90S1200, AT90S2313, AT90S4414, AT90S8515, AT90S4434, AT90S8535, AT90S2333, AT90S4433. Причем поддерживаются как микроконтроллеры с напряжением питания 5 В, так и микроконтроллеры с напряжением питания 2,7 В - 3,6 В.

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

На сегодняшний день ICE200 является самым популярным внутрисхемным эмулятором, предлагаемым Atmel Corp.

Внутрисхемный эмулятор ICE200 представляет собой модульную конструкцию и состоит из:

  • Выносной платы с установленным на ней отладочным кристаллом
  • Тестовой панели
  • Платы управления
  • Набора адаптеров
  • Отладочный кристалл является универсальным, то есть поддерживает эмуляцию всех перечисленных микроконтроллеров. Для каждого конкретного типа микроконтроллеров существует свой адаптер, служащий для подключения выносной платы (с установленным на ней отладочным кристаллом) к целевому устройству. По типу подключенного адаптера ICE200 автоматически определяет, какой микроконтроллер будет эмулироваться.

  • Блока управления процессом отладки, реализованного на микроконтроллере AT90S8515-8AC и программируемой логической интегральной схеме (ПЛИС) ATF1504-10JС44
  • Статического ОЗУ (внешняя память программ отладочного кристалла)
  • Стабилизированного источника напряжения питания
  • Формирователя уровней сигналов интерфейса RS232 для связи с персональным компьютером

Плата управления ICE200 связывается с персональным компьютером через COM-порт.

В ICE200 реализован режим диагностики узлов внутрисхемного эмулятора. Для осуществления диагностики надо установить тестовую панель на плату отладочного кристалла, и в AVR Studio выбрать пункт меню Tools -> ICE200 Diagnostic. В результате этого откроется окно, в котором отображены все этапы диагностики (рис. 5.2).

Рис. 5.2. Окно диагностики узлов и режимов

После запуска процесса диагностирования (кнопка Run) последовательно проверяются все узлы и режимы внутрисхемного эмулятора. Если при этом определяется, что микроконтроллер и ПЛИС на плате управления содержат устаревшие варианты прошивки, то программа диагностики предложит автоматически обновить конфигурацию ПЛИС и памяти программ микроконтроллера.

Для отладки с помощью ICE200 устройств, содержащих микроконтроллеры AVR, выполненные корпусах для поверхностного монтажа, фирма Atmel предлагает дополнительный набор адаптеров ATAVRSMD. Этот набор содержит адаптеры двух типов: целевые и специализированные. Целевой адаптер припаивается на плату отлаживаемого устройства вместо микроконтроллера, а специализированный адаптер служит переходником между целевым адаптером и платой, на которой установлен отладочный кристалл. ATAVRSMD содержит по два целевых адаптера для корпусов типа SOIC8, PLCC44 и TQFP44.

JTAGICE

Альтернативой внутрисхемной эмуляции является режим фоновой отладки. В англоязычной литературе этот режим обозначается термином "On-Chip Debugging", или OCD.

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

Для поддержки режима "On-Chip Debugging" блок управления отладкой должен быть частью самого отлаживаемого микроконтроллера. В новые микроконтроллеры семейства ATmega (например ATmega128, ATmega323, Atmega16) встроен блок OCD. Исполнение программного кода и доступ ко всем регистрами микроконтроллера в режиме фоновой отладки осуществляется под управлением этого блока.

Управление фоновой отладкой в микроконтроллерах AVR осуществляется по JTAG-интерфейсу, совместимому со стандартом IEEE1149.1 . Устройством, реализующим протокол управления, является JTAGICE.

Так же, как и рассмотренные выше внутрисхемные эмуляторы, JTAGICE подключается к COM-порту персонального компьютера. Управляющая программа является составной частью AVR Studio, и запускается соответствующей командой из меню Tools.

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

Более подробное описание JTAGICE доступно на сайте Atmel по ссылке http://www.atmel.com/atmel/acrobat/doc2475.pdf.

В качестве стартового набора разработчика (Starter Kits) при выполнении лабораторного практикума в нашем случае используется отладочный модуль на базе ATmega8515, неполный аналог STK200, разработанный в ЮРГУЭС. Описание этого устройства приведено в разделе 6.

Hosted by uCoz

avr-prob.narod.ru


 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..