Рассматриваемые в этом разделе 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. В отличие от симулятора отладка ведется на реальном оборудовании.
Процесс отладки
С помощью схемного эмулятора в систему вводится тестовая (или рабочая) программа и контролируется ее выполнение путем прерываний в контрольных точках. Условиями прерываний служат различные комбинации значений адреса, данных и управляющих сигналов, поступающих на выводы эмулирующего микроконтроллера. Эти комбинации могут быть заданы пользователем с клавиатуры управляющего компьютера.
После останова на экран выводится полная информация о текущем состоянии любых регистров и ячеек памяти системы. Используя память трассы, можно просмотреть состояния системной шины для определенного числа предыдущих циклов выполнения программы. Память трассы работает аналогично памяти рассмотренных ниже логических анализаторов.
Число устанавливаемых контрольных точек обычно составляет несколько десятков. Время выполнения фрагментов программы задает таймер с учетом реальной тактовой частоты системы. Дизассемблер дает возможность анализировать выполнение программы в соответствии с ее исходным текстом на языке ассемблера. Программные средства. Программное обеспечение эмулятора включает в себя:
? служебную программу (монитор), которая обеспечивает работу всех блоков под управлением базового компьютера;
? компилятор (или ассемблер), который позволяет программировать работу системы на языке высокого уровня (или ассемблера);
? отладчик. Эти программные средства обычно функционируют в составе интегрированной среды проектирования/отладки и обеспечивают в процессе отладки выдачу данных на экран монитора в удобном для пользователя многооконном формате. Большинство современных эмуляторов используют символьные отладчики и дизассемблеры, применение которых делает процесс отладки более простым и наглядным.
Упрощенные модели эмуляторов
Схемные эмуляторы с набором перечисленных выше функций называют отладочными комплексами, или системами развития (Development System). Наряду с такими сложными и дорогими моделями выпускаются упрощенные варианты схемных эмуляторов, реализованные на одной печатной плате. Они позволяют выполнять отладку систем малой и средней сложности, имеют на порядок более низкую стоимость, поэтому находят достаточно широкое практическое применение.
Милые путаны встречаются с обеспеченным мужчинами для приятного отдыха, проверенные шлюхи Аксая по вызову, доставят тебе незабываемое ощущение. Среди анкет этого интернет - ресурса redaksaj.ru, вы сможете найти для себя проститутку на час или на ночь. Стильные проверенные шлюхи Аксая по вызову, пылкие и страстные, они такие грациозные и привлекательные, что интимный досуг тебе обеспечен. Твои сексуальные фантазии станут явью.