Формализация требований к системе; разработка структуры и архите

Министерство образования и науки РФ

Уральский Государственный Технический Университет – УПИ

Радиотехнический факультет

Кафедра ТиСС

Реферат на тему

Средства и системы для отладки и диагностирования микропроцессорных устройств и систем.

Студент: Черепанов К.А.

Группа: Р-507

Екатеринбург

2004

Содержание:

TOC \o «1-3» \h \z \u HYPERLINK \l «_Toc68500558» Введение: PAGEREF _Toc68500558 \h 3

HYPERLINK \l «_Toc68500559» Средства отладки и диагностирования PAGEREF _Toc68500559 \h 4

HYPERLINK \l «_Toc68500560» Программные средства: PAGEREF _Toc68500560 \h 4

HYPERLINK \l «_Toc68500561» Аппаратно-программные средства: PAGEREF _Toc68500561 \h 4

HYPERLINK \l «_Toc68500562» Симуляторы PAGEREF _Toc68500562 \h 4

HYPERLINK \l «_Toc68500563» Отладочные мониторы PAGEREF _Toc68500563 \h 6

HYPERLINK \l «_Toc68500564» Интегрированная среда разработки (IDE) PAGEREF _Toc68500564 \h 6

HYPERLINK \l «_Toc68500565» Внутрисхемные эмуляторы. PAGEREF _Toc68500565 \h 8

HYPERLINK \l «_Toc68500566» Отладчик PAGEREF _Toc68500566 \h 9

HYPERLINK \l «_Toc68500567» Эмуляционная память PAGEREF _Toc68500567 \h 10

HYPERLINK \l «_Toc68500568» Трассировщик PAGEREF _Toc68500568 \h 10

HYPERLINK \l «_Toc68500569» Процессор точек останова PAGEREF _Toc68500569 \h 10

HYPERLINK \l «_Toc68500570» Профилировщик PAGEREF _Toc68500570 \h 10

HYPERLINK \l «_Toc68500571» Платы Развития PAGEREF _Toc68500571 \h 10

HYPERLINK \l «_Toc68500572» Эмуляторы ПЗУ. PAGEREF _Toc68500572 \h 12

HYPERLINK \l «_Toc68500573» Логические анализаторы PAGEREF _Toc68500573 \h 12

HYPERLINK \l «_Toc68500574» Сигнатурный анализатор PAGEREF _Toc68500574 \h 14

HYPERLINK \l «_Toc68500575» Комплексы диагностирования PAGEREF _Toc68500575 \h 15

HYPERLINK \l «_Toc68500576» Заключение PAGEREF _Toc68500576 \h 15

HYPERLINK \l «_Toc68500577» Список использованной аппаратуры: PAGEREF _Toc68500577 \h 16

Введение:

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

формализация требований к системе;

разработка структуры и архитектуры системы;

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

комплексная отладка и приемосдаточные испытания.

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

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

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

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

   К традиционным методам комплексной отладки аппаратуры и программного обеспечения микропроцессорных систем можно отнести следующие:

схемная эмуляция, в том числе внутрисхемная, а также с использованием режима ONCE (у микроконтроллеров фирмы Intel);

эмуляция памяти программ;

использование внутренних специальных средств микропроцессорных БИС (например, BDM порта микроконтроллеров фирмы Motorola);

использование внешних относительно целевой БИС аппаратных средств, размещаемых на плате микропроцессорного контроллера;

использование супервизора отладки, присоединяемого к плате микропроцессорного контроллера на период отладки;(разрабатывается в последнее время в качестве метода комплексной отладки).

Средствами отладки являются приборы, комплексы и программы, которые должны:

управлять поведением системы или (и) ее модели на различных уровнях абстрактного представления.

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

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

моделировать поведение внешней среды проектируемой системы.

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

Средства отладки и диагностирования

В целом средства отладки и диагностирования можно разделить на 2 основные группы:

Программные

Аппаратно-программные

Программные средства:

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

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

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

Аппаратно-программные средства:

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

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

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

Логические анализаторы

Сигнатурные анализаторы

Комплексы диагностирования

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

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

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

 Симуляторы

Симулятор — программное средство, способное имитировать работу микроконтроллера и его памяти. Как правило, симулятор содержит в своем составе:

Отладчик;

Модель ЦПУ и памяти.

Более продвинутые симуляторы содержат в своем составе модели встроенных периферийных устройств, таких, как таймеры, порты, АЦП, системы прерываний. Наиболее распространенные симуляторы: PDS-52- представляет собой программно-логическую модель микроконтроллера, имитирующую (симулирующую) работу ядра архитектуры семейства Intel 8051 — памяти, АЛУ, системы команд, регистров, PDS-PIC -программно-логическая модель микроконтроллера РIС, PDS-AVR – ATMEL, PDS-XE – семейство XEMICS XE8000, PDS-SE — семейство Sensory RSC4x, PDS-430 — микроконтроллеры семейства MSP430 фирмы Texas Instrument Corporation.

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

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

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

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

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

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

Отладочные мониторы

Отладочный монитор — специальная программа, загружаемая в память отлаживаемой системы. Она вынуждает процессор пользователя производить, кроме прикладной задачи, еще и отладочные функции:

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

Установку точек останова;

Запуск и останов загруженной программы в реальном времени;

Проход программы пользователя по шагам;

Просмотр, редактирование содержимого памяти и управляющих регистров.

Программа монитора обязательно должна работать в связке с внешним компьютером или пассивным терминалом, на которых и происходит визуализация и управление процессом отладки. Отладочные мониторы используют тот процессор, который уже стоит на плате пользователя. Достоинством этого подхода являются очень малые затраты при сохранении возможности вести отладку в реальном времени. Главным недостатком является отвлечение ресурсов микроконтроллера на отладочные и связные процедуры, например: монитор занимает некоторый объем памяти, прерывания, последовательный канал. Объем отвлекаемых ресурсов зависит от искусства разработчика монитора. В последнее время появились изделия, которые практически не занимают аппаратных ресурсов процессора, все они поддерживают современные стандарты BDM, JTAG, OnCE.

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

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

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

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

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

Избежать большого объема рутины и существенно повысить эффективность процесса разработки и отладки позволяют появившиеся и быстро завоевывающие популярность т.н. интегрированные среды (оболочки) разработки (Integrated Development Environment, IDE).

Концепция ИСР — объединение JTAG-отладчика/внутрисхемного эмулятора, программного отладчика-симулятора, компиляторов, текстового редактора, менеджера проектов и программатора в рамках единой интеллектуальной среды разработки, ориентированной на отладку программ на языке высокого уровня по исходному тексту дает поразительные возможности.

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

Столь же просто можно осуществить и переход к отладке проекта с помощью имеющегося отладчика-симулятора или приступить к «прошивке» ПЗУ отлаженной программой.

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

Дополнительно работа в интегрированной среде дает программисту:

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

Диагностика выявленных при компиляции ошибок, и исходный текст программы, доступный редактированию, выводятся одновременно в многооконном режиме;

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

Перекомпиляции подвергаются только редактировавшиеся модули;

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

Возможность подключения к оболочке практически любых программных средств.

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

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

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

Одним из наиболее распространенных на данный момент является внутрисхемный JTAG эмулятор, предназначенный для отладки и программирования микроконтроллеров различных фирм (Atmel, Intel, Texas Ins.), имеющих функцию отладки с использованием 4-хпроводного последовательного JTAG интерфейса, реализующего метод периферийного сканирования, то есть получения последовательности состояний выводов исследуемого устройства. В настоящее время предлагается две альтернативные реализации: так называемый улучшенный JTAG (EJTAG) от фирмы MIPS и интерфейс NEXUS (IEEE-ISTO 5001).Существуют также специализированные отладочные интерфейсы отдельных фирм, как, например, BDM фирмы Motorola, позволяющий считывать и записывать данные в отдельные ячейки памяти и регистры, читать и записывать данные в непрерывные блоки памяти, а также останавливать и возобновлять исполнение программы с указанного адреса (который может быть исходным или модифицированным значением регистра счетчика команд). Для отладки устройств типа 8051 и С166, которые не являются однокристальными и в которых порты 0 и 2 используются в качестве внешней шины, могут применяться системы ICE-Connect. Особенно они полезны для эмуляции систем с высокой степенью интеграции, где необходимо протестировать покрытие кода в окончательной версии программы и с окончательным составом технических средств.

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

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

Как минимум, эмулятор содержит следующие функциональные блоки:

Отладчик;

Узел эмуляции микроконтроллера;

Эмуляционная память;

Подсистема точек останова.

Более продвинутые модели могут содержать дополнительно:

Процессор точек останова;

Трассировщик;

Профилировщик (анализатор эффективности программного кода);

Таймер реального времени;

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

Программно-аппаратные средства, обеспечивающие синхронное управление, необходимое для эмуляции в мультипроцессорных системах;

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

Отладчик

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

Хороший отладчик позволяет осуществлять:

Загрузку отлаживаемой программы в память системы;

Вывод на монитор состояния и содержимого всех регистров и памяти, и при необходимости, их модификацию;

Управление процессом эмуляции.

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

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

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

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

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

Эмуляционная память

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

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

Трассировщик

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

Процессор точек останова

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

Профилировщик

Профилировщик (иначе анализатор эффективности программного кода) позволяет получить по результатам прогона отлаживаемой программы следующую информацию:

Количество обращений к различным участкам программы;

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

Анализ статистической информации, поставляемой профилировщиком, позволяет легко выявлять “мертвые” или перенапряженные участки программ, и в результате оптимизировать структуру отлаживаемой программы.

Платы Развития

Платы развития, или как принято их называть в зарубежной литературе — оценочные платы (Evaluation Boards), являются своеобразными конструкторами для макетирования прикладных систем. В последнее время, при выпуске новой модели кристалла микроконтроллера, фирма-производитель обязательно выпускает и соответствующую плату развития. Обычно это печатная плата с установленным на ней микроконтроллером, плюс вся необходимая ему стандартная обвязка. На этой плате также устанавливают схемы связи с внешним компьютером. Как правило, там же имеется свободное поле для монтажа прикладных схем пользователя. Иногда имеется уже готовая разводка для установки дополнительных устройств, рекомендуемых фирмой, например, ПЗУ, ОЗУ, ЖКИ-дисплей, клавиатура, АЦП и др. Кроме учебных или макетных целей, такие доработанные пользователем платы стало выгодно (экономия времени) использовать в качестве одноплатных контроллеров, встраиваемых в мало серийную продукцию (5..20 шт.).

Для большего удобства, платы развития комплектуются еще и простейшим средством отладки на базе монитора отладки. Однако, здесь проявились два разных подхода: один используется для микроконтроллеров, имеющих внешнюю шину, а второй — для микроконтроллеров, не имеющих внешней шины.

В первом случае отладочный монитор поставляется фирмой в виде микросхемы ПЗУ, которая вставляется в специальную розетку на плате развития. Плата также имеет ОЗУ для программ пользователя и канал связи с внешним компьютером или терминалом. Примером здесь может служить плата развития фирмы Intel для микроконтроллера 8051.

Во втором случае, плата развития имеет встроенные схемы программирования внутреннего ПЗУ микроконтроллера, которые управляются от внешнего компьютера. В этом случае, программа монитора просто заносится в ПЗУ микроконтроллера совместно с прикладными кодами пользователя. Прикладная программа при этом специально должна быть подготовлена: в нужные ее места вставляют вызовы отладочных подпрограмм монитора. Затем осуществляется пробный прогон. Чтобы внести в программу исправления, пользователю надо стереть ПЗУ и произвести повторную запись. Готовую прикладную программу получают из отлаженной путем удаления всех вызовов мониторных функций и самого монитора отладки. Примерами могут служить платы развития фирмы Microchip для своих PIC контроллеров. Такой же принцип и у плат для отладки микроконтроллеров 80С750 Philips или 89C2051 Atmel.

Аппаратное и программное обеспечение целевых плат позволяет:

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

Плата позволяет вести отладку программ в реальном времени и на реальном кристалле;

Вести отладку аппаратной части устройства на заранее подготовленных тестовых программах.

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

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

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

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

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

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

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

Логические анализаторы

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

В соответствии с сегодняшними требованиями можно разделить ЛА на несколько типов. Фирма Tektronix выделяет два основных типа: анализаторы микропроцессорных систем на программном уровне описания (embedded microprocessor software debug applications), называемые также анализаторами состояний (state analyzer) и анализаторы цифровых систем на логическом и временном уровне (hardware debug applications), называемые анализаторами временных соотношений (timing analyzer).

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

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

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

Основные типы ЛА на примере анализаторов фирмы HP:

Настольный логический анализатор (benchtop logic analyser). Предназначен для решения комплексных задач программно-аппаратной отладки микропроцессорных систем. Сочетает в себе все необходимые возможности для решения конкретной задачи. Прибор может включать различные опции, например, аналоговый вход, большой объем памяти, осциллограф, генератор логических состояний.

Модульная система логического анализа (modular logic analysis system).Предоставляются наборы измерительных средств для различных задач тестирования цифровых систем, например, модули анализа временных соотношений и анализа состояний (state and timing analysis modules), модули цифрового осциллографа (digitizing oscilloscope modules), генератор логических состояний (pattern generator module), программные анализаторы реального времени (real-time software analyzers). Модульная система представляет собой более мощное средство логического анализа, чем настольный логический анализатор. Она включает основной блок (mainframe) и набор модулей. При помощи добавления различных модулей можно как наращивать число каналов системы, так и расширять ее функциональные возможности.

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

Сигнатурный анализатор

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

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

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

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

Комплексы диагностирования

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

Заключение

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

Список использованной аппаратуры:

Н.П. Васильев, В.Р. Гороховой, «Микропроцессоры. Аппаратурно-программные средства отладки», Высшая школа, М.,1984.

Н.В. Воробьев, В.Л. Горбунов, «Микропроцессоры. Средства отладки: Лабораторный практикум и задачник», Кн. 3, Выш. Шк., Мн., 1987

В.А. Мясников, М.Б. Игнатьев, «Микропроцессоры: системы программирования и отладки», Энергоатомиздат, М.,1985.

Г.Б. Уильямс, «Отладка микропроцессорных систем», Энергоатомиздат, М., 1988.

Интернет-ресурс HYPERLINK «http://www.phyton.ru» http://www.phyton.ru

Интернет-ресурс HYPERLINK «http://www.cta.ru» http://www.cta.ru

Интернет-ресурс HYPERLINK «http://www.mka.ru» http://www.mka.ru

PAGE

PAGE 15