download

 

AVReAl – AVR serial programmer

You can download the most recent version of AVReAl from this page.
FTDI chip driver and FTD2XX library must be installed for USB adapters based on FT2232C/L/D, FT2232H, FT4232H, FT232H (both for Win* and Linux environment).

avreal/linux has been checked up with libftd2xx versions 0.4.16 and below. You can download here 32-bit libftd2xx0.4.16.tar.gz and 64-bit libftd2xx0.4.16_x86_64.tar.gz versions of the library.

DLPortIO port access driver must be installed for NT-line OSes (WindowsNT, Windows2000, WindowsXP 32 and 64 bit, Windows7 32 and 64 bit) for LPT-adapters support. No driver required for Windows 98.

avreal for Linux does not requires a special LPT driver also. What is needed is to choose a method and set up a permissions.

AVReAl 

The table contains some (most stable) avreal versions. Posts about updates and bug fixes are published under ‘History’ category. Some of previous versions (including the last DOS-version) available from old History page.

DLPortIO 

File Comments
dlportio-64.zip (25K)
Driver and library for 64-bit Windows.
Command-line installer. More…
dlportio-32-bat.zip (17K)
Driver and library for 32-bit Windows.
Command-line installer. More…
dlportio-32-exe.zip (167K)
Driver and library for 32-bit Windows.
GUI installer. More…

These drivers are not tested with Windows Vistabut apparently they should work when installed as for Vindows 7

 

AT89S51, AT89S52 serial programmer

at89s52.zip

There is old “quick ad dirty” patch of avreal for at89s51, at89s52 programming. The program was written some years ago for my friend and frozen in initial state. Only Windows and LPT are supported. Use the same driver as for avreal and almost the same switches.
Try to decrease -o switch frequency to -o8MHZ or -o6MHZ when programming errors occured.


51 Responses to “download”

  1. Nikolay says:

    Здравствуйте. Не подскажите, как у Вас с планами добавить поддержку at89s в основную ветку avreal. И возможно ли как-то используя программатор на ft2232 прошить at89s с помощью специальной версии avreal.

    • ReAl says:

      Здравствуйте!

      Ой… Этот вопрос уже возникал, на как то затёрлось. Вокруг меня at89s никто не применяет, я уже про них и думать забыл.
      Я посмотрю, что проще — добавить at89s в основную ветку или ft2232 в старую спецверсию.

      • Nikolay says:

        Спасибо большое. Редко конечно требуется прошивать at89s, но из-за них приходиться держать отдельный программатор, хорошо бы было если у Вас получиться.

        • Константин says:

          Так есть же для всяких там AT89 ISProg2007 – не смотрите, что старый – но работает с AT89S51/52 AT89S53/8252 AT89S8253 AT89S2051/4051.
          Есть еще 2 магических пункта – AVR и AT45DBxx ;-) ,- что означают не проверял.
          У меня успешно им шился AT89S8253.

          • ReAl says:

            А кто такой ISProg?
            Гуглится только ICProg, но тот знает только LPT-адаптеры, а тут вопрос про USB, да ещё и конкретный, на FT2232.

            • Nikolay says:

              Константину: Да есть другие программаторы. У меня есть конкретно для AT89s, но по габаритам он больше программатора на ftdi2232 в несколько раз. Когда на работе прошить необходимо, то сложностей не возникает, а в командировку, таскать не очень удобно.
              ReAl: Возможно все-таки добавить поддержку в avreal?

              • ReAl says:

                Ой, я (опять) замотался и всё отложил. Подготовка издания, всякое такое отняло время, теперь нагоняю отставшую работу. Даже обычные две недели отпуска в сентябре не взял, эта осень без новых фото грибов :-)
                Я в ближайшее время закончу давно начатые изменения в выдаче диагностики (там не так внешний вид лога задевается, как внутренняя организация), потом берусь за введение в avreal понятий, отвечающих за разные семейства (разные алгоритмы программирования).

  2. sergey says:

    Большое спасибо за ответ! Есть ли описание команд? Каким образом выполнять программирование? Я так понимаю что это приложение без интерфеса!? Можно пример как прошить у ATMEGA128 флешь-память кодами из HEX-файла?
    За ранее благодарен!

    • ReAl says:

      :-)
      Это приложение без графического интерфейса. С текстовым.

      На основной страничке есть линки на старые страницы description (описание программы) и adapters (описание адпатеров).

      Примеры именно для платы avreal-usb есть на страничке разработчика платы (интересно, он хоть «спасибо» от продавцов получил?). Собственно, там важны имена ножек для reset и enable, а так общий формат стирания+записи+верификации для FT2232 таков:
      avreal -aft2232=файл_описания_ножек -e -wp -v файл_кода.hex файл_eeprom.hex
      или
      avreal -aft2232:описание_ножек_по_месту -e -wp -v файл_кода.hex файл_eeprom.hex
      Может понадобиться ключ -o для управления частотой, см. описание и тут в комментариях.

      • sergey says:

        Спасибо! Буду разбираться. Вспомним 90-е, когда в досе все программировалось! Покупал в Космодроме.

  3. Sergey says:

    добрый день! Прошу помощи, купил программатор AVReal-USB, установил драйвера – вроде бы как все в порядке. Скачал программу AVReal последнюю версию в колонке для W-32, у меня установлен W-XP. Не запускается программа, она что под DOS? Что я не так делаю? За ранее благодарен за помощь!

    • ReAl says:

      Она не под DOS, под досом как раз и не запустится. Досовская версия давно не поддерживается.
      Это консольное приложение для 32-битной версии windows. Т.е. внешне оно, можно сказать, «как DOS», если забыть, что консоль и до DOS существовала, и после DOS осталась :-)

      Программа изначально предназначена прежде всего для интеграции в make-технологию или в IDE, умеющую вызывать внешние программы «командной строки». Но можно и вручную вызывать из консольного окна или из FAR, Total Commander (у него есть консольная строка) — нрапрямую или через bat-файлы.

      Если просто кликнуть мышкой — то промелькнет окно с сообщением и консоль закроется.

      Хм… Похоже, надо специально в win-версию при пустой командной строке перед выходом «press any key» вставить :-)

  4. uzZ says:

    Обнаружил ошибку при программировании атмега32 сразу после перезагрузки компьютера не прошивается раз 10.
    Выдает ошибку синхронизации. Частоту пробовал указывать ниже, не помогло. Заметил закономерность, при каждой новой неудачной попытке прошивки прогресс останавливается на больших процентах.
    версия avreal32-1.28r12. До этого пользовался более старой версией, то же прошивал не с первого раза (для этого и обновил версию).

    • ReAl says:

      Попробуйте отключить PnP-опрос порта LPT, как это описано в сообщении LPT и PNP в Windows.
      В одном из «вылеченных» случаев ситуация была именно как у Вас — после загрузки в течении минут так пяти запрограммировать было практически невозможно, затем вероятность успешного программирования росла и через минут тридцать уже девять прошивок из десяти были успешными :-)

  5. iGOR says:

    как установить програму на линукс в архиве файлы file_id.diz и avreal32-1.28r12 что с ними делать

    • ReAl says:

      Разрешите запуск файла на выполнение.

      chmod +x avreal32-1.28r12

      или через графическую оболочку через страничку «свойства» / «права».
      Уже можно запускать из текущего каталога :-)

      Скопируйте avreal32-(версия) в каталог, находящийся в $PATH, например, в /usr/local/bin, можно сразу сменить имя на avreal:

      sudo cp avreal32-1.28r12 /usr/local/bin/avreal

      Посмотрите ещё рекомендации для работы с LPT и с USB (FTDI/MPSSE)

  6. goodwin says:

    Доброго здоровья, Александр!

    Обнаружил ошибку.
    Для кристалла atmega328p объем памяти EEPROM похоже задан неверно.
    Не хочет шить больше 512 байт.

    Спасибо.

    • ReAl says:

      Упс!
      (в смысле ИБП — Иногда Бывает Плохо)

      Спасибо, исправил. Теперь только нужно подкинуть диск с отличными (от убунты) операционными системами и собрать все варианты.
      В воскресенье сделаю.
      ____
      Добавлено 29-Apr-2012: Сделано

  7. vitaly says:

    Доброго дня.

    У мене виникла необхідність програмувати процесори AT89S52 з під операційної системи Linux, чи можна розраховувати що найближчим часом ви зробите версію AT89S52 serial programmer для цієї операційної системи, або інтегруєте її функції у avreal?

    • ReAl says:

      Можливо, мені дійсно простіше буде для початку зробити окрему програму.
      Супроводжувати буде простіше одну, але це якщо внутрішня структура буде продумана. Тому зробити окрему, а потім звести до спільного знаменника може і краще.

      На початку грудня я підніму старі шматки для 89s5x і подумаю, як краще зробити.

  8. Андрей says:

    Можно с помощью AVRReal записать свою программу BootLoader в ATMega16? Нужно как-то указывать что эта программа записывается в NRWW секцию? И стирается ли основная программа из RWW секции?

    • ReAl says:

      С точки зрения программатора секции не отличаются, так как он «исполняется» «снаружи», а не из RWW-секции, как boot-loader.
      В HEX-файле указаны адреса, программатор шьёт по ним и всё.
      Стирается вся память микроконтроллера при указании ключа -e
      Если ключ не указан, то флеш не стирается и можно дописать в чистое место нужное содержиое.

      • Андрей says:

        С точки зрения программатора секции не отличаются, так как он «исполняется» «снаружи», а не из RWW-секции, как boot-loader.

        Я не понял, программатор когда записывает Flash в МК, стандартный BootLoader не использует? То есть если я сотру NRWW секцию и не запишу туда ничего, или запишу кривой BootLoader, МК всё равно будет благополучно программироваться через AVRReal?

        • ReAl says:

          Он его не только не использует, он начинает с того, что стирает его по ключу -e, так как снаружи кристалл стирается только весь.
          Любой внешний ISP-программатор не зависит от наличия бутлоадера. Если программирование по последоватльному каналу вообще разрешено (SPIEN=0), то он стирает-пишет всё через аппаратный интерфейс программирования.

          • Андрей says:

            Спасибо. Но остался вопрос: какой формат файла *.a90? Можно где то почитать? Ну, что бы понимать как правильно записать программу в МК.

          • ReAl says:

            Ну так насколько я понимаю, .a90 – самый что ни на есть intel hex формат, т.е. можно подсовывать avreal-у.
            Стирать при записи не забываете?

            Ну вышлите мне на почту avreal at real.kiev.ua файл, я гляну.

          • Андрей says:

            Ну так насколько я понимаю, .a90 – самый что ни на есть intel hex формат, т.е. можно подсовывать avreal-у.
            Стирать при записи не забываете?

            Тут всё классно, avreal его пишит отлично, я имел в виду для своего BootLoadera как его (этот файл *.а90) предоставить? Я так понял там в начале каждой строчки идёт адрес (в байтах) а потом данные в Hex виде, только их многовато. В общем хочу почитать описание hex формата файла.

          • ReAl says:

            Ну з цим ніяких проблем :-)
            http://real.kiev.ua/files/diff/intelhex.pdf

  9. [...] для запуска внешней утилиты-программатора avreal ( скачать ) и прошивки [...]

  10. Андрей says:

    Добрый день.
    AVReal принимает файлы в формате Intel HEX, я пытаюсь выставить в IAR формат выходного файла Intel Standart or Intel Extended для Tiny26, но контроллер прошивается не правильно. Я так понимаю что IAR формирует выходной файл(*.a90) не правильного формата? Как правильно выбрать формат выходного файла, или может использовать какой-то перекодировщик?

    • ReAl says:

      Когда-то давно IAR-овский софт иногда некорректно формировал hex-файл на границе 64К байт, но это в прошлом и это не может коснуться tiny26. Так что проблем быть не должно.
      В чём выражается “неправильность прошивания” ?

      • Андрей says:

        Процессор прошывается без ошибок, но программу не выполняет. Я загоняю самую простую програмку
        wait_3000ms;
        PORTA_7 = 0; PORTA_6=1; PORTA_5=0; PORTA_4=1;
        RS = 0; E = 1;
        wait_3000ms;
        PORTA_7 = 1; PORTA_6=0; PORTA_5=1; PORTA_4=0;
        RS = 1; E = 0;
        но она не выполняется, на ножках процессора уровни не изменяются.
        Раз формат файла выбран правильно, то я завтра попробую другим программатором, и если не разберусь, то напишу.
        Спасибо.

      • Андрей says:

        Да, все таки я запутался. Прошиваю процесор другим программатором, все работает. Прошивается без ошибок, fuses изменяет нормально. Как понять в чем проблема?

      • Андрей says:

        Прошивается контроллер без ошибок, читается без ошибок, но прочитанные данные отличаются от записанных. Тоже происходит и с Mega16. Как правильно вычислить в чем ошибка?
        Спасибо.
        К стати Tiny26 не верификацию не Очистку не проходит, пишит “контроллер не поддерживается”.

      • ReAl says:

        Та ну… tiny26 давно підтримується. Років шість так точно. Пару років з ними не працював, але пропасти з програматора вони не могли.
        Показуйте командний рядок, висилайте на пошту файл, який не пишеться — буду розбиратися.
        Ключ -e при запису додано? Автоматично по -w не зтирається, дописується по старому.

        • Андрей says:

          Спасибо. Ключ -e не был добавлен.
          Я пользовался бат файлами скачанными с Интернета, и не догадывался что по ключю -w контроллер просто дописывается.
          Благодарю.

  11. Андрей says:

    Я немного запутался. Написано (-frstdsbl=0 или -frstdsbl=on) – это одно и тоже. Значит если в DataSheet написано CKOPT установить(1), то в AvrReal я должен задать -fckopt=0 ???
    Ни как не могу установить биты чтобы ATMega16A заработал от внешнего резонатора. Я ставлю: CKSEL=E,SUT=0,CKOPT=0 , но контроллер останавливается.
    Заранее благодарю.

    • ReAl says:

      Написано (-frstdsbl=0 или -frstdsbl=on) – это одно и тоже

      Да.

      Значит если в DataSheet написано CKOPT установить(1), то в AvrReal я должен задать -fckopt=0

      Нет.

      The ATmega16A has two fuse bytes. Table 26-3 and Table 26-4 describe briefly the functionality of all the fuses and how they are mapped into the fuse bytes. Note that the fuses are read as logical zero, “0”, if they are programmed.

      Запрограммированное значение, on, это 0. Стёртое значение, off, это 1. Так что если в документации в колонке ckopt стоит 1 то и указывать надо ckopt=1.

      CKSEL=E,SUT=0,CKOPT=0

      Частота любая с полным размахом генератора (в данном случае ckopt=0 вместо 1 вроде даже и полезно), старт выставлен на “Ceramic resonator, fast rising power” – Вы уверены в том, что младший бит CKSEL и биты SUT выставили правильно? Кварц может просто не стартовать нормально и в каком там состоянии залипнет контроллер – непоянтно. Я бы под кварц ставил CKSEL=F,CKOPT=0,SUT=3 или CKSEL=F,CKOPT=0,SUT=1 в зависимости от BOD.
      Обычно если уж на кварце, то меня время старта от не волнует, ставлю CKSEL=F,CKOPT=0,SUT=3 даже при наличии BOD.

  12. Ruslan says:

    Доброго дня, пане Олександре!
    Дуже вже хочеться спробувати шити ATxmega чіпи.
    Думаю, не тільки мені одному. Скажіть, коли це можливо?
    Почати б з найлегших ATxmega16A4, ATxmega32A4, ATxmega64A4…
    Я так розумію, тут проблема в PDI-інтерфейсі?

    З подякою, Руслан. (FaM)

    • ReAl says:

      Проблема в часі.
      На героя “За мільярд років до кінця світу” Стругацьких я не тягну, але протягом останнього місяця у мене згорів блок живлення в комп’ютері та вийшло з ладу три вінчестери – за попередні двадцять років сумарні втрати були меншими.
      І це при тому, що якраз зараз роботи підвалило.
      Поки я розчухаюся, ще невідомо що буде з xmega :-(
      Гляньте в бік програматора на 90usb162 на електроніксі

      • Ruslan says:

        Проблем зашивати АТх не існує. Користуюся наразі AVRISP mkII. А той, що ви рекомендували (90usb162), і є його аналог. Просто хочеться, щоб був один універсальний для усіх МЕГ. Як буде час, то підтримайте і цю серію. І ще – думаєте, АТх – це тупиковий хід? Тобто, пророкуєте йому недовге життя?
        Дякую за відповідь.
        Руслан. (ФаМ)

      • ReAl says:

        Так, то клон AVRISP mk II, хоч я і не розбирався, наскільки 1:1 сумісний.
        “один універсальний програматор” — це залежить від того, що під цим розуміти.

        Якщо апаратуру, то через особливості PDI універсальним для tiny+mega+xmega буде швидше AVRISPmkII, ніж щось на базі підтримуваних на даний момент адаптерів.
        З цього випливає, що якщо мати на увазі універсальну програму, то це мені треба додати роботу з AVRISPmkII.

        Щодо перспектив ATXmega — це залежить від цінової політики Atmel.
        З точки зору техніки — там нарешті деякі речі зробили такими, якими вони мали бути з самого початку, тому вважаю це вдалим кроком, хоч, можливо, і дещо запізним.

  13. Андрей says:

    когда я использую bat файл для изменения fuses, то в качестве второго параметра немогу передать список изменяемых fuses. Вместо списка передается первое слово из списка. Например команда f.bat mega16 sut=0 в качестве второго параметра передает просто sut. в bat файле написано так: avreal32-1.28r1.exe +%1 -p1 -as -o1000 -n -2 -w -f%2
    тоесть как правельно выполнять запись fuses с использованием bat файла.

    • ReAl says:

      (был два дня далеко от дома, поэтому задержался с ответом)

      Особенность командного процессора в win.
      Символ ‘=’ заменяется на пробел, аргумент с этим символом разбивается на два независимых.
      Можно запретить обработку аргумента, взяв его в кавычки (так, кстати, следует передавать и имена файлов с пробелами).
      Т.е. Ваш файл можно вызывать так

      f mega16 "sut=0"

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

      avreal32-1.28r1.exe -p1 -as -o1000 -n -2 %*

      Вот это %* означает “подставить сюда все аргументы без изменений”
      Тогда командный файл можно будет вызывать и так

      f +mega16 -fsut=0 -w

      и так

      f +mega16 -e -w -v code.hex -l2

      и так

      f +mega16 -r code.hex ee.hex
  14. Андрей says:

    В простом LPT адаптере “5 проводков” нужно ставить какие то резисторы между MK & LPT?

Leave a Reply

[flagcounter image]