|
Проектирование и Согласование любых объектов в Киеве |
|
http://kiev-security.org.ua
В процессе программирования AVR-микроконтроллеров выполняют следующие операции по стиранию, чтению и записи различных элементов энергонезависимой памяти кристалла:
AVR-микроконтроллеры обычно поставляются со стертыми встроенными FLASH и EEPROM блоками памяти (содержимое всех ячеек = $FF), готовыми к программированию.
В Таблице 1 перечислены возможные способы программирования элементов энергонезависимой памяти AVR.
Параллельное программирование требует использования дополнительного источника повышенного напряжения (12 В), использует большое число выводов микроконтроллера и выполняется на специальных программаторах. Такое программирование удобно, когда при массовом производстве необходимо "прошивать" большое количество кристаллов.
Последовательное программирование не требует дополнительного источника питания и может выполняться непосредственно в микропроцессорной системе (In System Programming) через последовательный
Параллельный и последовательный способы программирования предполагают использование внешнего программирующего процессора. EEPROM память может также программироваться самим AVR под управлением программы (самопрограммирование).
FLASH | LOCK-биты | FUSE-биты | EEPROM | |
Параллельное программирование |
+ | + | + | + |
Последовательное программирование |
+ | + | - (+) |
+ |
Само- программирование |
Анонсировано | - | - | + |
LOCK-биты программируются как параллельно, так и последовательно.
Операция "Chip erase" выполняется в обоих режимах программирования. Во время нее стираются все ячейки FLASH и EEPROM памяти, а также
FLASH и EEPROM блоки памяти программируются байт за байтом в любом из режимов программирования.
Для EEPROM памяти в режиме последовательного программирования автоматически обеспечивается цикл стирания. Таким образом, существует возможность побайтной перезаписи отдельных ячеек EEPROM. Если же требуется изменить содержимое
В энергонезависимой памяти AVR имеется несколько специализированных бит и байт.
LOCK-биты (LB1, LB2) предназначены для защиты программной информации, содержащейся во
Состояние Lock-бит | Тип защиты | ||
Режим | LB1 | LB2 | |
1 | 1 | 1 | Защита отсутствует |
2 | 0 | 1 | Запрет программирования Flash (и Eeprom для старших моделей AVR) |
3 | 0 | 0 | Запрет как программирования, так и чтения Flash (и Eeprom для старших моделей AVR) |
FUSE-биты позволяют задавать некоторые конфигурационные особенности микроконтроллера. Состав FUSE бит каждого конкретного типа AVR (Таблица 3) обусловлен особенностями построения узлов сброса, тактирования и программирования кристалла.
У всех микроконтроллеров, поддерживающих последовательное программирование, имеется
FUSE-бит RCEN позволяет выбрать в качестве источника тактового сигнала AVR внутренний
FUSE-биты FSTRT,
Схемой контроля питания, если она имеется, управляют
У Mega AVR имеется FUSE бит EESAVE, программирование ("0") которого приводит к тому, что при выполнении операции "Chip erase" содержимое EEPROM памяти сохраняется без изменения.
Tiny AVR содержат FUSE-бит RSTDISBL, который позволяет запретить ("0") внешний сброс микроконтроллера для того, чтобы увеличить количество программируемых
FUSE-биты CKSEL 0 ... 3 у Tiny AVR задают источник тактового сигнала микроконтроллера (табл. 3).
Тип AVR | FUSE-биты |
С1200 | SPIEN RCEN |
С2313, С4414, С8515, С8535, С2323 | SPIEN, FSTRT |
С2343 | SPIEN, RCEN |
С4433 С2333 |
SPIEN, BODLEVEL, BODEN, CKSEL0, CKSEL1, CKSEL2 |
Mega AVR | SPIEN, SUT0, SUT1, EESAVE |
Tiny10/11 | FSTRT, RSTDISBL, CKSEL0, CKSEL1, CKSEL2 |
Tiny12 | SPIEN, RSTDISBL, BODLEVEL, BODEN CKSEL0, CKSEL1, CKSEL2, CKSEL3 |
Tiny22 | SPIEN, RCEN |
Три энергонезависимых SIGNATURE-байта в энергонезависимой памяти AVR служат для идентификации типа кристалла, программируются на фабрике и доступны только для чтения.
Подготовка программы для AVR-микроконтроллера выполняется на персональном компьютере и состоит из следующих этапов:
Каждый из этапов требует использования специальных программных и аппаратных средств. В Таблице 4 перечислены наиболее доступные из них на сегодняшний день. Базовые программные средства для программирования AVR на ассемблере распространяются фирмой ATMEL бесплатно. Аппаратные средства поддержки программирования AVR а также более развитые средства для программирования AVR на языке C фирмы IAR Systems имеют коммерческое исполнение.
Этапы подготовки программы для AVR | Аппаратные средства | Программные средства | ||
MS-DOS | WINDOWS | |||
1. Создание текста программы | - | любой тестовый редактор DOS, создающий ASCII-файл | WAVRASM (www.atmel.com) или EWA90 (www.iar.com) |
|
2. Трансляция | - | AVRASM (www.atmel.com) | ||
3. Отладка программы | На компьютере | 3.1. | - | AVRSTUDIO (www.atmel.com) или EWA90 (www.iar.com) |
В микропроцессорной системе (МП) | 3.2. STK100, STK200 или STK300 c кабелем к LPT порту |
ATMEL_AVR_ISP (www.atmel.com) |
||
3.3. -Ваша МП система с SPI разъемом -Кабель к LPT порту |
AVREAL(www.chat.ru/ ~avreal, www.ln.com.ua/ ~real/avreal) |
|||
3.4. -Ваша МП система с SPI разъемом -Программатор FLASHER |
FLASHER (поставляется с программатором) |
FLASHER (поставляется с программатором) |
||
3.5 -Ваша МП система -Внутрисхемный эмулятор фирмы Атмел (ICEPRO- для Classic AVR), ICE200- для Tiny и Classic AVR), (MEGAICE для mega AVR) |
- | AVRSTUDIO (распространяется бесплатно) EWA90 (www.iar.com) |
||
4. Окончательное программирование AVR | 4.1 Последовательное программирование аналогично |
аналогично 3.2, 3.3, 3.4 |
аналогично 3.2, 3.3, 3.4 |
аналогично 3.2, 3.3, 3.4 |
4.2 Параллельное программирование |
4.2.1. Программатор FLASHER |
FLASHER (поставляется с программатором) |
FLASHER (поставляется с программатором) |
|
4.2.1. Программатор СТЕРХ |
STERH (поставляется с программатором) |
STERH (поставляется с программатором) |
При работе в среде MS-DOS для выполнения первого и второго этапа приходится пользоваться различными средствами. Для создания текста программы подойдет любой текстовый редактор DOS, который формирует на выходе
Для работы в среде Windows 3.11/95/NT фирмой Атмел предлагается программа WAVRASM, которая позволяет выполнить создание текста программы и его трансляцию внутри единой оболочки и обеспечивает дополнительный сервис для быстрого поиска синтаксических ошибок в тексте программы.
Результатом Вашей работы на первом этапе является файл
Файл-листинг - это отчет транслятора о своей работе. В нем приводится транслируемая программа в виде исходного текста, каждой строке которого сопоставлены соответствующие двоичные коды. Кроме того, листинг содержит сообщения о выявленных ошибках.
Объектный файл, создаваемый программой WAVRASM, используется в дальнейшем как входной для
Файлы прошивки FLASH и EEPROM блоков памяти предназначены для работы с любыми последовательными и параллельными программаторами AVR и имеют стандартные форматы.
Кроме языка ассемблера, для программирования встраиваемых микропроцессоров широкое распространение получили языки программирования высокого уровня. Они предоставляют программисту такой же легкий доступ ко всем ресурсам микроконтроллера, как и ассемблер, но вместе с тем дают возможность создавать хорошо структурированные программы, снимают с программиста заботу о распределении памяти данных и cодержат большой набор библиотечных функций для выполнения стандартных операций.
Для программирования AVR-микроконтролеров на языке C фирмой IAR Systems предлагается развитый пакет Embedded Workbench EWA90 (www.iar.com). Этот пакет объединяет в себе:
При использовании пакета EWA90 этапы создания текста программы, трансляции, компоновки и симуляции программы выполняются в одной интегрированной оболочке. У разработчика появляется возможность сочетать в одной программе и преимущества языка высокого уровня C для основной части программы, и компактность ассемблера для подпрограмм, критичных ко времени исполнения.
Отладка программы AVR-микроконтроллеров может выполняться двумя основными способами: на персональном компьютере при помощи
Программы-симуляторы Atmel AVRSTUDIO или IAR C_SPY отображают на экране компьютера Вашу программу и состояние внутренних регистров AVR. Таким образом, становится возможным наблюдать изменения переменных, которые происходят внутри микроконтроллера при выполнении тех или иных команд программы. Отметим, что в реальной системе при помощи осциллографа невозможно просмотреть состояние внутренних регистров. Использование симуляторов эффективно при отладке подпрограмм, которые выполняют численную обработку внутренних данных.
В то же время отладку подпрограмм, связанных с какими-либо внешними элементами, удобно выполнять непосредственно в рабочей системе. Например, если микроконтроллер генерирует ШИМ-сигналы, управляющие яркостью свечения светодиодов, то оценить игру красок Вы сможете только глядя на реальный макет.
Для отладки программы в рабочей системе, кроме программных средств, требуются также и аппаратные. В Таблице 4 представлены различные варианты построения отладочной системы, отличающиеся стоимостью и возможностями.
Наиболее быстрый, не требующий пайки способ построения микропроцессорной системы на основе AVR - это приобретение
Наборы STK100, STK200 и STK300 содержат небольшую печатную плату DEVELOPMENT BOARD, кабель для последовательного программирования AVR через
Плата DEVELOPMENT BOARD из наборов STK200, STK300 имеет следующие узлы:
Универсальность DEVELOPMENT BOARD удобна для обучения и для макетирования новых разработок.
Вместе с тем, для многих конкретных проектов может не подойти конструктивная реализация DEVELOPMENT BOARD или будет избыточным использование на этой плате стабилизированного источника питания и панелей под различные типы корпусов. В таком случае выполняют специализированную разработку, удовлетворяющую требованиям конкретной задачи.
В этом случае кроме собственного макета необходимо приобрести еще какое-либо программирующее устройство.
Параллельное программирование, которое требует извлечения AVR-микроконтроллера из системы и установки его в программатор, весьма неудобно на этапе отладки программы.
Для последовательного программирования собственной микропроцессорной системы по
Если же у Вас нет фирменного кабеля, то можно воспользоваться программой AVREAL, которую разработал и подарил всему миру (www.chat.ru/~avreal, www.ln.com.ua/~real/avreal) Александр Редчук. Программа AVREAL работает под DOS и, кроме обычных функций просмотра, стирания и записи энергонезависимой памяти, обеспечивает возможность дописывать FLASH-память AVR без очередного стирания кристалла, а также вести подсчет количества циклов перезаписи энергонезависимой памяти.
Кроме того, функцией программирования по последовательному
Способ отладки микропроцессорной системы при помощи
В связи с этим, фирмой ATMEL разработаны более мощные, но и более дорогие внутрисхемные эмуляторы) ICE200, ICEPRO и megaICE. Они представляют собой микропроцессорные устройства, которые с одной стороны связываются с Вашей микропроцессорной системой через панель, предназначенную для установки
Завершающим этапом программирования AVR-микроконтроллера является занесение в память уже отлаженной программы. Оно может быть выполнено так же, как и при отладке программы, то есть через
Если в микропроцессорной системе не предусмотрен
<a href="http://kiev-security.org.ua" title="Самый большой объем в сети онлайн инф-ции по безопасности на rus" target="_blank"><img src="http://kiev-security.org.ua/88x31.gif" width="88" height="31" border="0" alt="security,безопасность,библиотека"></a> |