Средства программирования и отладки систем на базе микроконтроллеров семейств 68HC705
 

И. Шагурин, И. Исенин

Средства программирования и отладки систем на базе микроконтроллеров семейств 68HC705

    Широкая номенклатура микроконтроллеров, выпускаемых фирмой Motorola, позволяет удовлетворить запросы широкого круга потребителей [1-3]. Однако выбор типа микроконтроллера является только первым шагом на пути создания системы, соответствующей требованиям заказчика. Реализация такой системы является сложным и трудоемким процессом, выполнение которого на современном уровне невозможно без использования комплекса специализированных программных и аппаратных средств, помогающих разработчику на различных этапах проектирования, программирования и отладки [1,4].

    Для микроконтроллеров Motorola разработан широкий набор средств, поддерживающих процедуру проектирования-отладки. Большую номенклатуру таких средств производит сама фирма Motorola [5]. Их выпускает также целый ряд других производителей, среди которых такие фирмы, как Hewlett-Packard, Byte Craft Limited, Cosmic Software Inc., P&E Microcomputer Systems Inc., iSYSTEM GmbH, Pentica Systems Inc., Hiware и другие [1,6]. Ряд разработок в этой области выполнен российскими организациями, продукция которых отличается доступными ценами при достаточно высоких технических характеристиках [7,8].

    В данной статье дается обзор средств, входящих в современные программно-аппаратные комплексы проектирования-отладки систем на базе семейства 68HC05/705.

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

    На различных этапах проектирования-отладки систем используются следующие специализированные аппаратные средства:

  • логические анализаторы, осциллографы смешанных сигналов;
  • различные виды плат развития;
  • схемные симуляторы и эмуляторы, отладочные комплексы;
  • эмуляторы ПЗУ;
  • программаторы.

    Рассмотрим основные особенности применения этих средств, используемых при разработке систем на базе 8-разрядных микроконтроллеров Motorola.

Логические анализаторы и осциллографы смешанных сигналов

    Логические анализаторы являются универсальными приборами для анализа функционирования цифровых систем [1]. Они позволяют контролировать логическое состояние нескольких десятков точек системы в течение заданного промежутка времени и выдать информацию об их состоянии в визуальном (на экране монитора) или печатном виде. Форма представления может быть символьная или графическая (временные диаграммы сигналов). Входные каналы анализатора подключаются к точкам контроля с помощью зондов-клипсов. Число каналов в современных анализаторах обычно составляет от 16 до 200. Запуск анализатора производится автоматически при поступлении на определённые каналы заданного кода (адреса, данных или комбинации управляющих сигналов) или последовательности кодов. После запуска в память анализатора записывается последовательность значений логических сигналов в точках контроля. Объём этой памяти определяет число контролируемых точек на временной оси (глубину контроля), которое может составлять от нескольких тысяч до сотен тысяч. На экран выводятся несколько десятков точек для каждого канала с возможностью просмотра всей записанной в памяти последовательности состояний. Максимальная частота дискретизации временных интервалов для различных моделей анализаторов имеет значение от нескольких десятков до сотен мегагерц.

    Логические анализаторы, которые выпускаются ведущими производителями электронно-измерительной аппаратуры: Hewlett-Packard, Tektronix, John Fluke и рядом других, — реализуются в виде автономных измерительных приборов с собственным дисплеем или анализаторных блоков (си-стем), подключаемых к персональному компьютеру. Приведём основные характеристики логических анализаторов компании Hewlett-Packard, которые широко используются для отладки систем на базе микроконтроллеров [6].

    Анализаторы серии HP1660 представляют собой автономные приборы, которые позволяют контролировать от 34 до 136 каналов с глубиной до 8К точек, обеспечивая контроль логических состояний с частотой до 100 МГц при разрешающей способности 2 нс (частота дискретизации 500 Мгц). Отдельные модели этой серии содержат также двухканальный осциллограф с полосой пропускания 250 Мгц или генератор последовательностей 32-разрядных тестовых сигналов с частотой до 200 МГц. Анализаторы серии HP 1670 обеспечивают глубину контроля до 128К точек при других аналогичных параметрах. Эти серии логических анализаторов наиболее эффективны для отладки систем на базе 8-разрядных микроконтроллеров семейства 68HC05/705.

    Более широкие возможности отладки реализуют анализаторные системы HP 16600, HP 16700 компании Hewlett-Packard, которые работают с внешними монитором, клавиатурой и мышью. Эти системы построены по модульному принципу, позволяя пользователю выбрать необходимый ему набор стандартных функциональных модулей для выполнения различных процедур контроля отлаживаемого устройства. Системы серии HP 16600 имеют от 68 до 204 каналов, выполняющих анализ логических состояний с частотой до 100 МГц при разрешающей способности 4 нс (частота дискретизации 250 МГц) и глубине контроля 128К точек. Имеется возможность подключения к системе измерительного модуля, выполняющего функции цифрового осциллографа или генератора тестовых последовательностей, и модуля схемного эмулятора. Системы серии HP 16700 обеспечивают контроль до 1020 каналов с частотой анализа состояний до 100 МГц, частотой дискретизации 400 МГц и глубиной до 4М точек, позволяют дополнительно включать в систему пять измерительных и два эмуляторных модуля. Основной областью применения анализаторных систем HP 16600 и HP 16700 является отладка сложнофункциональных управляющих комплексов, использующих в качестве процессорного ядра высокопроизводительные 32-разрядные микроконтроллеры и микропроцессоры (Motorola 68300, PowerPC, MPC860/820, Intel Pentium, Pentium II), а в качестве периферийных контроллеров — различные модели 8-разрядных микроконтроллеров.

    Особенно полезным в процессе отладки многих цифровых систем является использование осциллографов смешанных сигналов, которые позволяют одновременно контролировать логическое состояние и значение аналоговых сигналов в различных точках схемы. В этом классе средств отладки оптимальным по комплексу технических и эксплуатационных характеристик является прибор HP54645D компании Hewlett-Packard (рис. 1), который содержит двухканальный цифровой осциллограф с полосой пропускания 100 МГц (частота дискретизации 200 МГц), чувствительностью 10 мВ/деление, и 16-канальный логический анализатор с частотой дискретизации 400 МГц, глубиной контроля до 2М точек. Осциллограф реализует различные способы запуска: по перепаду, по кодовому слову или логической комбинации кодовых слов, при поступлении помехи или ТВ-сигнала. Комбинация синхронно запускаемых осциллографа и логического анализатора с большой глубиной контроля открывает новые возможности для выявления причин возникновения сбоев и помех при работе микроконтроллерных систем. Данный прибор позволяет определять причины возникновения помех на шинах питания, выявлять трудноуловимые импульсные помехи в линиях связи, контролировать совместную работу аналоговых и цифровых блоков, отлаживать процедуры последовательного обмена данными при искажениях формы передаваемых сигналов, а также решать многие другие проблемы, которые весьма трудно разрешить другими способами.

Рис. 1. Осциллограф смешанных сигналов HP54645D

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

    Схемный эмулятор (СЭ) представляет собой программно-аппаратный комплекс, который в процессе отладки замещает микроконтроллер в реализуемой системе. В результате такой замены функционирование отлаживаемой системы становится наблюдаемым и контролируемым. Разработчик получает возможность визуального контроля за работой системы на экране дисплея и управления её работой путём установки определённых управляющих сигналов и модификации содержимого регистров и памяти. Благодаря наличию таких возможностей СЭ является наиболее универсальным и эффективным отладочным средством, используемым на этапе комплексной отладки системы [1,4].

    Наиболее широкое применение получили СЭ, подключаемые к базовому управляющему компьютеру типа IBM PC или рабочей станции. Обычно такие СЭ конструктивно оформлены в виде прибора, размещённого в отдельном корпусе с автономным источником питания и соединённого с базовым компьютером. C помощью плоского кабеля к СЭ подключается эмуляторная головка, которая имеет вилку для включения в систему вместо эмулируемого микроконтроллера. В головке размещается эмулирующий микроконтроллер, который выполняет те же функции, что и эмулируемый, но работает под управлением компьютера. Большинство СЭ предназначено для работы с определённым семейством микроконтроллеров, причём для эмуляции каждой модели семейства используется соответствующая головка.

    В структуру типичного СЭ входят следующие блоки:

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

    СЭ позволяет вводить в систему тестовую или рабочую программу и контролировать её выполнение, обеспечивая прерывания в контрольных точках. Условиями прерывания могут быть различные комбинации значений адреса, данных и управляющих сигналов, поступающих на выводы эмулирующего микропроцессора или микроконтроллера. Эти комбинации задаются пользователем с клавиатуры управляющего компьютера. После останова пользователь может получить на экране информацию о текущем состоянии любых регистров и ячеек памяти системы. С помощью памяти трассы можно просмотреть состояния си-стемной шины для определённого количества предыдущих циклов выполнения программы. Дизассемблер позволяет анализировать выполнение программы в соответствии с её исходным текстом на языке ассемблера. Память трассы работает аналогично памяти логического анализатора, поэтому СЭ может выполнять также и его функции. Число программно устанавливаемых контрольных точек составляет до нескольких десятков тысяч (табл. 1). Объём памяти трассы в различных СЭ позволяет контролировать от 4К до 512К программных циклов. Таймер служит для определения времени выполнения фрагментов программы с учетом реальной тактовой частоты системы.

Таблица 1. Схемные эмуляторы для отладки систем на базе микроконтроллеров семейства 68HC05/705

Производитель, тип Семейство МК Объем памяти трассы Число точек контроля Примечания
Motorola
MMDS 05/08
68HC05, HC08 8 K до 64 К 32 канала логического анализатора
iSYSTEM
iC 181 PowerEmulator
68HC05 32 K не ограничено 32 канала логического анализатора
Hitex Development Tools
In-Circuit Emulator
68HC05, HC08      
Lauterbach Datentechnic
TRACE32-ICE
68HC05, HC08 32 K   Работа под Windows, UNIX
Meta Link
ice MASTER-68HC05
68HC05 4 K до 56К  

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

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

    СЭ, реализующие вышеперечисленные функции, называют отладочными комплексами или системами развития (development system). Такие комплексы выпускаются для различных семейств фирмой Motorola и рядом других производителей. В табл. 1 приведены основные характеристики наиболее распространённых зарубежных моделей СЭ, которые используются для комплексной отладки систем, реализуемых на базе 8-разрядных микроконтроллеров Motorola [1,7].

    Модульная система разработки MMDS05 фирмы Motorola представляет собой высокопроизводительное полнофункциональное средство схемной эмуляции. MMDS является конструктивно законченным устройством, включающим платформу с источником питания, которая содержит:

  • логический анализатор состояния линий ввода/вывода в реальном времени;
  • буферное ОЗУ для хранения трассы ёмкостью 8Кґ64;
  • быстрое двухпортовое эмуляционное ОЗУ ёмкостью 64 Кбайт, обеспечивающее эмуляцию в режиме реального времени.

    В составе MMDS05 функционирует интегрированная среда программирования-отладки для IBM PC, включающая редактор текста, ассемблер, отладчик и редактор связей. При отладке обеспечиваются различные варианты останова в контрольных точках: программно (можно задавать до 64 команд, вызывающих останов) или по комплексу значений адреса, данных и сигналов ввода/вывода (можно указать 4 комбинации, вызывающие останов). К платформе подключаются эмуляционные модули, индивидуальные для каждой серии микроконтроллеров. С отлаживаемой системой MMDS05 соединяется с помощью гибкого кабеля и специального адаптера, соответствующего типу корпуса целевого микроконтроллера. Имеются необходимые модули и адаптеры для всех моделей микроконтроллеров, входящих в программу “No Excuse”. Стоимость комплекта MMDS05, в который входят платформа, программное обеспечение, эмуляционные модули, адаптеры и кабели для определённой модели микроконтроллера, составляет 3450$ (цена производителя).

    Кроме описанных сложнофункциональных и дорогих моделей СЭ рядом производителей выпускаются их упрощённые варианты, реализованные на одной печатной плате. Такие СЭ обладают ограниченными возможностями: имеют существенно меньший объём памяти трассы, не реализуют функции логического анализатора, не обеспечивают символьной отладки и т. д. Однако они позволяют выполнять отладку систем малой и средней сложности, имеют на порядок более низкую стоимость, поэтому находят достаточно широкое практическое применение. Часть функций СЭ выполняют некоторые типы плат развития, например, описанные ниже платы M68HC05EVM, MMEVS фирмы Motorola.

    В лаборатории “Моторола–Микропроцессорные системы” МИФИ разработан универсальный схемный эмулятор ICE-MMS/05 для микроконтроллеров семейств 68HC05/705. Эмулятор состоит из универсальной платформы и сменных модулей, которые обеспечивают эмуляцию определённых моделей микроконтроллеров. К отлаживаемой системе эмулятор подключается гибким кабелем с вилкой. Внутренняя память микроконтроллера эмулируется с помощью внешнего ОЗУ ёмкостью 8 или 16 Кбайт. Для работы с эмулятором используется отладчик Debug05, который представляет собой интегрированную среду с многооконным интерфейсом. Функциональные возможности Debug05 описаны ниже. На базе этого эмулятора реализуется модификация ICE-MMS/08 с интегрированной средой Debug08 для отладки систем на базе микроконтроллеров семейства 68HC08.

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

Таблица 2. Схемные симуляторы для отладки систем на базе микроконтроллеров семейства 68HC05/705

Производитель, тип Семейство МК Операционная система Примечания
Motorola
In-Circuit Simulator Kit
68HC05, 68HC08 Windows 3.x, Windows 95 Встроенный программатор
Oztechnics Pty Ltd
68HC05 Evalution System
68HC05 DOS, Windows 95/NT  

    Фирма Motorola выпускает серию недорогих симуляторов M68ICS05 для проектирования и отладки систем на базе микроконтроллеров, включённых в программу “No Excuses” (цена производителя 99$). Серия включает симуляторы:

  • M68ICS05J для микроконтроллеров 68HC705KJ1, 68HC705J1A;
  • M68ICS05P6A для микроконтроллеров 68HC705P6A;
  • M68ICS05C для микроконтроллеров 68HC705C8A, 68HC705C9A;
  • M68ICS05B для микроконтроллеров 68HC705B16.

    В состав СС серии M68ICS05 входят комплект программного обеспечения, плата схемного симулятора/программатора для соответствующей модели микроконтроллера, сетевой адаптер, дающий необходимое напряжение питания платы, набор кабелей и образцы микроконтроллеров с ультрафиолетовым стиранием, которые служат для многократной записи пользовательских программ с их последующей аппробацией в составе отлаживаемой системы. Программное обеспечение представляет собой многооконную интегрированную среду разработки, функционирующую с Windows3.11 или Windows95, которая включает редактор текста, транслятор с языка Ассемблер и отладчик. Плата симулятора подключается к персональному компьютеру через последовательный интерфейс типа RS232 (скорость обмена 19,2 или 115,2 КБод). Для соединения СС с отлаживаемой системой в комплекте имеются кабели с вилками, которые соответствуют используемым типам корпусов.

    Симуляторы M68ICS05 обеспечивают выполнение всех этапов разработки и отладки целевых систем на основе микроконтроллеров, входящих в программу “No Excuse”: ввод текста программы на языке Ассемблера и её трансляцию в двоичный код, выполнение программы по шагам и в режиме псевдопрогона (на пониженной частоте), останов выполнения программы в контрольных точках или по состоянию регистров микроконтроллера, отображение на экране дисплея и модификация всех программно-доступных ресурсов микроконтроллера в момент останова, включение в отлаживаемую систему вместо целевого микроконтроллера, программирование внутренней памяти целевого микроконтроллера перед установкой в систему.

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

    Данное устройство используется при отладке систем, рабочая программа которых размещается в ПЗУ[1,4]. Эмулятор ПЗУ содержит ОЗУ, которое подключается к системе вместо управляющего ПЗУ, и работает под управлением подключенного к эмулятору базового компьютера. В процессе отладки эмулятор ПЗУ позволяет выполнять многократное оперативное изменение рабочей программы, окончательный вариант которой заносится в ПЗУ системы.

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

    В лаборатории “Моторола–Микропроцессорные системы” МИФИ разработан эмулятор ПЗУ типа RET [4,8,9], обеспечивающий эмуляцию памяти ёмкостью до 128 Кбайт (ЭППЗУ от 2Кґ8 до 128Кґ8, ППЗУ от 256х4 до 2Кґ4, ОЗУ от 2Кґ8 до 128Кґ8) с временем выборки до 50 нс. Эмулятор RET реализован на плате размером 60ґ80 мм, подключаемой к управляющему компьютеру IBM-PC через параллельный LPT-порт. В качестве дополнительных функций отладки систем обеспечивается пошаговый режим выполнения программы и работа эмулятора в качестве логического анализатора с памятью трассы 64К точек. Функции эмуляции ПЗУ реализуют также некоторые типы программаторов, например, LabTool-48 фирмы Advantech.

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

    Этот класс средств проектирования микроконтроллерных систем является наиболее многочисленным [1]. Условно их можно разделить на следующие типы:

  • оценочные комплекты (evalua-tion kit) — набор размещенных на плате аппаратных средств, до-статочных для реализации несложных систем;
  • отладочные платы и системы (evaluation board, system) — размещённые на плате программно-аппаратные комплексы, обеспечивающие моделирование и отладку систем на базе определённых моделей микроконтроллеров;
  • одноплатные контроллеры (single-board controller) — конструктивные комплексы, предна-значенные для использования в качестве базовых модулей при реализации целевых систем промышленного применения.

    Эти средства могут использоваться для следующих целей:

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

    Практически все типы плат развития содержат в своём составе порты для подключения управляющего персонального компьютера. Чаще всего для этой цели используется последовательный обмен по стандарту RS-232. Ряд типов отладочных и целевых плат имеют также отдельное поле для макетирования пользователем дополнительных устройств с помощью проводного монтажа.

    Ввиду большого разнообразия областей и способов применения номенклатура выпускаемых плат развития очень широка и четкие границы между их типами отсутствуют. Во многих случаях отладочные платы могут использоваться в составе целевых систем, а одноплатные компьютеры часто служат средствами моделирования и отладки прототипных систем. Рассмотрим характеристики типичных представителей этого класса средств проектирования-отладки, используемых для микроконт-роллеров семейства 68HC05/705.

    Отладочные платы серии M68HC05EVM, производимые фирмой Motorola, имеют несколько модификаций для различных моделей микроконтроллеров семейства 68HC05. Платы комплектуются соответствующими типами микроконтроллеров, эмуляционной памятью ёмкостью 8 или 16 Кбайт, содержат резидентный отладчик, позволяющий выполнять отладку программ без использования управляющего компьютера. Порты микроконтроллера выведены на внешние разъёмы платы, что даёт возможность подключать к ней различные периферийные устройства. На плате расположен также программатор, который позволяет переписывать отлаженную программу в память микроконтроллера, используемого в целевой системе. Два отдельных последовательных порта типа RS-232 обеспечивают подключение к ней управляющего компьютера и монитора.

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

    Более эффективным является использование M68HC05EVM в комплексе с персональным компьютером и интегрированной средой программирования-отладки Debug05, разработанной в лаборатории “Моторола–Микропроцессорные системы” МИФИ. Функциональные возможности среды Debug05 описаны ниже. Такой комплекс, реализующий функции схемного эмулятора и программатора, обеспечивает все необходимые средства для проектирования и отладки систем на базе микроконтроллеров 68HC05/705. Этот комплекс является также эффективным средством для практического освоения методов разработки систем на базе семейства 68HC05/705, который позволяет изучить функционирование микроконтроллеров, получить навыки программирования, освоить способы их применения в системах управления различными устройствами и процессами.

    Для проектирования и отладки систем на базе различных моделей микроконтроллеров семейства 68HC05 фирма Motorola выпускает двухплатную модульную отладочную систему MMEVS05, работающую совместно с персональным компьютером IBM PC. В состав системы входят базовая плата PFB, используемая для всех моделей семейства, и набор плат эмуляционных модулей EM, которые определяют модель используемого микроконтроллера. Путем смены платы EM система настраивается на применение опре-делённой модели. Соответствующие адаптеры обеспечивают подключение MMEVS05 вместо целевого микроконтроллера отлаживаемой системы. Базовая плата содержит быстрое эмуляционное ОЗУ ёмкостью 64 Кбайт, которое обеспечивает эмуляцию работы целевого микроконтроллера в реальном режиме времени c остановами в контрольных точках. Программное обеспечение для MMEVS05 аналогично используемому в вышеописанной модульной системе разработки MMDS05. Для микроконтроллеров, входящих в программу “No Excuse”, комплектуются наборы, содержащие необходимые модули и адаптеры. Стоимость комплекта MMEVS05 для определённой модели микроконтроллера составляет 950$ (цена производителя).

Программаторы

    Эти устройства необходимы на заключительном этапе разработки систем, когда требуется записать отлаженную программу в ПЗУ, которое входит в состав микроконтроллера или реализуется в виде отдельного модуля. Выпускается два вида программаторов:

  • специализированные программаторные платы,
  • универсальные программаторы.

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

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

    Недорогие программаторные платы M68HC705PGMR (стоимость менее 100$) выпускаются фирмой Motorola для семейства M68HC705. Схемные симуляторы M68ICS05 фирмы Motorola также позволяют программировать микроконтроллеры, которые они симулируют. Программаторные платы для семейства 68HC705 производятся также фирмой Nash Electronics (Model N705-1, N705-2, N805-2) и рядом других. Недостатком этих плат является их специализация на программирование одной или нескольких однотипных моделей микроконтроллеров или микросхем памяти. При использовании большой номенклатуры таких изделий целесообразно применять универсальные программаторы, которые выпускаются рядом зарубежных и российских производителей.

    Универсальные программаторы работают под управлением компью-тера и имеют два варианта конструктивной реализации:

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

    В качестве примера зарубежных приборов этого типа можно привести программаторы Model 3000, Model 5000 фирмы Elan Systems, которые могут программировать всю номенклатуру семейства 68HC705. Универсальный программатор LabTool-48 фирмы Advantech позволяет программировать все микроконтроллеры семейства 68HC05, имеющие до 48 выводов, и некоторые модели с большим числом выводов, для которых поставляются соответствующие адаптеры. Этот программатор выполняет также функции эмулятора ПЗУ, обеспечивая дополнительные возможности для отладки разрабатываемых систем. Программаторы KROM и SERP [4,8,10], разработанные и поставляемые лабораторией “Моторола–Микропроцессорные системы” МИФИ, обеспечивают программирование ряда моделей семейства M68HC705 (P6, P9, J2, MC4), номенклатура которых непрерывно расширяется. Кро-ме них программаторы поддерживают большую номенклатуру микросхем ППЗУ, РППЗУ, ЭСППЗУ и флэш-памяти, ряд типов программируемых логических микросхем (ПЛИС), а также многие типы микроконтроллеров. Программаторы работают под управлением персонального компьютера типа IBM PC, подключаемого через интерфейс шины ISA. Управление производится в диалоговом режиме с помощью меню. Пользователю предоставляется возможность просмотра содержимого буферной памяти в двоичном, десятичном и шестнадцатиричном формате, в виде ASCII-кодов и логических диаграмм (графическая форма). Кро-ме стандартных функций программирования реализуется анализ и допрограммирование ППЗУ, стирание информации в ЭСППЗУ, программирование битов защиты и таблиц кодирования для ряда типов микроконтроллеров и ПЛИС, обеспечивается установка нестандартных напряжений программирования с точностью 0,25 В.

Программные средства поддержки проектирования-отладки систем

    B процессе разработки и отладки программного обеспечения микроконтроллерных систем используются следующие средства [1,4,11]:

  • ассемблеры, компиляторы;
  • симуляторы (программно-логические модели);
  • отладчики, редакторы связей (компоновщики, загрузчики).

    В современных комплексах проектирования-отладки систем эти средства обычно работают совместно в составе интегрированной среды (оболочки) программирования. Обычно программирование производится с помощью кросс-средств, инсталлированных на инструментальном компьютере с мощной операционной системой. В качестве инструментальных компьютеров используются персональные компьютеры (чаще всего IBM PC старших моделей, реже Macintosh) или рабочие станции (SPARC фирмы SUN Microsystems, DECStation, DEC-Alpha фирмы Digital Equipment, HP-9000 фирмы Hewlett-Packard, IBM RS/6000). Операционными системами служат различные версии Windows, MacOS и UNIX (Solaris, AIX, ULTRIX и другие). Язык ассемблера очень часто применяется при программировании микроконтроллерных систем, так как его использование обеспечивает существенное уменьшение объёма памяти программ и времени выполнения программных модулей. Упрощённые (демонстрационные) версии ассемблеров для всех семейств микропроцессоров и микроконтроллеров Motorola предоставляются бесплатно рядом фирм и распространяются по сети Internet. Эти версии обычно имеют ограничения на объём транслируемых программ или количество символьных меток, а также не обеспечивают ряд сервисных возможностей. Ассемблеры с широким набором функциональных возможностей (макроасемблеры) поставляются рядом разработчиков. В табл. 3 приведены наиболее распространённые ассемблеры и компиляторы языков высокого уровня, используемые для программирования систем на базе 8-разрядных микроконтроллеров семейства 68HC05/705.

Таблица 3. Ассемблеры и компиляторы для программирования систем на базе микроконтроллеров семейства 68HC05/705

Средства программирования Фирма-производитель Описание
M68SMASMAB Motorola Ассемблеры для семейств 68HC05, HC08
6805 2500AD SOFTWARE Ассемблеры для семейства 68HC05/705
Introl 68HC05 INTROL Ассемблеры для семейства 68HC05/705
IASM05 P&E MICROCOMPUTER SYSTEMS Ассемблеры для семейства 68HC05/705
CSC COMPUTER SYSTEMS CONSULTANTS Набор ассемблеров-дизассемблеров для семейства 68HC05/705
TASM05 TECI Ассемблеры для семейства 68HC05/705
Avocet ANSI C Compiler AVOCET SYSTEMS, Inc. Оптимизирующий С-компилятор и ассемблер для семейств 68HC05/705, интегрированная оболочка
C6805/08 Code Development System BYTE CRAFT LIMITED Оптимизирующий С-компилятор и ассемблер для семейств 68HC05/705, НС08, интегрированная оболочка. Поддерживает отладку на платах MMDS (Motorola) и iceMASTER (Metalink). Дополнительный модуль Е6805 позволяет вести символьную отладку с использованием плат EVM и EVC (Motorola)
COSMIC 68HC05/08 Cross Compiler. IDEA COSMIC SOFTWARE Inc. Оптимизирующий ANSI/ISO C-компилятор и ассемблер для семейств 68HC05/705, HC08, интегрированная оболочка
HI-CROSS+ HIWARE Inc. Оптимизирующий С, С++компилятор и ассемблер для семейств 68HC05/705, HC08

    В качестве языков высокого уровня чаще всего используются C, C++. Компиляторы обеспечивают также программирование на языке Ассемблера. Большинство из них содержат компоновщики для связи программных модулей, библиотеки функций. Многие компиляторы по указанию разработчика могут оптимизировать процесс трансляции исходного текста с целью получения объектного кода с минимальным объёмом или минимальным временем выполнения программы. Такие компиляторы называются оптимизирующими.

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

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

    Программный комплекс, состоящий из символического отладчика, ассемблера и оптимизирующих компиляторов, компоновщика-загрузчика, симуляторов, программы-библиотекаря с библиотекой стандартных функций, которые работают под управлением общей программы в операционной системе, обеспечивающей редактирование текста и графический интерфейс, называют интегрированной средой разработки. Такая среда является наиболее эффективным средством создания программного обеспечения для современных микропроцессорных и микроконтроллерных систем. В табл. 3 и 4 приведен ряд интегрированных сред разработки, используемых при проектировании систем на базе микроконтроллеров семейства 68HC05/705. Отладчик Debug05, разработанный в лаборатории “Моторола–Микропроцессорные системы” МИФИ, функционирует в операционной системе MS-DOS и представляет собой интегрированную среду с многооконным интерфейсом, которая может работать совместно с платой M68HC05EVM фирмы Motorola или без неё (автономный режим). В автономном режиме Debug05 использует внутренний симулятор команд микроконтроллера. В процессе программирования-отладки Debug05 выдает информацию о состоянии ресурсов системы, отображает фрагменты выполняемой программы в мнемонической форме, позволяет изменять содержимое регистров и ячеек памяти. На рис. 2 показан вид экрана монитора с информацией, предоставляемой при отладке систем на базе микроконтроллеров семейства 68HC05/705.

Таблица 4. Отладчики, симуляторы и интегрированные среды разработки программного обеспечения для систем на базе микроконтроллеров 68HC05/705

Название Фирма-производитель Описание
COSMIC 8HC05/08 ZAP Debugger and Simulator COSMIC Software Inc. Интегрированная среда отладки с симулятором для 68HC05/08, поддерживает платы MMDS и MMEVC (Motorola)
HI-WAVE
Debugger C05/08
Simulator C05/08
HIWARE Inc. Интегрированная среда отладки для 68HC05/08, поддерживает платы MMDS и MMEVC (Motorola), Lauterbach Emulator (Lauterbach Datentechnik)
68HC05 Evalution Systems Oztechnics Pty Ltd Интегрированная среда отладки для 68HC05 со схемным симулятором и универсальным программатором
Sim6805 Softchip Ltd Симулятор для 68НСС05
Debug05/08 "Моторола - Микропроцессорные системы" МИФИ Интегрированный отладчик с симулятором для 68HC05/705, HC08. Поддерживает плату M68HC05EVM (Motorola)

    Отладчик Debug05 обеспечивает следующие возможности [7,8]:

  • Работа с файлами. Реализуется загрузка исполняемого файла с диска инструментального компьютера в память платы и сохранение в памяти системы файла в формате S-record фирмы Motorola, BIN (двоичный), DIS (дизассемблированный текст).
  • Отладка программ. Обеспечивается пошаговое выполнение программы, выполнение подпрограмм за один шаг, запуск программы в прогон, останов запущенной программы, выполнение по курсору (от и до), режим “анимации” (автоматическое пошаговое выполнение). Отладчик предоставляет возможность ставить точки останова на любых командах в адресном пространстве микроконтроллера.
  • Дизассемблирование. Окно дизассемблера позволяет увидеть текст выполняемой программы в виде мнемонических инструкций микроконтроллера. Встроенный интерпретатор ассемблера даёт возможность ввода и оперативной модификации текста программы.
  • Отображение ресурсов. Окно ресурсов отображает содержимое регистров микроконтроллера, участка стека и памяти системы. Отладчик позволяет менять содержимое регистра или ячейки памяти на каждом шаге отладки.
  • Окно просмотра. Позволяет просматривать содержимое произвольных ячеек памяти в различных форматах.
  • Запуск любых DOS-программ с помощью меню без выхода из оболочки, что позволяет подключать к программе внешние редактор и ассемблер. В комплект поставки входит свободно распространяемый ассемблер для 68HC05.
  • Работа в сессиях DOS операционных систем WINDOWS 3.x и WINDOWS 95 позволяет воспользоваться многозадачностью этих операционных систем для сокращения времени разработки программ.

    Таким образом, для микроконтроллеров, включённых в программу “No Excuse”, имеется большой выбор средств проектирования-отладки, применение которых существенно упрощает и ускоряет процесс разработки аппаратуры на их основе.

Литература

  1. Шагурин И.И. Микропроцессоры и микроконтроллеры фирмы Motorola. — М. :Радио и связь. — 1998. — 560 с.
  2. Шагурин И.И. Архитектура и функционирование микроконтроллеров семейства 68HC705 // Chip News. — 1999. — № 3. — С. 2–9.
  3. Шагурин И.И. Периферийные устройства микроконтроллеров семейства 68HC705 // Chip News. — 1999. — № 4. — С. 2–12.
  4. Бродин В.Б., Шагурин И.И. Микроконтроллеры. Архитектура, программирование, интерфейс. — М.: ЭКОМ. — 1999. — 400 с.
  5. 1999 Motorola Microcontroller Development Tools Directory, Motorola, 1999.
  6. Digital Design and Debug Tools Catalog, Hewlett-Packard, 1998.
  7. Шагурин И.И., Толстов Ю.А., Калинин А.В. и др. Программно-аппаратные комплексы для проектирования и отладки систем на базе микроконтроллеров Motorola // Chip News. — 1998. — № 1. — С. 22–28.
  8. Шагурин И.И., Бродин В.Б., Калинин А.В. и др. Средства проектирования и отладки систем управления на базе микроконтроллеров Motorola // Приборы и системы управления. — 1998. — № 9. — С. 4–10.
  9. Бродин В.Б., Калинин А.В. Эмулятор ПЗУ с функциями логического анализатора // Инженерная микроэлектроника. — 1998. — № 1. — С. 16–18.
  10. Бродин В.Б., Калинин А.В. Универсальный профессиональный программатор: критерии и реализация // Chip News. — 1997. — № 4. — С. 15–20.
  11. Буданов А.Н. Средства разработки и отладки программного обеспечения промышленных конт-роллеров на базе 8/16-разрядных микропроцессоров фирмы Motorola // Инженерная микроэлектроника. — 1999. — № 1. — С. 32–35.  
    Автор документа: Сергей Гаврилюк , http://www.gaw.ru"
    Дата публикации: 08.08.2007
    Дата редактирования: 21.04.2008
    Кол-во просмотров 6457
     
     Все новости одной лентой