Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 62
Текст из файла (страница 62)
Обслуживание последовательного порта осуществляется с использованием микросхемы 8250. С этим модулем связан программный модуль, входящий в управляющую программу инструментального компьютера и файл прошивки теневого ПЗУ. Модуль общего управления, формирующий сигналы управления как для основной, так и для служебной (отладочной) частей аппаратуры контроллера, выполнен в виде микросхемы Р11)22У10. Последовательный порт пользователя включает разъем и схему согласования уровней. Этот модуль дает возможность разработчику использовать внутренний последовательный порт микроконтроллера. Модуль индикации позволяет, при необходимости, визуально следить за выполнением рабочей или тестирующей программы.
В целях наращивания системы управления с платы контроллера через разъем выведены демультиплексированные шины адреса и данных (разделение производится на плате с использованием регистров-защелок) и все линии специализированного ввода-вывода микроконтроллера (широтно- импульсного модулятора, линии скоростного ввода-вывода).
Разработчик может свободно использовать все ресурсы микроконтроллера за исключением прерываний ММ1 и ТВАР которые задействованы для целей отладки. Поскольку контроллер ориентирован на практическое использование, его топология тщательно проработана с точки зрения уменьшения габаритов и удобства интеграции в приборы и системы. Четырехслойная печатная плата размером 130х130 мм обеспечивает устойчивую работу на частотах до 20 МГц. Общий потребляемый ток составляет 250-300 мА при частоте Розе - 20 МГц и зависит от того, работает блок индикации или нет.
Поскольку рабочая компонента контроллера выполнена с использованием СМОК микросхем, потребляемая мощность в режиме целевого контроллера может 334 ИКРОКОНТРОЛЛЕРЫ АРХИТВОТРА ПРОГРАМ И И ИНТЕРФЕЯС быть дополнительно снижена за счет отсутствия в уже отлаженных издели- ях служебной компоненты. В процессе отладки вся память реализуется в виде микросхем ОЗУ на розетках. После завершения отладки память программ заменяется на запрограммированные отлаженным кодом БИС ПЗУ или ППЗУ. В настоящее время для работы с одноплатным контроллером доступны интегрированные системы программирования на языках Ассемблер и Паскаль- 96. Каждая система включает редактор текста, компилятор с языка высокого уровня или полноразмерный кросс-ассемблер, библиотеки периода выполнения, редактор связей, символический отладчик.
Имеется контекстный Не!р. Вид экрана и главного меню похожи на интерфейс пользователя рассмотренной выше системы Паскаль-51 (рис. 4.7-4.8). Отличие заключается в наборе аппаратных платформ, которыми эта система программирования способна управлять. Кроме одноплатного контроллера ЕС196Кх под управленияем этих систем может работать плата еча1паВоп Ьоагт! ЕЧ80С196 фирмы !псе!. Пользователь имеет возможность не выходя из системы загружать свои программы в память контроллера, выполнять их по шагам, в прогоне, с остановом по контрольным точкам. Поддерживается модульная технология программирования с раздельной трансляцией модулей. Отладка программ производится в исходном тексте, причем на каждом шаге отладки можно наблюдать за изменениями внутренних ресурсов как на логическом, так и на физическом уровне, а также модифицировать их.
Подключаемые библиотеки арифметики с плавающей запятой и библиотеки тригонометрических функций плюс типизация данных на уровне окна ЪЧассЬ позволятот успешно работать с данными типа !ттгейег и кеа!. моделирование выполняется с использованием аппаратных средств одноплатного контроллера.
Основным ограничением процесса отладки на средствах целевого контроллера является, как правило, изъятие прерывания с наиболее высоким приоритетом (!Т!М!) из распоряжения пользователя. Устранить это ограничение можно при использовании более развитых средств управления, которые применяются в схемных эмуляторах. Схемттые эмулявторы. Это в настоящее время наиболее совершенное средство комплексной отладки аппаратного и программного обеспечения микропроцессорных систем в реальном времени. Схемный эмулятор подключается к целевой плате гибким кабелем с эмуляционной вилкой, которая вставляется в розетку вместо микропроцессора или микроконтроллера.
Другим кабелем он подключается к инструментальной ЭВМ, на которой работает управляющая программа. Встречаются эмуляторы, выполненные в виде плат расширения инструментальной персональной ЭВМ. Схемный эмулятор управляет выполнением рабочей программы и наблюдает за состоянием отлаживаемой системы через магистраль. Поэтому перед его ГЛАВА 4 ПРОЕКТИРОВАНИЕ МИКРОПРО ЕССОРНЫХ КОНТРОЛЛЕРОВ 335 использованием должен быть выполнен этап автономной отладки аппара- туры и магистраль системы должна функционировать правильно. В основе схемного эмулятора лежит имитирующий процессор, выполняющий функцию замещения целевого микропроцессора или микроконтроллера. Кроме процессора замещается, как правило, память программ и данных.
Для этого служит эмуляционная память эмулятора. Обычно для удобства отладки она разбита на сегмрнты, карта памяти позволяет процессору обращаться либо к ячейкам эмуляционой памяти, либо к ячейкам памяти, размещенной на целевой плате. При работе со схемным эмулятором источник синхросигпала отлаживаемой системы может находиться либо на целевой плате, либо в эмуляторе. Поскольку в последнем случае синхросигнал идет от блока эмулятора к целевой плате через кабель и эмуляционную вилку, весьма важной является правильная схемная и конструктивная реализация генератора синхросигнаяа. Функции управления и наблюдения в схемном эмуляторе выполняются блоком управления на основе супервизора.
Последний отслеживает в реальном времени обмен по магистрали, анализирует формат команд и осуществляет контекстное переключение с рабочей программы на служебную. К настоящему времени сложился следующий набор команд отладки реаль- ного времени: ЯСер — выполнение одной команды исходного текста (ассемблера или язы- ка высокого уровня); ХВСер — выполнение заданного количества команд; АпнпаСе — автоматическое выполнение программы по шагам с промежуточ- ными остановами до ввода оператором команды Ягор; Со — выполнение фрагмента программы, начиная с текущего состояния и до контрольной точки. Контрольная точка должна быть установлена предварительно.
Последовательность выполненных команд рабочей программы фиксируется в памяти трасс эмулятора. Состояние отлаживаемой системы после выполнения команды отладки характеризуется состоянием имитирующего процессора, памяти программ и данных. Ресурсы схемного эмулятора отображаются на экране инструментальной ЭВМ с помощью управляющей программы.
Эта программа позволяет оператору определить режим работы эмулятора, загрузить код рабочей программы из файла в память программ, выполнить оперативное редактирование программы и программно доступных ресурсов, выбрать из меню и запустить на выполнение одну из команд отладки, просмотреть после останова программы результаты (в том числе трассу выполнения). 336 МИКРОКОНТРОЛЛЕРЫ АРХИТЕКТУРА ЛРОГРАММИРОЕАНИ ИНТЕРФЕЙС Особенности построения схемных эмуляторов для микроконтроллеров связаны с наличием внутренней памяти программ и закрытым характером архитектуры последних.
Для эмуляции микроконтроллера с внутренней памятью программ имитирутощий процессор строится, как правило, с использованием аналогичного кристалла, имеющего большее количество портов ввода-вывода. Дополнительные порты используются для служебных обращений к внутренней памяти, в то время как через «основные» порты выполняются рабочие операции. Закрытый характер архитектуры микроконтроллеров обусловлен невозможностью отключить счетчики-таймеры при служебных операциях.
Это значительно усложняет реализацито супервизора и блока управления в целом. Как и все инструментальные средства схемные эмуляторы имеют погрешности рабочих характеристик. У приборов этого класса принципиально существуют два класса погрешностей; электрофизического замещения и выполнения функций управления. Погрешность замещения связана с наличием буферов между некоторыми выводами имитирующего процессора и эмуляционной вилкой.
Погрешность управления связана с необходимостью выполнения после останова некоторого количества команд служебной процедуры, которые читают состояние имитирующего процессора в инструментальную ЭВМ (для управляющей программы эмулятора), а затем восстанавливают измененные этим чтением значения во внутренних регистрах (например, в регистрах таймеров-счетчиков).
При выполнении этой служебной процедуры может произойти прерывание по таймеру. Разработчик микропроцессорной системы работает со схемным эмулятором через управляющую программу. В качестве примера рассмотрим программу эмулятора МЭ-51, ориентированного на отладку систем на основе семейства микроконтроллеров МС5-51. Управляющая программа эмулятора МЭ-51 имеет экранный интерфейс и систему меню. Кроме управления аппаратурой эмулятора она способна работать автономно в качестве программно-логической модели, а также выполнять функции оболочки для внешних пакетов программирования микроконтроллеров семейства МСБ-51.
На рис. 4.12 приведен вид экрана с окнами отображения внутренних ресурсов микроконтроллера и дисассемблера, а также строкой мешо команд. Команды основного меню обеспечивают весь цикл работы аппаратно-программного комплекса на основе схемиого эмулятора: настройку, просмотр дисковой системы инстументальной ЭВМ и загрузку файлов кода или листинга ассемблирования, отладку рабочей программы с использованием программно-логической модели, интеграцию программы и аппаратуры при работе в реальном времени. Под строкой команд основного меню видна суфлирующая строка, в которой указывается действие выбранной команды и комбинация «горячих» клавиш вызова этой команды.