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

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

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

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

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

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

●     исследовать ситуации, трудно воспроизводимые на реальной аппаратуре.

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

Основные функции. Основными функциями программных симуляторов являются:

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

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

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

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

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

Дополнительные возможности. К ним следует отнести:

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

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

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

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

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

●     скорость, детальность и точность симуляции.

К достоинствам программной симуляции следует отнести:

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

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

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

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

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

Недостатки программной симуляции:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

•      получение справки, относящейся к текущему меню, окну или диалогу.

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

Внутрисхемный симулятор содержит:

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

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

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

Так же, как и в программном симуляторе, отлаживаемая программа управле­ния, или прикладная программа, выполняется инструментальным компьютером под управлением специальной программы монитора, которая осуществляет:

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

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

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

●     чтение/запись памяти и регистров.

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

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

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

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

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

Отладочные платы. Особенности отладочных плат. Основные особенности отладочных плат (Evaluation Board), или оценочных модулей, состоят в следующем:

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

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

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

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

Аппаратные средства отладки содержат:

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

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

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

●     последовательный интерфейс для связи с инструментальным (персональным) компьютером.

Программное обеспечение для инструментального компьютера, вклю­чающее программу монитора отладки, которая позволяет:

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

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

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

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

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

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

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

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

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

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

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

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

Функциональные возможности. Схемный эмулятор позволяет:

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

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

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

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

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

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

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

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

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

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

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

●     таймер для контроля времени выполнения отлаживаемых фрагментов про­граммы.

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

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

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

рис. 5.4.1

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

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

Программные средства. Программное обеспечение эмулятора включает в себя:

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

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

●     отладчик.

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

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


Рекомендуйте эту статью другим!



aes 1
март 19, 2017 521

Атомные электростанции (АЭС), принцип работы, разновидности, типы, мощность

АЭС являются тепловыми станциями, использующими тепловую энергию ядерных реакций.…
состав процессора
окт 26, 2015 2888

Функции и состав процессора. Восьми - Шестнадцатиразрядный процессор. Сопроцессор.

Основные функции и состав процессора. На процессор возлагается выпол­нение операций,…
янв 22, 2013 1779

Выбор коммутационных аппаратов, показатели, рейтинг

Для обоснованного выбора оптимального типа КА целесообразно принять методику…
Выбор электроинструмента
фев 20, 2014 2093

Выбор электроинструмента

Сегодня уже трудно представить выполнение таких работ, как строительство и…
дек 13, 2012 4101

Провода и кабели, определение, обозначения, маркировка

Провод — одна неизолированная или одна либо более изолированных жил, поверх которых в…