Uniprof скачать на русском

Uniprof скачать на русском.rar
Закачек 3220
Средняя скорость 3359 Kb/s
Скачать

Uniprof скачать на русском

Простой, но универсальный программатор для микроконтроллеров семейства AVR.

UniProf использует технологию внутрисхемного программирования, то есть позволяет прошивать микроконтроллеры уже установленные в конечное устройство. Программное обеспечение имеет собственный «GUI», визуально отображает все этапы работы, может взаимодействовать с COM- и LPT-программаторами, проводить отладку в реальном времени. Рассматриваемый софт поддерживает широкий список микроконтроллеров AVR, среди которых популярные 2313, 8515, 8535, mega128, mega162, mega324, mega64, mega8, mega8515, mega8535, pwm23, tiny15, tiny13, tiny2313, а также многие другие.

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

UniProf позволяет читать, писать или сравнивать FLASH- и EEPROM-память программ (причем для FLASH это возможно даже в заданных границах), а также читать и писать fuse- и lock-биты. ПО распознает файлы прошивок типов BIN, HEX, Generic и сохраняет значения из рабочих окошек в файлы указанных форматов. Предусмотрена отправка любой команды протокола обмена «вручную», можно корректировать содержимое EEPROM-памяти, перемещать блоки FLASH, читать калибровочные байты OSCCAL, помещая их при необходимости в буфер FLASH или EEPROM. Программа может проверить контроллер на чистоту (во всех ячейках памяти должно быть установлено 0xFF), либо очистить микросхему памяти. Есть и более тонкие функции, например, установка задержки программирования, изменение размеров цифр в окошках EEPROM и FLASH, отмена текущего действия. В случае если микроконтроллер не определяется автоматически, его можно выбрать их предложенного списка самостоятельно. Для тех, кто не уверен в правильности подключения прошиваемого устройства, предусмотрена панель со всеми доступными вариантами портов. Перебирая их по очереди, можно найти подсоединенный микроконтроллер.

Если при чтении или записи возникают ошибки, то программа сразу объявит об этом. В этом случае можно воспользоваться замедленным режимом под названием «тормоз», уменьшающим риск неправильной записи, а также обязательном при работе с fuse-битами. Кроме этого режим «тормоз» необходим при низких тактовых частотах компьютера (программа нормально работает на частотах не менее 1 МГц).

В программе UniProf существуют два режима отладочного обмена: «попроще» и «посложнее». Они включают в себя возможность чтения таблицы имен Algorithm Builder и MAP-файла компилятора IAR. Здесь же присутствует опция «синхро», добавляющая «лишний» строб и восстанавливающая обмен при помехах.

Автором рассматриваемого программатора является житель России Михаил Николаев (http://avr.nikolaew.org/). С 1992 года он занимается созданием программного обеспечения для микроконтроллеров, принимает активное участие в удаленной разработке архитектуры и макетов различных устройств, пишет несложный стыковочный софт. Автор постоянно работает над улучшением UniProf. Программа избавилась от множества ранних ошибок, повысилась стабильность в процессе прошивки.

Программа UniProf совершенно бесплатна. Найти данное ПО на сайте автора в настоящее время невозможно. Пакет небольшой по размеру (около 1 МВ) и не требует установки. Для подключения к отлаживаемому устройству необходим один из двух шлейфов: для COM-порта или для LPT-порта. Из-за возможности сжечь порт LPT при подключении к функционирующему устройству с мощной силовой частью автор добавил возможность самостоятельно назначать линии порта. Таким образом, программа UniProf может быть настроена под любой шлейф для LPT-порта.

Программное обеспечение написано на русском языке.

UniProf был создан для работы в операционной системе Windows 98, однако проверена работоспособность пакета в Windows 2000, XP, Vista и 7.

Распространение программы: бесплатная

Программа обновлена до версии 08.06.2010.

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

Честно говоря, по началу, я решил использовать для прошивки микроконтроллеров программу AVRDUDE («дудка»). AVRDUDE мощная программа, заслуживающая уважения – умеющая работать с огромным количеством программаторов, с кучей настроек и довольно широко используемая для AVR микроконтроллеров. Программа не имеет своего «GUI» (работает с командной строки) и я собирался писать батники под каждую прошивку, чтобы в «один тык» прошивать контроллер. Но, немного поразмышляв, пришел к выводу:

— программа должна быть простой и доступной – чтобы с ней мог разобраться даже человек ни разу не работавший с микроконтроллерами (ну вот такой я идеалист :));

— была небольшой, портативной, со своим ГУИем, визуально отображала все этапы программирования, поддерживала микроконтроллеры используемые в блоге.

К сожалению, под эти требования AVRDUDE не подходит.

Зато подходит другая программа — UniProf-универсальный программатор для AVR. Программа имеет определенные недостатки, но они компенсируются простотой и доступностью. Кроме того, UniProf умеет работать с нашими LPT и COM программаторами. Поэтому я решил сделать общий пост-обзор программы UniProf, а позже отдельно опишу программирование через LPT и COM порт. Итак …

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

Начнем ознакомление.

Главное окно 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 и Ponyprog, кто — то выбирает первую, кто-то вторую, я же предпочитаю работать с Uniprof. В этой статье мы как раз и рассмотрим, как работать в программе Uniprof. Оболочке Ponyprog, будет посвящен один из наших дальнейших обзоров. Саму программу Uniprof, вы сможете скачать по ссылке в конце статьи.

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

После того, как мы распакуем архив с программой и откроем папку, мы увидим такой список файлов:

Рассмотрим, какие из них будут нам интересны. Это в первую очередь файл, в виде микросхемы с малиновой стрелкой. Именно он запускает программу оболочку.

Перед тем как начать разбирать интерфейс программы, хочу сказать, что создатели программы позаботились о том, чтобы облегчить нам работу с оболочкой настолько, насколько это вообще возможно. Они выпустили файл справки. Этот файл находится в общей папке и выглядит в виде страницы с желтым знаком вопроса. Те, кто много работают за компьютером, знают, что так выглядят Help файлы Windows. Что же мы увидим когда откроем его ? А увидим мы следующее:

Итак, перейдем к разбору интерфейса нашей оболочки. Такое окно мы видим после запуска программы:

На экране появилось сообщение: “МК не откликнулся. Проверьте порт и подключение.“ Так и должно быть. В данный момент программатор и МК у нас не подключены. Сразу хочу сказать, что программа работает не только с программаторами, работающими через СОМ порт, но и через LPT. Так вот, собирать программатор 6 проводков для прошивания через LPT порт я вам категорически не рекомендую. Если уж очень приспичит собрать программатор 6 проводков для разовой прошивки, используйте панельку под микросхему и подпаяйтесь непосредственно к её выводам. Дело в том, что СОМ порт намного более устойчив к замыканиям и перегрузкам, нежели LPT порт. С LPT-портом достаточно одного замыкания и вы можете безвозвратно его выжечь.

Вернемся к нашей оболочке, в правом нижнем углу мы видим, что программа работает аж с пятью СОМ портами и одним LPT портом. Путем выставления нужной галочки, мы должны выбрать наш СОМ порт

Что делать если вы не знаете к какому по счету СОМ порту у вас подключен программатор ? В таком случае открываете программу, изменяете СОМ порт на следующий по списку и выходите из нее. Обычно используются СОМ порты под номерами 1 и 2.

Разбираем дальше. В верхней части окна программы, мы видим надпись синим цветом “unknown”

После того как МК определится в программе, здесь будет показана модель нашего микроконтроллера и объем его памяти, например, Tiny 2313, 2k bytes.

Если нам помимо FLASH памяти требуется прошить еще и EEPROM, ставим на ней галочку так, как это сделано на рисунке ниже:

После нажатия на иконку READ, мы загрузим прошивку из памяти МК в буфер обмена программы. После этого у нас появятся какие — то значения в ячейках таблиц:

Это означает, что в буфер программы загружена прошивка. То же самое мы видим при записи прошивки в буфер обмена программы с жесткого диска. Другими словами буфер обмена — это то место, куда мы помещаем прошивку перед прошиванием или сохранением.

Бывают случаи, когда подключенный к программатору МК по каким-то причинам не определялся программой самостоятельно. В таком случае кликните в появившемся меню по нужной вам модели МК и проблема решена. Также в рабочем окне программы мы можем путем выставления галочки выбрать формат файла прошивки: привычный нам HEX, или двоичный BIN

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

Остановлюсь на одном важном нюансе, без которого нормально работать с программой вообще невозможно. Частота процессоров современных ПК очень высока. Для работы программатора требуется значительно меньшая скорость. Что делать в таком случае, если у вас мощный современный компьютер, а работать с программатором как-то нужно? Все просто, создатели программы позаботились об этом и поставили в программе специальную опцию замедления для обеспечения стабильной работы, путем установки галочки “тОРОмоз”

Почему именно “тОРОмоз”, а не тормоз ?

А потому, что у создателей оболочки с чувством юмора все в порядке. В чем тут дело вы поймете, когда попробуете с помощью этого программатора, прошить например МК Mega 32. У этого МК очень большой объем памяти и прошивание занимает порядка двадцати минут и до получаса, тогда как USB программатор USBASP шьет такой же объем памяти за 30 – 60 секунд. Но тут есть один нюанс. Если вы что-то напутали с временем запуска тактового генератора МК или совершили подобную не критическую ошибку, то USB программатор может отказываться видеть МК. А программатор Громова после выставления типа МК вручную все сделает как надо. Он меня выручал в аналогичных ситуациях уже как минимум два раза. Не пытайтесь прошивать МК без использования галочки “торомоз”. Прошивка обязательно запишется с ошибками. Особенно это опасно при выставлении фьюзов.

И вот мы наконец добрались до главного пункта этой статьи. Что же нужно нажимать и в какой последовательности, для того, чтобы просто прошить МК?

Итак, сперва мы нажимаем иконку, с рисунком папки «HEX», и загружаем прошивку в буфер программы. Затем мы нажимаем «PROG» для того, чтобы прошить наш микроконтроллер. После этого мы нажимаем иконку «TEST», или верификация, сверяем прошивку в памяти микроконтроллера, с прошивкой в буфере обмена программы. Это необходимо сделать для того, чтобы убедиться, что программа у нас записалась без ошибок. Если нам требуется скачать прошивку, ранее записанную в МК, мы нажимаем иконку «READ», и считываем прошивку в буфер обмена.

Если же нам требуется сохранить эту прошивку на компьютере, мы должны нажать иконку «HEX» с изображением дискеты. Если у нас в памяти МК была ранее записана прошивка, мы стираем старую прошивку перед записью новой, путем нажатия на иконку «ERASE».

И наконец, последняя, самая сложная часть, иконка «FUSE», или выставление фьюзов. После того как мы прошили МК, мы должны выставить фьюзы, фьюз – биты, биты конфигурации. Все эти названия синонимы и означают одно и тоже. Разберем, что же мы видим после нажатия на кнопку «FUSE»:

Мы видим четыре окна без выставленных галочек. Не спешите здесь ничего нажимать, или рискуете залочить (заблокировать) МК! Будьте предельно внимательны или вам придется идти в магазин за новым микроконтроллером. Если, конечно, у вас нет для лечения МК сложного в сборке параллельного программатора, ну или не менее сложного реаниматора МК. Для начала нам требуется нажать во всех четырех окнах на кнопки «READ», то есть считать все четыре байта конфигурации. А их именно четыре, в каждом по восемь битов. Это слева направо LOCK (защитный байт), или байт с помощью выставления LOCK битов которого, мы защищаем прошивку от копирования. Дальше идут LOW (младший байт), HIGH (старший байт), EXT (дополнительный байт).

Еще один важный нюанс! Так уж повелось, что в МК AVR применяют и прямое, и инверсное выставление битов, в разных программах оболочках. Например, в Ponyprog мы должны при выставлении фьюзов выставить галочки там, где в Uniprof их нет, и наоборот. Как же не запутаться,? Ведь часто в статье, по которой мы собираем устройство, не указано, какое используется, прямое или инверсное представление битов. Ориентироваться нужно всегда по биту Spien. Он всегда запрограммирован, если мы имеем доступ к МК с помощью данных программаторов. Следовательно, если на нем стоит галочка, то и на других фьюзах, где должны стоять галочки, мы их ставим. Если же не стоит, то наоборот, убираем со всех фьюзов, где она не должна стоять. У нас будет посвящена разбору фьюз битов, отдельная подробная статья.

Приведу список фьюзов для программы Uniprof, которые нельзя изменять, иначе МК залочится и восстановить его будет проблематично

Никогда не изменяйте их, если вы прошиваете МК программатором Громова или программатором USBASP, или другим программатором, подключаемым по SPI интерфейсу.

Кто не понял, что да как, вот небольшой видос, поясняющий, как прошить МК:


Статьи по теме