Прошивка AVR микроконтроллера при помощи LPT программатора и программы UniРrof
Прошивка ATTiny13, ATTiny2313, ATmega8
---
Схема LPT программатора
------------------------------
------------------------------
------------------------------
--------------------------
Основное ее достоинство – с ней легко начать работать, даже если до этого Вы никогда не прошивали контроллеры.
Окно UniРrof выглядит так:
Теперь пошагово опишем сам процесс программирования при помощи LPT программатора:
1. Для начала нам необходимо «прописать» наш LPT программатор. Для этого нужно выбрать LPT порт в поле «Программатор подключен к» , нажать кнопку «LPT pins» и мы увидим окно – ставим точки как на рисунке, нажимаем «ОК» (в следующий раз устанавливать не придется – программа запомнит установки). Все – программатор «прописан».
2. Подключаем программатор к LPT порту.
3. Подключаем программатор к плате микроконтроллера, подаем питание на микроконтроллер.
4. Запускаем UniРrof, выбираем в поле «Программатор подключен к» LPT порт. Синим должно отобразиться название микроконтроллера . Для проверки надежности связи тыкаем несколько раз в красную системную частоту .
Если на каком либо этапе выпадает такое окно
, то связь ненадежна – ставим галочку «тормоз» – и проверяем заново.
5. Нажимаем кнопку загрузить «HEX», выбираем нужный файл-прошивку.
В окошке «PROGRAM» появятся цифры – наша программа.
6. Нажимаем кнопку «Erase» – стираем микроконтроллер. Если происходят ошибки – ставим галочку «Тормоз».
7. Нажимаем кнопку «Prog» – записываем программу в микроконтроллер. Если происходят ошибки - ставим галочку «Тормоз», повторно стираем и снова программируем. Программа записана, осталось записать фьюзы.
8. Обязательно ставим галочку «Тормоз»! Нажимаем кнопку «FUSE», видим окошко, в котором отделения (конфигурационные байты контроллера). В каждом отделении нажимаем кнопку «Read» считываем текущие значения (это уменьшит вероятность ошибки при вводе новых значений). Вводим новые значения фьюзов. Особое внимание обращаем на обведенные красным фьюзы. Они должны остаться в таком же состоянии, иначе дальнейшее программирование станет невозможным.
Нажимаем «Write» в каждом из окошек (первое окошко – защитные биты – можно не трогать). Готово, фьюзы прошиты!
9. Снимаем питание с микроконтроллера, отключаем программатор от платы – микроконтроллер прошит, устройство готово!
Нужно прошить кроме Flash еще и EEPROM?
Сначала ставим галочку EEPROM – появится окошко EEPROM (Галочку «тормоз» нужно поставить до этого!). Далее открываем HEX-файл, автоматически программа найдет и загрузит EEP-файл (заполнятся данными оба окошка PROGRAM и EEPROM). Если юнипроф сам не определил EEP-файл откроется диалог выбора файла. Далее действуем как описано выше. При нажатии кнопки «Prog» программируется и Flash и EEPROM. Вот и все!
Что делать если:
- не найден микроконтроллер – проверьте правильность подключения программатора к контроллеру, проверьте питание контроллера (должно быть +5v), попробуете поменять порт (если есть несколько);
- не распознается контроллер – поставьте галочку «тормоз», покликайте несколько раз красную системную частоту, поставьте керамический конденсатор на ножки питания контроллера, если длинна шлейфа большая, возможно большие помехи мешают – уменьшите длину шлейфа;
- прошивка записывается с ошибками – поставьте галочку «тормоз», покликайте несколько раз красную системную частоту, поставьте керамический конденсатор на ножки питания контроллера, если длинна шлейфа большая, возможно большие помехи мешают – уменьшите длину шлейфа;
- после записи фьюзов контроллер перестал читаться / писаться – что-то Вы напутали с установкой фьюзов – теперь Вам поможет только параллельный программатор . Как альтернативный вариант можно собрать Atmega fusebit doctor
Какие еще есть программы для прошивки микроконтроллеров?
Avrdude – очень хорошая альтернативная пограмма
PonyProg - (есть файл автоматизации – если не хочется думать, какие куда ставить фьюзы и быстро прошить.)
Дополнительные материалы:
|