download

 

AVReAl – AVR serial programmer

На цій сторінці ви можете завантажити свіжу версію AVReAl.
Для роботи з USB-адаптерами на FT2232C/L/D, FT2232H, FT4232H, FT232H необхідно встановити драйвер для мікросхем FTDI та біблиотеку FTD2XX.DLL. Лінукс-версія також використовує бібліотеку FTD2XX (libftd2xx.so).

avreal/linux перевірено з бібліотеками libftd2xx версій по 0.4.16 включно. З цієї сторінки можна завантажити 32-бітну libftd2xx0.4.16.tar.gz та 64-бітну libftd2xx0.4.16_x86_64.tar.gz версії цієї бібліотеки.

Для роботи з LPT під WindowsNT, Windows2000, WindowsXP 32 та 64 біт, Windows7 32 та 64 біт необхідно встановити драйвер доступу до портів DLPortIO. Для Windows 98 та її «родичів» драйвер непотрібен, використовується прямий доступ до портів, дозволений в цих системах всім, хто забажає.

avreal для Linux також працює з LPT без додаткових драйверів, необхідно лише вибрати метод роботи та налаштувати права програмі.

AVReAl 

В цій таблиці знаходяться деякі найстабільніші версії avreal. В колонці Version дано посилання на повідомлення про вихід даної версії з переліком змін в ній. Всі такі повідомлення та повідомлення про виявлені помилки зібрано в категорії Історія. Деякі з попередніх версій програми, включно з останньою DOS-версією, знаходяться на «старій» сторінці History.

DLPortIO 

File Comments
dlportio-64.zip (25K)
Драйвер та бібліотека для 64-бітних версій Windows.
Інсталятор командного рядка. Докладнше…
dlportio-32-bat.zip (17K)
Драйвер та бібліотека для 32-бітних версій Windows.
Інсталятор командного рядка. Детальніше…
dlportio-32-exe.zip (167K)
Драйвер та бібліотека для 32-бітних версій Windows.
GUI-інсталятор. Детальніше…

Драйвери не перевірялися під Windows Vista, але, судячи з усього, мають працювати при інсталяції як для Windows 7

 

AT89S51, AT89S52 serial programmer

at89s52.zip
На прохання (як явні, в пошту та коментарі, так і неявні – через ключові слова пошукових машин, по яких було зроблено відвідування цього сайту) викладаю стару версію послідовного програматора AT89S51, AT89S52. Програму було написано для знайомого методом швидкої та не завжди акуратної переробки avreal під інший алгоритм, але нею прошито, наскільки я знаю, багато тисяч контроллерів. Підтримується лише Windows та лише LPT, для роботи необхідно встановити той же драйвер, що і для avreal. Ключі програми також в основному співпадають з ключами avreal, тому окремого опису на неї не було зроблено.
Перевірка перед викладанням показала, що при високих частотах в ключі -o (для конфігурації мого комп’ютера це вище, ніж -o10MHZ) не працює програмування контроллера, лише зчитування, тому при помилках програмування спробуйте знизити цю частоту до -o8MHz чи навіть до -o6MHz.
Ця версія не розвиватиметься, але я спробую знайти час додати підтримку контроллерів серії at89s в основну програму.


51 Responses to “download”

  1. Nikolay коментує:

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

    • ReAl коментує:

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

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

      • Nikolay коментує:

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

        • Константин коментує:

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

          • ReAl коментує:

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

            • Nikolay коментує:

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

              • ReAl коментує:

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

  2. sergey коментує:

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

    • ReAl коментує:

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

      На основной страничке есть линки на старые страницы 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 коментує:

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

  3. Sergey коментує:

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

    • ReAl коментує:

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

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

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

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

  4. uzZ коментує:

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

    • ReAl коментує:

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

  5. iGOR коментує:

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

    • ReAl коментує:

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

      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 коментує:

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

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

    Спасибо.

    • ReAl коментує:

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

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

  7. vitaly коментує:

    Доброго дня.

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

    • ReAl коментує:

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

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

  8. Андрей коментує:

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

    • ReAl коментує:

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

      • Андрей коментує:

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

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

        • ReAl коментує:

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

          • Андрей коментує:

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

          • ReAl коментує:

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

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

          • Андрей коментує:

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

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

          • ReAl коментує:

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

  9. [...] AVR микроконтроллеров в режиме ISP. Для этого необходимо загрузить и установить программатор [...]

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

  11. Андрей коментує:

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

    • ReAl коментує:

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

      • Андрей коментує:

        Процессор прошывается без ошибок, но программу не выполняет. Я загоняю самую простую програмку
        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;
        но она не выполняется, на ножках процессора уровни не изменяются.
        Раз формат файла выбран правильно, то я завтра попробую другим программатором, и если не разберусь, то напишу.
        Спасибо.

      • Андрей коментує:

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

      • Андрей коментує:

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

      • ReAl коментує:

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

        • Андрей коментує:

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

  12. Андрей коментує:

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

    • ReAl коментує:

      Написано (-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.

  13. Ruslan коментує:

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

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

    • ReAl коментує:

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

      • Ruslan коментує:

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

      • ReAl коментує:

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

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

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

  14. Андрей коментує:

    когда я использую 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 коментує:

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

      Особенность командного процессора в 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
  15. Андрей коментує:

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

Leave a Reply

[flagcounter image]