AVReAl – ISP програматор AVR

 

Програму AVReAl призначено для програмування мікроконтроллерів Atmel AVR в режимі ISP (in-circuit serial programming – послідовне програмування в схемі).
AVReAl може запрограмувати (“прошити”) мікроконтроллер через

AVReAl – програма командного рядка (console application), що дозвляє інтегрувати її у використовуване середовище розробки (IDE).
Підтримуються версії програми для Windows, Linux та FreeBSD, підтримку DOS припинено з версії 1.26r0. Остання версія для DOS 1.25r6 доступна для завантаження. Версія для FreeBSD не підтримує роботу з мікросхемою FT2232, версії для Win* та Linux працюють через драйвер/бібліотеку від FTDI.
Роботу avreal/win32 з FT2232 перевірено для Windows2000, WindwsXP/32, WindowsXP/64 та для Windows7/32, Windows7/64.
Роботу avreal/win32 з LPT через драйвер DLPortIO перевірено для Windows2000, WindowsXP/32, WindowsXP/64 та для Windows7/32, Windows7/64. Для Windows98 драйвер не потрібен.
Vista не перевірялася, в моєму оточенні такого не водиться.

Програму можна використовувати безоплатно з комерційною чи не-комерційною метою, але її тексти закриті, тобто вона безкоштовна (freeware), але не вільна (free software)

Завантажити програму, а також 32- та 64-бітні драйвери DLPortIO, необхідні для доступу до LPT під Windows, можна зі сторінки download.
Детальніша інформація знаходиться на сторінці description, схеми адаптерів для програматорів — на сторінці adapters.
Повідомлення про оновлення програми та про виявлені помилки публікуються в категорії Історія, окремі повідомлення про помилки публікуються в тому разі, коли нема часу на термінове виправлення або коли я вважаю помилку не дуже важливою, такою, що може побути «особливістю» до наступного оновлення.
Перелік попередніх змін та деякі з попередніх версій програми можна отримати на «старій» сторінці History.

Перелік мікроконтроллерів, що підтримуються програмою, можна отримати командою

avreal -h

Моделі, перераховані через символ ‘|’, не розрізняються програматором, про це можна прочитати детальніше.
На даний момент підтримуються такі моделі:

 86RF401
 90S1200    90S2313     90S4414     90S8515     90S4434     90S8535
 90S2333    90S4433     90S2323     90S2343
 tiny12     tiny22L     tiny22      tiny13|tiny13A
 tiny2313|tiny2313A     tiny4313
 tiny15     tiny25      tiny45      tiny85
 tiny26     tiny261|tiny261A        tiny461|tiny461A        tiny861|tiny861A
 tiny24|tiny24A         tiny44|tiny44A          tiny84|tiny84A
 tiny1634
 tiny43u    tiny48      tiny88      tiny87      tiny167
 mega603    mega103     mega161     mega163     mega323
 mega8515   mega8535    mega162
 mega8|mega8A           mega48|mega48A          mega48P|mega48PA
 mega88|mega88A         mega88P|mega88PA        mega168|mega168A
 mega168P|mega168PA     mega328     mega328P
 mega16|mega16A         mega32|mega32A          mega64|mega64A
 mega128|mega128A
 90CAN32    90CAN64     90CAN128
 90usb82    90usb162    mega8U2     mega16U2    mega32U2
 mega16U4   mega32U4
 mega32U6   90usb646|90usb647       90usb1286|90usb1287
 mega164A   mega164P|mega164PA      mega324A    mega324P    mega324PA
 mega644|mega644A       mega644P|mega644PA      mega1284    mega1284P
 mega165|mega165P|mega165PA         mega165A
 mega325|mega325A       mega325P    mega3250    mega3250P
 mega645|mega645A       mega6450|mega6450A
 mega169|mega169P|mega169PA         mega169A
 mega329|mega329A       mega329P|mega329PA      mega3290    mega3290P
 mega649|mega649A       mega6490|mega6490A
 mega640    mega1280    mega1281    mega2560    mega2561
 90pwm2|90pwm3          90pwm1|90pwm2B|90pwm3B  90pwm216|90pwm316
 90pwm81    90pwm161
 mega16M1   mega32M1    mega64M1    mega32C1    mega64C1
 mega8HVA   mega16HVA   mega16HVB   mega32HVB   mega8HVD
 mega128RFA1

400 Responses to “AVReAl – ISP програматор AVR”

  1. Юрий says:

    Добрый! Хочу прошить два байта серийного номера в ЕЕPROM
    -d*serno2=7cc,serno.txt
    К сож. пишется в начало области ЕЕPROM, вместо 7сс

    Что не так делаю!? Спасибо!

    • Юрий says:

      avreal32-1.29r1 -aft2232 -pd=”Olimex OpenOCD JTAG TINY A” +mega64A …

    • ReAl says:

      Не зміг повторити помилку.

      +mega64 -o7373 -d ff4k.hex -d*serno2=7cc,serno.txt -w -v

      Пише у адреси 0x07CC, 0x07CD.
      Якщо cc у рядку кирилічні, то пише у адреси 0x0007, 0x0008, але воно винне хіба в тому, що не виловлює таку помилку набору командного рядка.

      • Юрий says:

        Любопытная история: по Вашей наводке правлю 7сс.
        Если на русском пишу – программирует но в начало адресного
        Если на англ. раскладке то ошибка “ERROR: HEX record for SERNO not found”
        -d “EEPROM.hex” -d*serno2=7cc,serno.txt

        • ReAl says:

          Так і має бути, у документації на ключі -d*, -с?, -c* це сказано (у вхідному файлі має вже щось бути на цьому місці).
          Передбачалося (і я лише так і працюю), що для серійного номера чи іншого параметра заводиться змінна (фрагмент асм-коду для -c?) і в avreal передається адреса цієї змінної. При необхідності, для фіксації структури з різними параметрами у певному місці пам’яті, використовується іменована секція з розміщенням її лінкером.

          Загалом можна і додати можливість не переписувати якусь змінну, а просто писати у задане місце, просто досі цього ніхто не просив.
          Хм. А якщо попросили записати у певні 2 байти, один із цих байтів вже присутній у вхідному файлі, і лише другий потрапляє у порожнє місце, що тоді?

          • Юрий says:

            Да, спасибо! Создал файл больших размеров и все встало на свои места. Что касается всякого рода “перекосов” и наложения на границы, то я к сож. не достаточно компетентен, чтоб обсуждать эти вопросы с Вами. Спасибо!

  2. Pavel says:

    Скажите, пожалуйста, можно ли с помощью AVREAL прошивать ATMEGA324PB ?

  3. Sergey says:

    Доброго дня! Користуюсь Вашим програматором ще з часів LPT. Зараз маю USB-Avreal. Питання – чи плануєте , чи може вже існує софт для програмування SPI – флешок , типу 25xx, наприклад W25Q32?

    • ReAl says:

      Вітаю! З різних причин я з осені 13-го не випускав оновлень avreal, і, як нещодавно для себе з’ясував, навіть ті дрібні зміни, що вносив, не викладав (зараз сам користуюся v1.29r1b7, випуск реліза v1.29r1 давно можна було зробити).

      Нещодавно самому знадобилося запрограмувати SPI-флешки з іншим протоколом, AT45DBxxx, то для цього довелося знайти свою стару програму (виправлено: не DOS-івську, а вже win32, вона теж через DLportIO працює) і перекинути з лінукса у віртуальну XP доступ до LPT. На щастя, все запрацювало.

      Тож я виділив окремий диск для встановлення різних систем, якими не користуюся щодень, — для збирання і перевірок avreal (FreeBSD поки не ставитиму, здається, версію avreal v1.29r0 для BSD жодного разу не витягували). Збираюся повернутися до цього діла, перше додам ATmega328PB, про що просили нижче, а там дивитимуся, як і куди розвиватися.
      SPI-флешки 25xx у черзі першими, бо це найзапитуваніша опція на цій сторінці 🙂

  4. Константин says:

    Здравствуйте. Планируется ли поддержка контроллера ATmega328PB?

    • ReAl says:

      Так, додати всю лінійку 48-88-168-328PB легко, відмінності від PA невеликі.
      Одна біда — у мене після заміни комп’ютера зараз лише лінукс.
      Диск для декількох версій віндовс, що був раніше, давно віддав, бо планував відразу зробити аналогічне на більшому на новому комп’ютері. Але оце рік пройшов, а я лише виділив для цього вінчестер і поклав на поличці поруч 🙂
      Форсую це діло, постараюся найближчим часом зробити.

    • ReAl says:

      p.s. Перевірено Костянтином і, разом із ATmega324 та зробленими раніше ATtiny441/ATtiny841, додано у версію 1.29r1.

  5. Ivan says:

    Здравствуйте !
    Запускаю на двух виртуалках одного компа. Одна виртуалка – Windows 7, другая – XP. На Windows 7 работает, а в XP – Altera ByteBlaster not found. В свойствах LPT1 обоих виртуалок всё идентично

    • Ivan says:

      Добавлю, что перед ERROR: Altera ByteBlaster not found имеются 2 предупреждения
      Warning: incredibly Fast LPT found, min write cycle time 5.8ns
      Warning: Cycle time forced to 0.20us

      • ReAl says:

        Не знаю, LPT через ViryualBox никогда не пробовал.
        Судя по «5.8нс» драйвер DLPORTIO установился, но ничего не делает, моментально возвращает управление. Смотреть настройки виртуализации.

        • Ivan says:

          Спасибо !
          Разобрался. Если запущено несколько виртуалок, то программатор будет работать только с LPT виртуалки, запущенной первой

  6. Александр says:

    Здравствуйте. Почему-то не смог работать с программатором altera byteblaster. AVreal не находит программатор – пишет altera byteblaster not found. Хотя этот же программатор работает на этом же компьютере с ISP-programmer.

    • ReAl says:

      Странно.
      Адрес порта указан правильно?
      Перемычки определения наличия на LPT между контактами 7-10 напрямую и контактами 9-12 через шинник (тоже можно напрямую) стоят?

  7. Anatoliy says:

    Здравствуйте Александр! Скажите,пожалуйста,Вы не планируете прикрутить Altera USB Blaster?

    • ReAl says:

      Давно колись збирався, бо тоді працював з альтерою. USB-Blaster (клон) на столі завжди лежав. Але так повернулося, що я з програмованою логікою працювати перестав.

      Зараз порився — опис протоколу на архівному дискові знайшов. От із USB-Blaster-ом гірше. У мене є з тих часів залишилося вдома два подарованих клони, на C8051F321 і на CY7C68013, але… Років 3-4 тому діставав їх, один взагалі не розпізнався комп’ютером, на інший вилаявся QuartusII (побачити побачив, але перепрошивати плату відмовився).

      Подивлюся якось, там обидва напівмакетні, мо де що відвалилося 😀

    • ReAl says:

      Не два, а три. Ще «повний клон» на 245-тій FTDI-ці та дрібній альтерині. Оце він починаючи з якогось Квартуса перестав працювати.
      І зараз він для OpenOCD+STM32F105 розпізнався, але прошивати відмовився. Хоча колись працював.

      А от на C8051F321 і на CY7C68013 обидва STM32 прошивають, тільки обидва чомусь дуже повільно: прошивка на рівні 300 байт за секунду, верифікація — менше 4 кілобайтів за секунду.
      Адаптер на FT2232H — 23 і 58 кілобайт за секунду відповідно.

      Питання в тому, це клони так зроблені (хоча з альтерами нарікань не було, що з MAX7000/MAX3000, що з першими циклонами чудово працювало). Перевірити не можу, оригінального у мене нема.
      Може ще це інтерфейсний модуль бластера в OpenOCD неефективно написаний.
      Найгірше, якщо це протокол USB-Blaster для такої роботи не дуже підходить — тоді й з AVR працюватиме повільно.

Leave a Reply

[flagcounter image]