Методы и средства совместной отладки аппаратных и программных средств микроконтроллерных систем

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

Назначение инструментальных средств – обеспечение минимальных затрат на разработку МКС.

Основными инструментальными средствами для комплексной отладки являются:

1) внутрисхемные эмуляторы; 2) внутрисхемные отладчики; 3)отладочные мониторы;

4) платы развития; 5) эмуляторы ПЗУ; 6)JTAG-эмуляторы.

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

Основа ВСЭ – это эмуляционная микросхема от фирмы-производителя микроконтроллеров.

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

Но у ВСЭ также есть и ряд недостатков:

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

Внутрисхемный отладчик(In-Circuit Debugger – ICD), так же как и эмулятор, служит для внутрисхемной отладки МКУ, но принцип работы у него иной. Отладка осуществляется на штатном серийном микроконтроллере, при этом отлаживаемая программа записывается во Flash-память МК. Для того, чтобы функционировал режим внутрисхемной отладки, в серийные образцы микроконтроллеров встраивают специальный отладочный механизм. Для отладки этот механизм включается, а при обычной работе микроконтроллера в составе МКС он выключается с помощью конфигурационного слова МК.

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

1)загрузку кодов программы пользователя в свободную от монитора память;(2) установку точек останова;(3)запуск и останов загруженной программы в реальном времени; (4)проход программы пользователя по шагам; (5) просмотр, редактирование содержимого памяти и управляющих регистров.

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

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

Главным недостатком является отвлечение ресурсов МК на отладочные и связные с компьютером функции: монитор занимает некоторый объем памяти, задействованы прерывания, последовательный порт, часто и таймер.

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

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

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

JTAG-эмуляторы -это стандартный интерфейс, применяемый для тестирования электронных компонентов и устройств.

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

Наши рекомендации