Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
68
Добавлен:
15.03.2016
Размер:
322.69 Кб
Скачать

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 фреймов

 

 

 

 

 

 

 

Заключение

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

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