Рефераты. Микроконтроллеры для начинающих. И не только

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

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

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

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

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

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

 

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


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

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

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

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

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

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

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

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

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

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

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

Во втором случае плата развития содержит встроенные системы программирования внутреннего ПЗУ МК, которые управляются компьютером. Программу монитора заносят в ПЗУ МК вместе с прикладной, подготовленной соответствующим образом (в нужные места вставляют вызовы отладочных подпрограмм монитора). Затем осуществляется пробный прогон. Чтобы внести исправления в отлаживаемую программу, её стирают из ПЗУ и записывают в него откорректированную. Готовую прикладную программу получают из отлаженной путём удаления монитора и всех вызовов его функций. На такой алгоритм отладки рассчитаны платы развития для МК семейств PICmicro (Microchip), 80С750 (Philips), 89С2051 (Atmel).

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

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

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

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

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

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

Интеллектуальный эмулятор ПЗУ – это гибрид обычного эмулятора ПЗУ, отладочного монитора и системы быстрого переключения шины с одного на другой. Этим создаётся эффект, как если бы монитор отладки был установлен на плате пользователя, и при этом он практически не занимает у МК аппаратных ресурсов, кроме небольшой (примерно 4 Кбайт) зоны программных шагов. Подобный эмулятор разработан, например, фирмой «Фитон» для всех существующих и будущих МК, которые имеют ядро 8051, но дополнительно насыщены различными устройствами ввода / вывода. Изделие поддерживает множество самых разных МК фирм Philips, Siemens, OKI.

 

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


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

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

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

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

Как правило, хорошая интегрированная среда объединяет имеющиеся средства отладки (внутрисхемный эмулятор, программный симулятор, программатор) и обеспечивает работу программиста с текстами программ в стиле «турбо».

Интегрированная среда позволяет:

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

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

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

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

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

Ø    подключать к оболочке практически любые программные средства.

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

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

 

 


Заключение


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

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




Литература

1.     Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. – М.: ЭКОМ, 2002.

2.     Микушин А. Занимательно о микроконтроллерах. – М.: БХВ-Петербург, 2006. – ISBN 5–94157–571–8

3.     Фрунзе А.В. Микроконтроллеры? Это же просто!. – М.: ООО «ИД СКИМЕН», 2002. – Т. 1.

4.     Фрунзе А.В. Микроконтроллеры? Это же просто!. – М.: ООО «ИД СКИМЕН», 2002. – Т. 2.

5.     Фрунзе А.В. Микроконтроллеры? Это же просто!. – М.: ООО «ИД СКИМЕН», 2003. – Т. 3.

6.     Голубцов. М.С. Микроконтроллеры AVR: от простого к сложному – М.: СОЛОН-Пресс, 2003. 288 с. – (Серия «Библиотека инженера»).

7.     Журнал «Радио» №2 за 2000 г.


Страницы: 1, 2, 3, 4, 5, 6, 7



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.