Средства разработки и отладки программного обеспечения промышленных контроллеров на базе 8

   
А. Буданов Средства разработки и отладки программного обеспечения промышленных контроллеров на базе 8/16-разрядных микропроцессоров фирмы Motorola

В процессе создания систем автоматизации на базе промышленных контроллеров разработчики покупаютили разрабатывают самостоятельно системную аппаратуру (микроконтроллер, периферийное, датчиковое и сетевоеоборудование), а также программное обеспечение, которое “вдохнет жизнь” в этот “набор кремния, пластмассы ижелеза”.
    Разработчикам аппаратной части подобных систем (мы остановимся на ее наиболее интеллектуальной составляющей —микроконтроллерах) в настоящее время предлагается чрезвычайно широкий спектр компонентов, начиная с разнообразнейшихмикропроцессоров, памяти и устройств ввода/вывода, часто объединенных в единый корпус, и кончая надежными разъемами,механические параметры которых во многом определяют надежность создаваемого микроконтроллера.При этом недостаточно правильно выбрать компоненты создаваемого промышленного контроллера. Важно заставить ихслаженно и корректно работать в единой, часто многоуровневой компьютерной системе (датчик — контроллер ввода/вывода —микропроцессор — микроконтроллер). А эта слаженность и гармоничность работы аппаратуры системы промышленной автоматизациидостигается, прежде всего, качеством того программного обеспечения, которое заложено в постоянные запоминающие устройстваее микроконтроллеров.
    Как найти компромисс между оптимальными параметрами аппаратных составляющих и программных компонентов? Существует лион? По нашему мнению, существует. И будет найден, если при создании микроконтроллеров разработчики будут использоватьмикросхемы фирмы Motorola. Это, прежде всего, 8/16-бит модели знаменитой серии МС68 — MC68HC05, MC68HC08, MC68HC11,MC68HC12, MC68HC16.Мы не будем останавливаться на вопросах архитектуры микропроцессоров этой серии (о её качестве говорит тот факт, чтона сегодняшний день компанией Motorola выпущено несколько миллиардов микропроцессоров этой серии, нашедших и находящихпо сей день применение практически во всех сферах деятельности человека — от бытовых приборов до сложнейшихмикропроцессорных систем). В этой статье мы подробнее рассмотрим вопросы создания программного обеспечениямикроконтроллеров на базе 8/16-бит микропроцессоров фирмы Motorola, а точнее, во-просы использования инструментальныхпрограммных сред, помогающих создавать их “интеллект”.



К сожалению, разработчики программного обеспечения систем промышленной автоматизации на базе 8/16-бит микропроцессоровчасто лишены столь необходимой им опеки со стороны разработчиков стандартных инструментальных средств программирования(компиляторов с языков высокого уровня, графически ориентированных редакторов и отладчиков и т. п.). Часто, особеннона этапе отладки созданных программных продуктов, они предоставлены сами себе, имея на своем промышленном контроллере,в лучшем случае, последовательный порт, с использованием которого в память загружается отлаживаемый код. Часто к этомупоследовательному порту после загрузки подключается алфавитно-цифровой дисплей, используя который, можно реализоватьнекое подобие отладки и тестирования за-груженного кода.
    Для создания программного обеспечения промышленного контроллера программисту нужно иметь по крайней мере:

  • микроконтроллер (система исполнения), для которого необходимо разработать программное обеспечение (ПО) реальноговремени и который имеет необходимый набор вычислительных ресурсов (микропроцессор, память, часы реального времени, портыввода/вывода). Энергонезависимая память микроконтроллера должна хранить программный код монитора/отладчика, поддерживающегообмены с системой разработки. Часто на этапе разработки программного обеспечения используется так называемая отладочнаяплатформа (evaluation board), архитектура которой повторяет (иногда избыточно — особенность ее универсальности) архитектурусоздаваемого микроконтроллера. Фирма Motorola выпускает отладочные платы (EVB) для всех производимых ею микропроцессоров(MC68HC05EBV, MC68HC08EBV, MC68HC11EBV, MC68HC12EBV, MC68HC16EBV);
  • персональный компьютер (система разработки), на котором будет выполняться разработка ПО системы исполнения.В идеальном случае, система разработки должна иметь интегрированную кросс-среду разработки, отладки и тестированияпрограммного обеспечения системы исполнения, дополненную возможностями симуляции подготовленного для исполнения кода;
  • физический канал связи системы исполнения и системы разработки (последовательный или параллельный).

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

Средства разработки и отладки программного обеспечения фирмы HiWare, используемые для создания программного обеспечения микропроцессоров

В настоящее время многие фирмы специализируются на разработке систем программирования, ориентированныхна создание программного обеспечения микропроцессоров, применяемых при проектировании промышленных микроконтроллеров.Среди них многие фирмы ориентируются на решение этой задачи для 8/16-бит микропроцессоров фирмы Motorola. Одна изнаиболее известных — фирма HiWare, официально признанная компанией Motorola наиболее “успешным” производителемпрограммных продуктов такого рода. В настоящее время HiWare имеет отделения в США и Швейцарии и является признаннымлидером в области графических кросс-средств разработки, отладки и тестирования программного обеспечения промышленныхмикроконтроллеров.
    Эти мощные, ориентированные на максимальное удобство пользователя, графические среды работают под управлениемоперационных систем Windows 95/98 и Windows NT.
    Фирма HiWare предлагает пользователям:

  • набор оптимизирующих компиляторов С и С++ (HI-CROSS+), с помощью которых можно разрабатывать программноеобеспечение для микропроцессоров фирмы Motorola (MC68HC05, MC68HC08, MC68HC11, MC68HC12, MC68HC16), Philips8051XA, STMicroelectronics ST7;
  • набор отладчиков созданного объектного кода (HI-WAVE Debugger), мощная интегрированная среда разработкии отладки программного обеспечения 8/16-бит микропроцессоров серий MC68, Philips 8051XA, STMicroelectronics ST7;
  • набор программных симуляторов (HI-WAVE Simulator), с помощью которого разработчик может симулировать наперсональном компьютере работу создаваемого программного обеспечения 8/16-бит микропроцессоров серий MC68,Philips 8051XA, STMicro-electronics ST7 и их локальных периферийных устройств (I/O Simulation Development Package).

Набор компиляции HI-CROSS+

Набор кросс-компиляции HI-CROSS+ предлагается фирмой HIWare как основной инструмент для разработки всреде W95/98 и NT объектного кода, исполняемого на микропроцессоре. HI-CROSS+ включает в себя кросс-компиляторс языка высокого уровня (С или С++), кросс-ассемблер, редактор перекрестных ссылок, дизассемблер, программу “прошивки”созданного объектного кода в постоянное запоминающее устройство микроконт-роллера — “программатор”, набор библиотекслужебных и проблемно-ориентированных подпрограмм, по-строитель макросов.

  • Кросс-компиляторы ANSI-C и ANSI-C++, EC++ и CompactC++ пакета HI-CROSS+ полностью соответствуют международнымстандартам и выполняют полный набор оптимизирующих алгоритмов (по 60 разнообразным параметрам). Кросс-компиляторы EC++и CompactC++ являются подмножеством стандартного компилятора С++ и позволяют создавать оптимальный по размерам ибыстродействию код для встроенных приложений, используемых в микроконтроллерах;
  • Кросс-ассемблер пакета HI-CROSS+ может генерировать перемещаемый или объектный код программы, соответствующийтребованиям стандартного ассемблера микропроцессора Motorola;
  • Редактор перекрестных ссылок пакета HI-CROSS+ оптимизирует объектный код при объединении нескольких программныхмодулей, выдает таблицы оптимизации, распределения используемой и неиспользуемой памяти, генерирует файлы в форматеS-записей фирмы Motorola;
  • Набор полностью готовых к использованию (ready-for-use) библиотек пакета HI-CROSS+ для встроенных приложений(библиотеки функций с плавающей запятой, библиотека математических функций, функций организации ввода/вывода). Имеетсявозможность создания собственных библиотек пользователя;
  • “Программатор” пакета HI-СROSS+ генерирует файлы в формате S-записей фирмы Motorola или Hex-файлов фирмы Intel,подготавливает файлы для записи их в ППЗУ;
  • Дизассемблер пакета HI-CROSS+ декодирует коды объектных и абсолютных файлов, файлов библиотек.

Объектный код, созданный с помощью набора компиляции HI-CROSS+ полностью соответствует требованиям к объектномукоду набора программных отладчиков и симуляторов HI-WAVE (что неудивительно — ведь это программные продукты однойфирмы HiWare). Поэтому процесс создания, отладки и тестирования программного обеспечения микропроцессора болеебыстр, удобен и лишен грубых ошибок.
    Любой вышеописанный компонент пакета кросс-компиляции HI-CROSS+ может быть приобретен пользователем отдельно.

Отладка программных кодов с использованием кросс-пакета отладки HI-WAVE

После того, как с помощью набора кросс-компиляции HI-CROSS+ создан программный код, готовый к загрузке иисполнению микроконтроллером, встает задача тестирования и отладки полученного кода. Для этого фирмой HiWare разработан графически-ориентированный пакет HI-WAVE, с помощью которого на персональном компьютере в среде Windows 95/98 или NT производится отладка подготовленного кода.
    Пакет отладки HI-WAVE предназначен для:

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

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

  • Монитор HI-WAVE;
  • симулятор микропроцессора;
  • отладчик исходного кода (С/С++);
  • отладчик кода на языке Ассемблера;
  • анализатор используемых ресурсов (profiler);
  • анализатор состояния локальной шины;
  • симулятор устройства ввода/вывода;
  • программные модули (компоненты) пользователя;
  • программные модули (компоненты) третьих фирм.

Наиболее интересной и полезной особенностью пакета отладки HI-WAVE является возможность симулировать работуустройств ввода/вывода создаваемого микроконтроллера. В основном симуляторы эмулируют работу регистровмикропроцессора и исполнение его команд. Это очень полезная функция, но микропроцессор — это иногда лишь малаячасть встроенной микропроцессорной системы. Используя пакет отладки HI-WAVE, разработчик промышленного микроконтроллераможет эмулировать работу не только микропроцессора, но и устройств ввода/вывода, таких как регистровые устройства,аналого-цифровые преобразователи, таймеры (включая прерывания, приходящие от них), а также другие компоненты системыввода/вывода микроконтроллера.
    В состав пакета отладки HI-WAVE входит Построитель приложений ввода/вывода, с помощью которого пользователь можетразработать компонент-симулятор устройства ввода/вывода. Построитель функционирует в среде Microsoft Visual C++.Для создания компонента-симулятора необходимо лишь ответить на задаваемые во-просы — и код компонента генерируетсяавтоматически. Созданный компонент-симулятор интегрируется в среду пакета отладки HI-WAVE и управляется им в процессеотладки.
    С использованием пакета HI-WAVE процесс отладки можно проводить следующими путями:

  • симуляция созданного кода на персональном компьютере в среде Windows 95/98 или NT (с сохранением реального времениисполнения команд эмулируемого микропроцессора). В этом случае отладка программного обеспечения микроконтроллера можетбыть проведена до создания микроконтроллера;
  • отладка созданного кода в среде микропроцессора (т. е. микроконтроллер уже создан, и его програм-мное обеспечениеотлаживается путем загрузки исполняемого кода в его память). В этом случае персональный компьютер используется какустройство подготовки загружаемого кода, загрузки его в память микроконтроллера, а также как устройство управленияпроцессом отладки и тестирования. Для этих целей используется последовательный канал, соединяющий персональный компьютери микроконтроллер. В среде микроконтроллера процесс загрузки и отладки поддерживает специальный монитор, хранящийсяв его ПЗУ;
  • отладка созданного кода в среде микропроцессора (т. е. микроконтроллер уже создан, и его програм-мное обеспечениеотлаживается путем загрузки исполняемого кода в его память), используя особенности BDM или ICE отладочных интерфейсов,поддерживаемых микропроцессорами МС68НС12, МС68НС16. В этом случае персональный компьютер используется как устройствоподготовки загружаемого кода, загрузки его в память микроконтроллера, а также как устройство управления процессомотладки и тестирования. Для этих целей используется последовательный канал, соединяющий персональный компьютер иBDM-порт микроконтроллера. В среде микроконтроллера процесс загрузки и отладки поддерживает специальный BDM-монитор,реализованный в микропроцессоре.

Заключение

Похоже, настали времена, когда разработка программного обеспечения промышленных контроллеров пересталабыть неким шаманством — когда искушенный в своем ремесле программист, имея спаянный “на коленке” микроконтроллер,подключив его к терминалу тремя проводами, отлаживал загруженный код, надеясь только на свой здравый смысл, интуициюи недюжинное терпение.
    Появление интегрированных графических средств разработки и отладки (подобных HI-CROSS+ и HI-WAVE фирмы HIWare)переводит процесс создания программного обеспечения микропроцессоров на более высокий уровень, предоставляя разработчикумощный, гибкий, чрезвычайно дружественный и эффективный инструмент.

ЗАО «РТСофт»
Тел. (095) 742-6828, 465-6702
Факс (095) 742-6829
E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.