Поиск по этому блогу

8 янв. 2014 г.

UniProf – UniProf – программируем AVR через COM порт.

Эта статья – подробная инструкция как запрограммировать AVR микроконтроллер при помощи COM программатора и программы UniРrof.
Статья идентична предыдущей, за исключением выбора COM порта в качестве програмирующего. Программа UniРrof абсолютно одинаково работает с обоими портами, что можно отнести к ее достоинствам.
Сначала обязательно прочитайте обзор UniProf, многое станет понятней. 
Скачайте программу UniРrof.
UniProf - Программатор для AVR. Смотрим avr.nikolaew.org
Кроме того, нам нужен COM программатор, а также, отладочная плата с разъемами для подключения программатора (для примера возьмем отладочную плату с ATTiny2313). Вот пожалуй и все что нам нужно.
Окно UniРrof выглядит так:
Главное окно uniprof
Теперь пошагово опишем сам процесс программирования при помощи COM программатора:
1 Подключаем программатор к COM порту.
2 Подключаем программатор к плате микроконтроллера, подаем питание на микроконтроллер.
3 Запускаем UniРrof (если еще не запущен), выбираем в поле «Программатор подключен к»COM порт. Если Вы не знаете номер своего COM порта, просто по очереди переберите все. Синим должно отобразиться название микроконтроллера. Для проверки надежности связи тыкаем несколько раз в красную системную частоту. Если на каком либо этапе выпадает такое окно, то связь ненадежна – ставим галочку «тормоз» – и проверяем заново.
4 Нажимаем кнопку загрузить «HEX», выбираем нужный файл-прошивку. В окошке «PROGRAM»появятся цифры – наша программа.
5 Нажимаем кнопку «Erase» – стираем микроконтроллер. Если происходят ошибки – ставим галочку «Тормоз».
6 Нажимаем кнопку «Prog» – записываем программу в микроконтроллер. Если происходят ошибки - ставим галочку «Тормоз», повторно стираем и снова программируем. Программа записана, осталось записать фьюзы.
Обязательно ставим галочку «Тормоз»! Нажимаем кнопку «FUSE», видим окошко, в котором4 отделения (4 конфигурационных байта контроллера). В каждом отделении нажимаем кнопку «Read» считываем текущие значения (это уменьшит вероятность ошибки при вводе новых значений). Вводим новые значения фьюзов. Особое внимание обращаем на обведенные красным фьюзы. Они должны остаться в таком же состоянии, иначе дальнейшее программирование станет невозможным. Нажимаем «Write» в каждом из окошек (первое окошко – защитные биты – можно не трогать). Готово, фьюзы прошиты!
8 Снимаем питание с микроконтроллера, отключаем программатор от платы – микроконтроллер прошит, устройство готово!
Что делать если:
не найден микроконтроллер – проверьте правильность подключения программатора к контроллеру, проверьте питание контроллера (должно быть +5v), попробуете поменять порт (если есть несколько);
не распознается контроллер – поставьте галочку «тормоз», покликайте несколько раз красную системную частоту, поставьте керамический конденсатор на ножки питания контроллера, если длинна шлейфа большая, возможно большие помехи мешают – уменьшите длину шлейфа;
прошивка записывается с ошибками – поставьте галочку «тормоз», покликайте несколько раз красную системную частоту, поставьте керамический конденсатор на ножки питания контроллера, если длинна шлейфа большая, возможно большие помехи мешают – уменьшите длину шлейфа;
- после записи фьюзов контроллер перестал читаться / писаться – что-то Вы напутали с установкой фьюзов – теперь Вам поможет только параллельный программатор . Как альтернативный вариант можно собрать «Atmega fusebit doctor»

P.S. Нужно прошить кроме Flash еще и EEPROM?Все просто! Сначала ставим галочку EEPROM – появится окошко EEPROM (Галочку «тормоз» нужно поставить до этого!). Далее открываем HEX-файл, автоматически программа найдет и загрузит EEP-файл (заполнятся данными оба окошка PROGRAM и EEPROM). Если юнипроф сам не определил EEP-файл откроется диалог выбора файла. Далее действуем как описано выше. При нажатии кнопки «Prog» программируется и Flash и EEPROM. Вот и все!