4.3. Рекомендации по отладке
Подготовка программы для AVR-микроконтроллера выполняется на персональном компьютере и состоит из следующих этапов:
– создание текста программы;
– трансляция текста в машинные коды и исправление синтаксических ошибок;
– отладка программы, то есть устранение логических ошибок;
– окончательное программирование AVR-микроконтроллера.
Каждый из этапов требует использования специальных программных и аппаратных средств. Ниже перечислены наиболее доступные из них на сегодняшний день.
Базовые программные средства фирмы Атмел распространяются бесплатно, в то время как аппаратные средства имеют свою стоимость.
Следует отметить, что кроме бесплатных программных средств фирмы Атмел, позволяющих программировать только на языке ассемблера, фирмами IAR SYSTEMS, CMX CORPORATION, KANDA SYSTEMS Ltd. и другими разработаны средства поддержки программирования на языках высокого уровня С и BASIC, а также операционные системы реального времени. Эти более сложные и дорогостоящие продукты мы не обсуждаем, но информацию о них и демонстрационные версии можно получить в фирме ЭФО или в Корпорации "Точка Опоры".
Рассмотрим более подробно этапы подготовки программы для AVR Если Вы работаете в среде MS-DOS, то для выполнения первого и второго этапа Вам придется воспользоваться различными средствами. Для создания текста программы подойдет любой текстовый редактор DOS, который формирует на выходе ASCII-файлы, например, встроенный редактор Norton Commander, редактор Multi Edit и т.п. Для трансляции текста программы в коды фирмой Атмел предлагается DOS-версия программы-транслятора AVRASM.
Для работы в среде Windows 3.11/95/NT фирмой Атмел предлагается программа WAVRASM, которая позволяет выполнить создание текста программы и его трансляцию внутри одной оболочки и обеспечивает дополнительный сервис для быстрого поиска синтаксических ошибок в тексте программы.
Результатом Вашей работы на первом этапе является файл <имя_файла>.asm, который содержит текст программы (расширение имени файла обычно указывает на язык программирования) и является входным для программ-трансляторов, которые, в свою очередь, создают четыре новых файла: файл листинга (<имя_файла>.lst), объектный файл (<имя_файла>.obj), файл-прошивка FLASH-памяти (<имя_файла>.hex), файл-прошивка EEPROM-памяти (<имя_файла>.eep).
Файл листинга - это отчет транслятора о своей работе. В нем приводится транслируемая программа в виде исходного текста, каждой строке которого сопоставлены соответствующие двоичные коды. Кроме того, листинг содержит сообщения о выявленных ошибках.
Объектный файл используется в дальнейшем как входной для программы-отладчика AVRSTUDIO и имеет специальный формат. Файлы прошивки FLASH и EEPROM блоков памяти предназначены для работы с любыми последовательными и параллельными программаторами AVR и имеют стандартные форматы.
Следующим этапом подготовки программы является ее отладка, которая может выполняться двумя основными способами: на персональном компьютере при помощи программы-симулятора или в реальной микропроцессорной системе. Два эти способа взаимно дополняют друг друга.
Программа-симулятор AVRSTUDIO отображает на экране компьютера Вашу программу и состояние внутренних регистров AVR. Таким образом, становится возможным наблюдать изменения переменных, которые происходят внутри микроконтроллера при выполнении тех или иных команд программы. Отметим, что в реальной системе при помощи осциллографа невозможно просмотреть состояние внутренних регистров. Использование симуляторов эффективно при отладке подпрограмм, которые выполняют численную обработку внутренних данных.
В то же время, отладку подпрограмм, связанных с какими-либо внешними элементами, удобно выполнять непосредственно в рабочей системе. Например, если микроконтроллер генерирует ШИМ-сигналы, управляющие яркостью свечения светодиодов, то оценить игру красок Вы сможете только глядя на реальный макет.
Для отладки программы в рабочей системе, кроме программных средств, требуются также и аппаратные. Ниже приведены представлены различные варианты построения отладочной системы, отличающиеся своей стоимостью и возможностями.
Наиболее быстрый, не требующий пайки способ построения микропроцессорной системы на основе AVR - это приобретение комплекта AVR STARTER KIT фирмы Атмел, который содержит плату DEVELOPMENT BOARD, книгу "Development tool user's guide", дискеты с программным обеспечением, CD-ROM с полной документацией на все типы AVR и многочисленными примерами прикладных программ для AVR (содержимое дискет и CD-ROM диска можно также найти на данной web-странице). Плата DEVELOPMENT BOARD содержит панельки для подключения базовых типов AVR-микроконтроллеров в DIP-корпусах; источник питания; последовательный программатор, узел интерфейса RS-232 для связи с компьютером по асинхронному последовательному каналу; наборы из 8 светодиодов и из 8 кнопочных переключателей, которые можно подключать к выводам портов микроконтроллера; разъемы, через которые при помощи гибких кабелей можно наращивать микропроцессорную систему. Универсальность DEVELOPMENT BOARD удобна для обучения и для макетирования новых разработок.
Вместе с тем, для многих конкретных проектов может не подойти конструктивная реализация DEVELOPMENT BOARD или избыточным будет использование на этой плате источника питания, последовательного программатора и панелей под различные типы корпусов. В таком случае выполняют специализированную разработку, удовлетворяющую требованиям конкретной задачи.
Одним из важнейших достоинств AVR-микроконтроллеров является то, что все его аппаратные ресурсы "спрятаны" внутри, и поэтому схема включения AVR очень проста. Такая простота и миниатюрность позволяет во многих конкретных приложениях не выносить цифровую часть на отдельную плату, а помещать AVR непосредственно внутри аналогового блока. Для обучения технологии программирования AVR Вы можете собрать макет схемы за 15 минут.
Итак, если Вы решили работать не с платой DEVELOPMENT BOARD, а со своей собственной микропроцессорной системой, то Вам необходимо приобрести еще какое-либо программирующее устройство. Как упоминалось выше, существует два способа программирования AVR-микроконтроллеров: последовательное программирование через SPI-интерфейс и параллельное программирование.
Параллельное программирование, которое требует извлечения AVR-микроконтроллера из системы и установки его в программатор, весьма неудобно на этапе отладки программы.
Для программирования Вашей микропроцессорной системы по SPI-интерфейсу непосредственно в системе фирмой Атмел предлагается программа AVRPROG и программирующий SPI-кабель, в который встроен последовательный программатор.
Кроме того, функцией программирования по последовательному SPI-интерфейсу обладает параллельный программатор FLASHER. Способ отладки микропроцессорной системы при помощи SPI-интерфейса отличается своей дешевизной, но, однако, имеет и недостатки. Во-первых, каждый раз при внесении изменений в программу Вы перепрограммируете FLASH-память микроконтроллера, количество циклов перезаписи которой ограничено хоть и достаточно большим, но все же конечным числом. Во-вторых, описанный способ не дает возможности пошаговой отладки программы.
В связи с этим, фирмой Атмел разработаны более мощные, но и более дорогие внутрисхемные эмуляторы (in-circuit emulator) ICEPRO и megaICEPRO. Они представляют собой микропроцессорные устройства, которые с одной стороны связываются с Вашей микропроцессорной системой через панель, предназначенную для установки AVR-микроконтроллера, а с другой - с персональным компьютером и работают под управлением уже упоминавшейся программы фирмы Атмел AVRSTUDIO.
Внутрисхемные эмуляторы позволяют выполнять программу в Вашей системе в пошаговом режиме и неограниченное число раз вносить изменения в программу. При работе с внутрисхемным эмулятором Вы одновременно можете на экране компьютера наблюдать состояние внутренних ресурсов процессора, а на микропроцессорной плате - реакцию системы на те или иные команды программы.
Завершающим этапом программирования AVR-микроконтроллера является занесение в память уже отлаженной программы. Оно может быть выполнено так же, как и при отладке программы, через SPI-интерфейс. Однако необходимо помнить, что последовательное программирование младших моделей AVR не позволяет изменять FUSE-биты микроконтроллера.
Если в микропроцессорной системе не предусмотрен SPI-интерфейс а также при серийном производстве для повышения скорости программирования большого числа микроконтроллеров удобно использовать программаторы, которые выполняют параллельное программирование. Следует отметить, что параллельные программаторы обычно являются универсальными устройствами и позволяют, кроме AVR, работать и с другими типами микроконтроллеров, с постоянными запоминающими устройствами и микросхемами программируемой логики.
Фирма ЭФО предлагает два типа программаторов, поддерживающих программирование AVR-микроконтроллеров. Программатор FLASHER может выполнять как параллельное программирование, так и последовательное через SPI-интерфейс. Универсальный программатор СТЕРХ поддерживает лишь параллельное программирование.
... менее 10 м вод. ст. Для ЦТП принимается располагаемый напор 25 м, при непосредственном присоединении систем отопления ≥ 5 м. Строится линия потерь давления в подающей магистрали. В закрытых системах теплоснабжения она является зеркальным отображением пьезометрической линии обратной магистрали. В открытых системах потери давления в подающей линии больше потерь давления в обратной линии из-за ...
... у абонента, который всегда может быть сдросселирован. 2.2 Тепловой расчет толщины изоляционного материала Одним из способов повышения эффективности работы системы теплоснабжения промышленного предприятия является снижение потерь тепла при транспортировке теплоносителя к потребителям. В современных условиях эксплуатации потери тепла в сетях составляют до 20.. 25% годового отпуска тепла. При ...
... схема подогревателей ГВС с независимым подключением системы отопления Таблица 2.1 – Обозначение к Рис.2.1,Рис.2.2 2.1 Тепловой и гидравлический расчет пластинчатых водонагревателей Схема подключения водонагревателей горячего водоснабжения в закрытых системах теплоснабжения выбирается в зависимости от соотношения максимального теплового потока на горячее водоснабжение и максимального ...
... 18 62,77 8 211 41,15 9 32,15 9 Туалет 29,99 6 23,99 10 Всего 426,06 105 321,06 Финансовый анализ показал, что проведение энергосберегающих мероприятий позволяет сократить величину денежных затрат на использование тепловой энергии в системе теплоснабжения исследуемых помещений. Если рассчитывать по пропорции, что 426,06 грн. можно сэкономить за весь отопительный сезон (152 дня), ...
0 комментариев