Автор статьи
GetChiper

025-UniProf-универсальный программатор для AVR.  

Print Friendly

Титл Юнипроф

Программа обновлена до версии 08.06.2010.
Автор UniProf не покладая рук работает над улучшением своей программы, делая ее еще лучше.  Версия программы от 08.06.2010 значительно лучше шьет микроконтроллеры. Наблюдаемые в предыдущей версии частые сбои при программировании без галочки «тормоз» остались в прошлом. Все остальное, что нам так нравиться в UniProf, осталось на месте.

Честно говоря, по началу, я решил использовать для прошивки микроконтроллеров программу AVRDUDE («дудка»). AVRDUDE мощная программа, заслуживающая уважения – умеющая работать с огромным количеством программаторов, с кучей настроек и довольно широко используемая для AVR микроконтроллеров. Программа не имеет своего «GUI» (работает с командной строки) и я собирался писать батники под каждую прошивку, чтобы в «один тык» прошивать контроллер. Но, немного поразмышляв, пришел к выводу:
– программа должна быть простой и доступной – чтобы с ней мог разобраться даже человек ни разу не работавший с микроконтроллерами (ну вот такой я идеалист :) );
– была небольшой, портативной, со своим ГУИем, визуально отображала все этапы программирования, поддерживала микроконтроллеры используемые в блоге.
К сожалению, под эти требования AVRDUDE не подходит.
Зато подходит другая программа – UniProf-универсальный программатор для AVR. Программа имеет определенные недостатки, но они компенсируются простотой и доступностью. Кроме того, UniProf умеет работать с нашими LPT и COM программаторами. Поэтому я решил сделать общий пост-обзор программы UniProf, а позже отдельно опишу программирование через LPT и COM порт. Итак …

Главное окно uniprofАвтор программы Михаил Николаев. Программа имеет довольно продолжительную историю, но не может похвастаться частыми обновлениями. В то же время программа настолько проста и удобна, что не теряет своей актуальности и сейчас даже на фоне более продвинутых программ.

Начнем ознакомление.
Главное окно UniProf вмещает в себя весь функционал программы. Вам не придется лазить по меню – все делается в «один тык». Программа имеет свою справку (нажимаем F1) в которой все подробно описано. Интерфейс UniProf интуитивно понятен, но давайте пройдемся по элементам окна.
Главным элементом является окошко PROGRAM. В нем (в ячейках таблицы) отображаются прочитанные или записываемые значения ячеек памяти контроллера. Если убрать галочку PROGRAM окошко скроется. Также есть галочка EEPROM для показа или скрытия окна EEPROM памяти контроллера (в большинстве случаев EEPROM нам не нужен – убираем галочку).

Верхний ряд кнопок (слева на право)

Первая часть меню

Прочитать содержимое контроллера. Прочитанное отображается в окошках. Потом это содержимое можно сохранить в файл. (при установленной галочке EEPROM – читается также область EEPROM).

Записать содержимое окошек (прошивку) в контроллер. Предварительно нужно загрузить в окошки прошивку из файла. (при установленной галочке EEPROM – записывается также область EEPROM).

Проверка (верификация) памяти контроллера со значениями в окошках. Отличия обозначаются звездочками. (После записи верификация производится автоматически – поэтому проверять не нужно).

Проверка контроллера на чистоту. У «чистого» контроллера все ячейки памяти содержат 0xFF, что и проверяется.

Установка FUSE битов. Внимательно установите галочки как на картинке прилагаемой к каждой прошивке.
Важно! До прошивки FUSE битов обязательно установите галочку «тормоз» это уменьшит риск их неправильной записи.

Низкоуровневая команда. Лучше не трогайте.

Очистка (Erase) контроллера. Перед каждым программированием делайте очистку кристалла.

Дальше идут кнопки работы с фалами прошивок.

Вторая часть меню

Первые три открывают файл прошивки соответствующего типа (я буду выкладывать HEX-прошивки) и заполняют окошки значениями с открытого файла. Следующие три сохраняют в файл выбранного типа значения из окошек.

Идем дальше.

Третья часть меню

«osccal» – чтение калибровочных байт контроллера. Нам не нужно.

F1-помощь – вызов встроенной справки.

Следующие две кнопки отладка в контроллере – нам не нужно.

LPT pins – очень полезная штука для тех, кто уже успел пальнуть некоторые линии LPT порта или использует программатор другой конструкции. Позволяет назначить любые линии порта взамен выгоревшим.

Кружка – помощь автору.

Чекбоксы под кнопками.

Верхние чекбоксы

Ставим как на картинке. Первый показывает прочитанные или готовые для записи в контроллер байты. Второй для принудительной записи 0хFF в пустую ячейку. Третий – инвертирование линий COM порта (при использовании буферной микросхемы в программаторе). Синеньким будет светиться название подключенного контроллера. Далее – вкл/выкл окошка EEPROM. Красненьким показывается системная частота.
Важно! Если кликать по красному программа повторно засинхронизируется с контроллером. Нажимайте, на всякий случай, до начала программирования.

Другие элементы окна.

Выбор отображаемых кнопокЭтими галочками убираются лишние кнопки (чтоб не путались). Ставим как на картинке.

Важно!

ТормозОчень важно! Нужный чекбокс.  В старой версии программы были определенные проблемы с надежностью программирования без этого чекбокса. В новой версии программы эта проблема решена! Но если при записи или чтении происходят ошибки – программа сразу честно признается в этом. Если у Вас выдается такое сообщение – ставьте галочку «тормоз» и все запишется без проблем! Только медленней. При записи фьюзов «тормоз» обязателен! Не надо рисковать.


Пределы записиМожно указать какую область прожечь – ставим «Все!».

Выбор портаВыбор порта, с которым будем работать. Если незнаем куда тыкнули программатор – по очереди перебираем все, пока синеньким не высветится Ваш контроллер.

Еще есть «горячие клавиши».

F2 Установка задержки записи, нормально = 6. Если ошибки – попробуйте увеличить (? какого либо эффекта не наблюдается).

F3 Покажет список поддерживаемых контроллеров.

Gray -,+ Уменьшить-увеличить шрифт циферок в окошках Flash и EEPROM – это может быть полезно при изменении размеров окна.

Esc – отмена текущего действия.

Есть еще, но не очень нужные – читайте встроенный хелп.


UniРrof можно скачать здесь:
UniProf - Программатор для AVR. Смотрим avr.nikolaew.org

Или на сайте программы .


Ссылки:
Сайт программы UniProf
Подробная инструкция как запрограммировать AVR микроконтроллер через LPT порт >
Подробная инструкция как запрограммировать AVR микроконтроллер через COM порт >

P.S. Все равно со временем заюзаем AVRDUDE – мощная вещь!

  1. Ross
    27 Август 2010 в 09:25 | #1

    Avrdude значительно лучше.

    «Программа не имеет своего «GUI» (работает с командной строки)»

    - Да,своего не имеет,но есть для неё GUI ,например avr8-burn-o-mat
    Работает отлично,имеет 2 способа записи фьюзов,для начинающих,галочками и для спецов.Доступно и для Windows и для Linux

  2. GetChiper
    27 Август 2010 в 17:18 | #2

    Ross :

    Avrdude значительно лучше.

    С этим я полностью согласен. По возможностям и количеству поддерживаемых устройств с Дудкой ни что не сравниться! Но есть одно НО – программа довольно наворочана (в силу своей функциональности) и ГУИ не всегда спасают от этого.
    Противоположностью функциональности Avrdude, есть простота UniProf.
    Да, UniProf, примитивна, но это и является ее достоинством. Даже тот. кто в своей жизни ни разу не прошивал микроконтроллер, запустит UniProf и ему будет все понятно.

  3. vpashko
    4 Январь 2011 в 20:59 | #3

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

  4. Flint
    22 Март 2011 в 18:05 | #4

    Когда собрал программатор для ком-порта не мог никак запрограммировать контроллер. Удалось только при установки максимальной задержки и опции «Тормоз». Всё-таки сильно там завязано на частоту проца. С LPT портом значительно проще в ней.

  5. GetChiper
    22 Март 2011 в 20:11 | #5

    Новую версию пробовал? В ней значительно улучшен процесс программирования.

  6. cudi
    5 Апрель 2011 в 18:12 | #6

    У меня STK500, через USB порт, он не находит в этой программе меня((
    нажимаю COM3, что то тужится тужится и бац «мк не откликнулся»

  7. GetChiper
    5 Апрель 2011 в 19:40 | #7

    Эта программа с STK500 не работает.
    А вот Синапрог с дудкой – запросто! http://www.getchip.net/posts/057-programmiruem-avr-mikrokontrollery-usbtiny-avrdude-sinaprog/

  8. SvC
    20 Июнь 2012 в 13:25 | #8

    а какая чейчас последняя версия этого программатора?

  9. GetChiper
    20 Июнь 2012 в 20:39 | #9

    Это и есть последняя.

  10. SvC
    21 Июнь 2012 в 07:36 | #10

    получается 2 года не обновлялся?

  11. GetChiper
    21 Июнь 2012 в 20:45 | #11

    Получается да.

  12. AlexPM
    29 Сентябрь 2012 в 20:36 | #12

    Кстати, могу предложить новую графическую оболочку к avrdude.exe – [URL="http://a-p-matveev.narod.ru"]DudeAVR[/URL] . Удобная, сам проверял с несколькими программаторами и с разными AVR-ами. Небольшая, все GUI-шные потребности вроде учтены :-)

  13. samson
    5 Март 2013 в 15:10 | #13

    почему не поручается стереть записанное сконтроллера?

  14. GetChiper
    5 Март 2013 в 18:26 | #14

    Записывается повторно нормально?

  15. Ship
    9 Март 2013 в 20:06 | #15

    Приветствую. Собрал COM программатор Громова(перед подключением перепроверил сборку). Подключил Attiny 2313. Питание+5 от USB. Все чинно,благородно. UniProf тиньку увидел без проблем. При включенном тормозе залил прошивку (для USB программатора)ошибок не было,затем фьюзы прошились (как на картинке),перед этим 10 раз сверил. Надо бы радоваться….. Однако рано. Больше тиньку никто не видел. Прокрутил видеорегистратор (тот что в голове)- в UniProf при всех операциях не поставил галку «Write 0xFF». Возможна ли из-за этого данная проблема?
    И далее только доктор?. Спасибо.

  16. GetChiper
    9 Март 2013 в 20:57 | #16

    Write 0xFF – недолжно залочить МК. Походу где-то ошибка в фьюзах была. Перед записью фьюзов их предварительно прочитали?

  17. Ship
    10 Март 2013 в 08:26 | #17

    Да,при, так сказать, контрольном подключении стер пустой контроллер,открыл фьюзы, предварительно прочитал – все хорошо. Отключил и подключил контроллер снова и здесь, после открытия окна фьюзов, их то предварительно и не прочитал, а только установил требуемую конфигурацию и огонь(в смысле прошил).

  18. Ship
    10 Март 2013 в 10:27 | #18

    Получается, все таки, нужно при любом раскладе, предварительно в обязательном порядке честь фьюзы. Понадеялся что при открытии окна фьюзов, информация об их состоянии выводится не с потолка(ни в коем случае не хочу никого обидеть),хотя от состояния при пробном подключении и прочтении ничем не отличалась. Поэкспериментировал с Attiny 13 – все без проблем (Attiny 2313 боле пока нет).

  19. GetChiper
    10 Март 2013 в 18:39 | #19

    да, если не считать, то там просто пустые чекбоксы.

Необходимо войти на сайт, чтобы написать комментарий.