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

Пример HTML-страницы

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

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

Назначение.

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

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

● быстро проверить правильность алгоритма выполнения программы и отдель­ных операций;

● вести наблюдение за исполнением любого фрагмента программы и реакцией микроконтроллера на различные события;

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

● загрузка файлов программ управления в широко распространенных форматах,

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

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

● высокоуровневая символьная отладка программ при условии использования компиляторов, поставляющих необходимую отладочную информацию. Такую возможность предоставляют высокоуровневые симуляторы–отладчики (High–Level Debuggers);

● вывод статистической информации по результатам прогона отлаживаемой программы. Эта информация необходима для оптимизации структуры программы. Дополнительные возможности. К ним следует отнести:

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

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

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

● перечень поддерживаемых микроконтроллеров и встроенных узлов периферии, а также компиляторов и форматов;

● скорость, детальность и точность симуляции. К достоинствам программной симуляции следует отнести:

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

● отсутствие в ограничении ресурсов МК при отладке программы управления;

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

● сравнительно низкая стоимость;

● расширение воспроизводимости путем использования файлов входных воз­действий. Недостатки программной симуляции:

● невозможность использования реальных источников входных сигналов и фор­мирования реальных выходных сигналов управления. Разработка файла вход­ных воздействий может потребовать много времени и больших затрат;

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

● имеются широкие дополнительные возможности по вмешательству в процесс исполнения тестируемой программы управления;

● отсутствуют ограничения в использовании ресурсов, связанных с обслужива­нием процесса отладки. Этап моделирования на программном симуляторе проводится на самой ран­ней стадии работы над проектом, когда аппаратная часть находится еще в стадии проектирования. Для иллюстрации возможностей внутрисхемных эмуляторов, приведем крат­кое описание программного отладчика–симулятора PDS–PIC, разработанного и поставляемого российской фирмой «Фитон».

Программный отладчик–симулятор PDS–PIC

Отладчик–симулятор PDS–PIC работает в среде Windows® и предназначен для написания и отладки программ, ориентированных на микроконтроллеры PICMicro фирмы Microchip. В его состав входят:

● встроенный многооконный редактор, поддерживающий операции с блоками текста поиск/замену, цветовое выделение синтаксических конструкций ас­семблера;

● встроенный менеджер проектов, поддерживающий автоматическую компиля­цию программ, написанных для макроассемблера PASM–PIC и для макроас­семблера MPASM фирмы Microchip;

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

● средства моделирования встроенных в микроконтроллер периферийных уст­ройств (таймеров, АЦП, системы прерываний, портов и др.) и внешней среды (например, можно задавать различные периодические и непериодические внешние сигналы на выводах микроконтроллера, моделировать работу внеш­ней логики, наглядно отображать различные индикаторы, строить графики, моделировать клавиатуру);

● средства пользовательского интерфейса, обеспечивающего:

• сохранение конфигурации окон и параметров настройки;

• сохранение и восстановление неограниченного количества файлов конфи­гурации;

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

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

● программное обеспечение для инструментального (обычно персонального) компьютера, который имитирует программно–логическую модель целевого МК, включая алгоритмы работы периферийных модулей. На основе целевого МК ведется разработка устройства управления;

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

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

Особенности отладки

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

● загрузку и выполнение (в пошаговом или непрерывном режимах) прикладной программы;

● остановку в контрольных точках;

● модификацию прикладной программы;

● чтение/запись памяти и регистров. Программа монитора хранится в ПЗУ замещающего МК. При прогонке прикладной программы:

● состояния входов целевого МК считываются с входов замещающего МК и пе­редаются в инструментальный компьютер;

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

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

Достоинство внутрисхемных симуляторов: возможность совместной отладки аппаратной и программной частей устройства с объектом управления при сохра­нении доступа разработчика ко всем внутренним ресурсам МК; недостаток — замедленное исполнение алгоритма управления, что заставляет предъявлять оп­ределенные требования к быстродействию объекта управления и МК. Отладочные платы. Особенности отладочных плат. Основные особенности отладочных плат (Evaluation Board), или оценочных модулей, состоят в следующем:

● подлежащую отладке программу управления исполняет реальный целевой микроконтроллер (МК), используемый в разрабатываемом устройстве;

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

● параметры входных и выходных сигналов МК отладочной платы совпадают с аналогичными параметрами целевого МК на плате конечного изделия. Отладочные платы включают аппаратные и программные средства. Аппаратные средства отладки содержат:

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

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

● набор периферийных средств: простейшая клавиатура, индикаторы в виде светодиодов и др.;

● последовательный интерфейс для связи с инструментальным (персональным) компьютером. Программное обеспечение для инструментального компьютера, вклю­чающее программу монитора отладки, которая позволяет:

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

● запустить прикладную программу на исполнение в непрерывном режиме, по шагам или с остановом в контрольных точках;

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

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

Недостаток состоит в том, что часть ресурсов МК (например, контроллер последовательного интерфейса, таймер, ячейки оперативной памяти) задейство­вана для выполнения программы монитора отладки и не может быть использова­на разработчиком при моделировании прикладной программы.

Схемные эмуляторы

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

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

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

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

● для проведения отладки в непрерывном режиме и между точками останова;

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

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

● загружать отлаживаемую программу в память системы и выполнять ее в по­шаговом или непрерывном режиме, останавливать программу при выполне­нии заданных условий;

● выводить на монитор состояния и содержимое всех регистров и памяти и при необходимости модифицировать их;

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

● выполнять трассировку, т. е. вести для последующего анализа запись внеш­них сигналов и (или) состояния внутренних регистров микроконтроллера;

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

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

Состав и устройство эмулятора

В состав эмулятора входят следующие блоки:

● замещающий контроллер (эмуляторный кристалл), размещенный в эмуляторной головке. Замещающий контроллер работает под управлением компьютера. Для работы с семейством микроконтроллеров используется определенный тип эмуляторов, причем для эмуляции каждой модели семейства предусмот­рена соответствующая эмуляторная головка;

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

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

● оперативная память (ОЗУ), которая заменяет в процессе отладки внутреннее ПЗУ команд микроконтроллеров (возможно, другие разделы памяти, внешний доступ к которым в процессе отладки ограничен). Благодаря такой замене можно в процессе отладки производить оперативное изменение содержимо­го этой памяти. После отладки содержимое эмуляционного ОЗУ переносится в рабочее ПЗУ системы;

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

● с одной стороны к внешней памяти программ ОЗУ, используемой вместо внутренней памяти EPROM или ROM целевого МК, и схеме управления. Внеш­няя память ОЗУ подключена к инструментальному компьютеру;

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

Процесс отладки

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

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

Число устанавливаемых контрольных точек обычно составляет несколь­ко десятков. Время выполнения фрагментов программы задает таймер с учетом реальной тактовой частоты системы. Дизассемблер дает возможность анализи­ровать выполнение программы в соответствии с ее исходным текстом на языке ассемблера. Программные средства. Программное обеспечение эмулятора включает в себя:

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

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

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

Упрощенные модели эмуляторов

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


Понравилась статья? Поделиться с друзьями:
Все об энергетике, электротехнике и электронике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: