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

 

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

0 создание текста программы;

0 трансляция текста в машинные коды и исправление синтаксических ошибок;

0 отладка программы, то есть устранение логических ошибок;

0 окончательное программирование микроконтроллера.

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

Текст программы, создаваемый на первом этапе проектирования оформляется в виде файла на языке ассемблера (c расширением .asm). Этот файл является входным для программ-трансляторов, которые, в свою очередь, создают новые файлы, ориентированные на использование с конкретными отладочными средствами. Обычно это:

0 файл-листинг (с расширением .lst),

0 объектный файл (с расширением .obj),

0 файл-прошивка FLASH-памяти (с расширением .hex),

0 файл-прошивка EEPROM-памяти (с расширением .eep).

 

Файл-листинг - это отчет транслятора о своей работе. В нем приводится транслируемая программа в виде исходного текста, каждой строке которого сопоставлены соответствующие двоичные коды. Кроме того, листинг содержит сообщения о выявленных ошибках.

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

Файлы прошивки FLASH и EEPROM блоков памяти предназначены для работы с последовательными и параллельными программаторами и имеют стандартные форматы.

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

Отладка программ микроконтроллеров может выполняться двумя основными способами: на персональном компьютере при помощи программы-симулятора или в реальной микропроцессорной системе.

Два эти способа взаимно дополняют друг друга.

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

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

Окончательная отладка программного обеспечения производится в рабочей системе. Обычно производители микроконтроллеров предлагают пользователям различные аппаратные средства для создания такой системы. Например, для разработки микропроцессорных систем на основе AVR-микроконтроллеров фирма Atmel выпускает стартовый набор AVR STARTER KIT типа STK500.

Набор STK500 содержат небольшую печатную плату Development Board, кабель для последовательного программирования через СОМ-порт компьютера, CD-ROM с полной документацией на все типы микроконтроллеров и многочисленными примерами прикладных программ (рис. 15.1).

 

 
 

 

 


Рис. 15.1. Набор STK500 фирмы Atmel

 

Плата Development Board из набора STK500 (рис. 15.2) имеет следующие узлы:

0 встроенный стабилизатор напряжения питания;

0 сокеты для установки различных типов микроконтроллеров в DIP-корпусах;

0 разъем для последовательного программирования;

0 узел интерфейса RS-232;

0 набор из 8 светодиодов, которые можно подключать к выводам портов м и кроконтрол лера;

0 набор из 8 кнопочных переключателей, которые можно подключать к выводам портов микроконтроллера;

0 разъемы, через которые при помощи гибких кабелей можно наращивать микропроцессорную систему. Например, можно подключить собственный макет аналоговой части какого-либо устройства.

 

 
 

 


Рис. 15.2. Плата Development Board из набора STK500

 

Вместе с тем, для многих конкретных проектов платы Development Board будут избыточными. В таком случае выполняют специализированную разработку, удовлетворяющую требованиям конкретной задачи. В этом случае кроме собственного макета необходимо иметь еще какое-либо программирующее устройство.

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