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

Автор: | 03.04.2010

ТитлЭта статья – подробная инструкция как запрограммировать 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» — записываем программу в микроконтроллер. Если происходят ошибки — ставим галочку «Тормоз», повторно стираем и снова программируем. Программа записана, осталось записать фьюзы.

7 Обязательно ставим галочку «Тормоз»! Нажимаем кнопку «FUSE», видим окошко, в котором 4 отделения (4 конфигурационных байта контроллера). В каждом отделении нажимаем кнопку «Read» считываем текущие значения (это уменьшит вероятность ошибки при вводе новых значений). Вводим новые значения фьюзов. Особое внимание обращаем на обведенные красным фьюзы. Они должны остаться в таком же состоянии, иначе дальнейшее программирование станет невозможным. Нажимаем «Write» в каждом из окошек (первое окошко – защитные биты – можно не трогать). Готово, фьюзы прошиты!

8 Снимаем питание с микроконтроллера, отключаем программатор от платы – микроконтроллер прошит, устройство готово!

Что делать если:

не найден микроконтроллер – проверьте правильность подключения программатора к контроллеру, проверьте питание контроллера (должно быть +5v), попробуете поменять порт (если есть несколько);

не распознается контроллер – поставьте галочку «тормоз», покликайте несколько раз красную системную частоту, поставьте керамический конденсатор на ножки питания контроллера, если длинна шлейфа большая, возможно большие помехи мешают – уменьшите длину шлейфа;

прошивка записывается с ошибками — поставьте галочку «тормоз», покликайте несколько раз красную системную частоту, поставьте керамический конденсатор на ножки питания контроллера, если длинна шлейфа большая, возможно большие помехи мешают – уменьшите длину шлейфа;

— после записи фьюзов контроллер перестал читаться / писаться – что-то Вы напутали с установкой фьюзов – теперь Вам поможет только параллельный программатор . Как альтернативный вариант можно собрать «Atmega fusebit doctor»

 

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

 

Подробная инструкция по прошивке через LPT порт >

(Visited 8 136 times, 41 visits today)

028-UniProf – программируем AVR через COM порт.: 65 комментариев

  1. asdfgh

    Не знаю правильно ли работает, у меня, етот униПроф, но я немогу запрограмировать простые бегущие огни (8 светодиодов с резюками на порт Б), на тини2313, не отключив землю от етих диодов. УниПроф просто не видит тиньку, если не отключу землю. А Пони ВООбще не видит коетролера.
    PS Напряга каждый раз отключат ету землю

  2. GetChiper Автор записи

    На порте Б стоят линии программирования диоды могут мешать программированию. А «голую» тиньку программатор видит?

  3. asdfgh

    Наверно, я немнога непонятно выразился 😉
    Тиньку видит и шеьт нормально(УниПроф), токо когда земля от светиков отсоединина. Я токо начал ето дело изучать, так что не силен в МК, но немогу понять: при снятии флажка CKDIV8 — видит токо с внешним кварцем??? И еще, огоньки(http://radiokot.ru/start/mcu_fpga/avr/11/) бегают быстрей при настройке веутренего генератора на 4МГц, чем на 8Мгц :O

  4. GetChiper Автор записи

    CKDIV8 — фьюз, при активации которого частота задающего генератора делится на 8. Ни как не связан с выбором источника для задающего генератора.
    Про бегущие огоньки ничего не могу сказать так как не знаю как работает программа (но по логике, при уменьшении частоты задающего генератора, естественно, должна уменьшаться скорость работы программы).

  5. Topor

    В ходе диплома делал устройство на ATmega8535, всё прекрасно работало. Теперь повторяю тоже самое, т.е. спаяно всё отлично и я знаю что делаю. Сделал уже 3 программатора, 5 проводков, потом его улучшенная версия, и этот программатор на СОМ-порт. Ни один не заработал 🙁 Шлейф 20 см, питаюсь от USB, ровно 5 В на устройстве, всё проверено тестером, схемы правильные. PonyProg и Uniprof не хотят видеть контроллер при любых настройках… неужели у меня оба порта, LPT и СОМ из строя вышли? Раньше я к ним совсем не прикасался. Может быть кто знает в чём проблема?

  6. GetChiper Автор записи

    А может проблема с ATmega8535?
    — сгорела
    — фьюзы неправильно выставлены

  7. nml

    http://avr.nikolaew.org/progr.htm — тут лежит более новая версия программатора, надежнее работающая на шустрых компах, и еще добавлена возможность «ручками» править (и создавать новые) файлы сигнатур МК

  8. RADIY

    Подскажите можно вместо униПроф шить Понипрог? униПроф у меня ничего не видит. И как устанавливать фьюзы? Вопрос может банальный но для меня важный.

  9. GetChiper Автор записи

    @nml
    Действительно, автор обновил программу. Давно не заглядывал на страничку юнипрога. Обязательно обновлю в статье версию юнипрога. Спасибо, что подсказали!

    @RADIY
    Можно шить и Понипрогом. Только фьюзы в Понипроге ставятся инверсно тому, что я выкладываю в статьях.
    Решил обновить статью по фьюзам, подробно все описать. Обновлю — выложу сообщение.

  10. RADIY

    Буду очень благодарен за фьюзи для Понипрог. Мой програматор без проблем работает с Пони с icprog c WinPic800 а вот с UniProf нивкакую.

  11. GetChiper Автор записи

    Да, такой программатор не будет работать с UniProf.

  12. RADIY

    Очень жаль. Вся надежда на вас. Или паять 5 проводков.

  13. GetChiper Автор записи

    Почему жаль? У Вас хороший программатор и Понипрог как и icprog хорошие программы для программирования.

  14. RADIY

    Совершено с вами согласен. Но как бывает,всё готово а с прошивкой засада. Так что жду помощи.Если это возможно.

  15. nml

    @GetChiper
    Дык, может проще указать ссылочку на оригинал?
    А то как-то несолидно… Не принято так.

    Я, если использую схему Громова — так и пишу, схема не моя, Громов разрешил. Использую модуль вывода на LPT — говорю спасибо автору, хотя он свой проект в инете давно прикрыл. А вы юнипроф на своем сайте выкладываете… Да, он бесплатный, но приличия соблюдать надо 🙂

  16. GetChiper Автор записи

    Если Вы перейдете по ссылке «обзор UniProf», (http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/) которая вначале статьи, то увидите, что в статье по юнипрофу есть и ссылка на авторский сайт и информация о авторе программы Михаиле Николаеве.

    То же самое касательно и программатора Громова: http://www.getchip.net/posts/delaem-com-programmator-dlya-avr-mikrokontrollerov/. В статье указан автор Геннадий Громов, указан сайт программы Algorithm Builder.

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

  17. GetChiper Автор записи

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

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

    Кстати, есть некоторые вопросы по программе. Если не против, на мыло отошлю?

  18. nml

    @GetChiper
    Ой. Прошу прощения. Старый, слепой, ссылку не приметил, наехал. Больше не буду 🙂 Я вовсе не против публикации — наоборот.

  19. karpov

    Добрый день. Столкнулся с такой проблемой: хочу прошить ATTiny2313, но когда я нажимаю «Prog» выскакивает такая фигня: TProgressbar property out of range. В чем может быть проблема?

  20. GetChiper Автор записи

    А юнипроф «видит» ATTiny2313? Прошивка загружена в программу? — такая ошибка выскакивает когда пытаешься прошить «пустое место»

  21. karpov

    юнипроф «видит» ATTiny2313, но не читает HEX файл прошивки. проверял в понипрог-там нормально читается *.HEX, но ATTiny2313 читать не хочет

  22. GetChiper Автор записи

    Предыдущую версию юнипрофа попробуйте — может неотловленный баг новой версии?

  23. karpov

    Спасибо. Скачал юнипроф 20-jan-2006. Всё заработало.

  24. karpov

    Доброе утро.
    У меня такая проблема: не хочет стираться AT90S2313. При чтении фьюз-битов юнипроф пишет, что этот МК не читает Look-и.
    В чем проблема?

  25. GetChiper Автор записи

    Может он залочен? Юнипроф его видит? Полное стирание помогает?

  26. karpov

    Полное стирание не помогает. Юнипроф его видит. Я его новый купил в Митино-не должен быть золоченым.

  27. GetChiper Автор записи

    Может со старыми микроконтроллерами Юнипроф не работает? Может попробовать на ATtiny2313?

  28. karpov

    Программу переписывать не хочется.

  29. GetChiper Автор записи

    Так переписывать и не придется, ATtiny2313 полностью совместим с AT90S2313 — все должно работать.

  30. karpov

    А с частотой что делать?

  31. GetChiper Автор записи

    А что с ней? По моему, ATtiny2313 сможет работать с той-же частотой, что и AT90S2313 (и даже больше).

  32. GENACHKA

    A с ос WINDOWS 7 будут работать ваши изобретения?

  33. GetChiper Автор записи

    Работают.

  34. ROM

    Все сделал по инструкции выше. Кроме пункта 7. Нужно ли что-то менять в настройках фьюзов если мне особая конфигурация не нужна? МК — только что с полки магазина.
    Спасибо.

  35. GetChiper Автор записи

    Нет, не нужно — оставь как есть.

  36. ROM

    Тоисть, не нужно каждого разу жать читать и потом записать в МК флюсы? Правильно я понял.
    Читать — это считывается бит с МК (не с тхт файла берется)?

  37. GetChiper Автор записи

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

    Да, фьюзы считываются с МК

  38. ROM

    Спасибо! Все теперь понятно более-менее..

  39. kipbmk

    здравствуйте подскажите как выставить фьюзы hfuse=0x89 lfuse=0xAE в uniprof ?

  40. igorek

    постоянно выдаёт ошибку надо 12 а есть 00 как указано в нижесказанной инструкции что делать? на F2 какую задержку желательно установить, и какой максимум можно? СПАСИБО!

  41. GetChiper Автор записи

    В текущей версии программы вроде такого быть не должно — ищите проблемы в железа.

  42. kazax1994

    Собрал и ком программатор, и саму платку… при подключении к uniprof 2312 не находит, жмешь два раза на красную частоту, он просит выбрать МК… потом определяет её после включения и выключения питания, но я не чего не могу сделать, ни прошить, ни считать 🙁 В чем проблема? Спаянно все нормально, проверял раза 2-3 :((

  43. GetChiper Автор записи

    Странная ошибка. Попробуй переустановить (загрузить по новой) Юнипроф.

  44. forfrends

    Добрый день!
    подскажите, а данная программа работает только с LPT и COM? А будет работать, на пример, с USBTiny?
    А то я долго пользовался программатором Громова и привык к Юнипрофу — он удобен. Но возникла необходимость сменить комп, а там ни LPT ни COM портов нет 🙁
    Сделать USB-программатор не проблема, просто не хочется менять UniProf на что-то другое.

  45. GetChiper Автор записи

    USBTiny работать не будет. Только с LPT и COM. SinaProg довольно удобная программка, конечно таких плюшек как у Юнипрофа нет, но что поделаешь.

  46. drayv

    День добрый подскажите новичку как правильно прошить Attiny 13
    спаял програматор с 5 проводов на ком порт установил програмку все сделал как описано по пунктам но при считывании появились все ячейки с нулями, и ни частоту красным не отражает, и синим не пишет модель.
    5 проводов я подпаял, но для меня загадка что делать с +5в с 8 ногой контроллера? она висит в воздухе или нужно отдельно подать с источника питания на контроллер? я новичек в атмелах в инете пересмотрел все схемы и не увидел что делать нужно.

Добавить комментарий