download
AVReAl – AVR serial programmer
На этой странице вы можете загрузить свежую версию AVReAl.
При работе с FT2232C/L/D, FT2232H, FT4232H необходимо установить драйвер для микросхем FTDI и библиотеку FTD2XX.DLL. Linux-версия также использует библиотеку 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
Сообщения об обновлениях программы и найденных ошибках публикуются в категории История.
Некоторые из предыдущих версий программы (включая последнюю 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
По просьбам выкладываю старую версию последовательного программатора at89s51, at89s52. Программа была сделана для знакомого методом переделки avreal под другой алгоритм. Насколько я знаю, ею прошито много тысяч контроллеров, так что “должно работать”.
Поддерживаются только Windows и LPT, для работы необходимо установить тот же драйвер, что и для avreal. Ключи в основном совпадают с ключами avreal, отдельного описания нет.
Проверка перед выкладыванием показала, что при высоких частотах в ключе -o (для моего компьютера – выше -o10MHZ) контроллер не программируется, поэтому при ошибках просто попробуйте снизить частоту до -o8MHz или даже до -o6MHz.
Эта версия не будет развиваться, но я попробую найти время и добавить поддержку at89s в основную программу.
українська
русский
english
Доброго дня.
У мене виникла необхідність програмувати процесори AT89S52 з під операційної системи Linux, чи можна розраховувати що найближчим часом ви зробите версію AT89S52 serial programmer для цієї операційної системи, або інтегруєте її функції у avreal?
Можливо, мені дійсно простіше буде для початку зробити окрему програму.
Супроводжувати буде простіше одну, але це якщо внутрішня структура буде продумана. Тому зробити окрему, а потім звести до спільного знаменника може і краще.
На початку грудня я підніму старі шматки для 89s5x і подумаю, як краще зробити.
Можно с помощью AVRReal записать свою программу BootLoader в ATMega16? Нужно как-то указывать что эта программа записывается в NRWW секцию? И стирается ли основная программа из RWW секции?
С точки зрения программатора секции не отличаются, так как он «исполняется» «снаружи», а не из RWW-секции, как boot-loader.
В HEX-файле указаны адреса, программатор шьёт по ним и всё.
Стирается вся память микроконтроллера при указании ключа -e
Если ключ не указан, то флеш не стирается и можно дописать в чистое место нужное содержиое.
Я не понял, программатор когда записывает Flash в МК, стандартный BootLoader не использует? То есть если я сотру NRWW секцию и не запишу туда ничего, или запишу кривой BootLoader, МК всё равно будет благополучно программироваться через AVRReal?
Он его не только не использует, он начинает с того, что стирает его по ключу -e, так как снаружи кристалл стирается только весь.
Любой внешний ISP-программатор не зависит от наличия бутлоадера. Если программирование по последоватльному каналу вообще разрешено (SPIEN=0), то он стирает-пишет всё через аппаратный интерфейс программирования.
Спасибо. Но остался вопрос: какой формат файла *.a90? Можно где то почитать? Ну, что бы понимать как правильно записать программу в МК.
Ну так насколько я понимаю, .a90 – самый что ни на есть intel hex формат, т.е. можно подсовывать avreal-у.
Стирать при записи не забываете?
Ну вышлите мне на почту avreal at real.kiev.ua файл, я гляну.
Тут всё классно, avreal его пишит отлично, я имел в виду для своего BootLoadera как его (этот файл *.а90) предоставить? Я так понял там в начале каждой строчки идёт адрес (в байтах) а потом данные в Hex виде, только их многовато. В общем хочу почитать описание hex формата файла.
Ну з цим ніяких проблем
http://real.kiev.ua/files/diff/intelhex.pdf
Спасибо. Пойду разбираться.
[...] AVR микроконтроллеров в режиме ISP. Для этого необходимо загрузить и установить программатор [...]
[...] для запуска внешней утилиты-программатора avreal ( скачать ) и прошивки [...]
Добрый день.
AVReal принимает файлы в формате Intel HEX, я пытаюсь выставить в IAR формат выходного файла Intel Standart or Intel Extended для Tiny26, но контроллер прошивается не правильно. Я так понимаю что IAR формирует выходной файл(*.a90) не правильного формата? Как правильно выбрать формат выходного файла, или может использовать какой-то перекодировщик?
Когда-то давно 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 не верификацию не Очистку не проходит, пишит “контроллер не поддерживается”.
Та ну… tiny26 давно підтримується. Років шість так точно. Пару років з ними не працював, але пропасти з програматора вони не могли.
Показуйте командний рядок, висилайте на пошту файл, який не пишеться — буду розбиратися.
Ключ -e при запису додано? Автоматично по -w не зтирається, дописується по старому.
Спасибо. Ключ -e не был добавлен.
Я пользовался бат файлами скачанными с Интернета, и не догадывался что по ключю -w контроллер просто дописывается.
Благодарю.
Я немного запутался. Написано (-frstdsbl=0 или -frstdsbl=on) – это одно и тоже. Значит если в DataSheet написано CKOPT установить(1), то в AvrReal я должен задать -fckopt=0 ???
Ни как не могу установить биты чтобы ATMega16A заработал от внешнего резонатора. Я ставлю: CKSEL=E,SUT=0,CKOPT=0 , но контроллер останавливается.
Заранее благодарю.
Да.
Нет.
Запрограммированное значение, on, это 0. Стёртое значение, off, это 1. Так что если в документации в колонке ckopt стоит 1 то и указывать надо ckopt=1.
Частота любая с полным размахом генератора (в данном случае 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.
Благодарю.
Доброго дня, пане Олександре!
Дуже вже хочеться спробувати шити ATxmega чіпи.
Думаю, не тільки мені одному. Скажіть, коли це можливо?
Почати б з найлегших ATxmega16A4, ATxmega32A4, ATxmega64A4…
Я так розумію, тут проблема в PDI-інтерфейсі?
З подякою, Руслан. (FaM)
Проблема в часі.
На героя “За мільярд років до кінця світу” Стругацьких я не тягну, але протягом останнього місяця у мене згорів блок живлення в комп’ютері та вийшло з ладу три вінчестери – за попередні двадцять років сумарні втрати були меншими.
І це при тому, що якраз зараз роботи підвалило.
Поки я розчухаюся, ще невідомо що буде з xmega
Гляньте в бік програматора на 90usb162 на електроніксі
Проблем зашивати АТх не існує. Користуюся наразі AVRISP mkII. А той, що ви рекомендували (90usb162), і є його аналог. Просто хочеться, щоб був один універсальний для усіх МЕГ. Як буде час, то підтримайте і цю серію. І ще – думаєте, АТх – це тупиковий хід? Тобто, пророкуєте йому недовге життя?
Дякую за відповідь.
Руслан. (ФаМ)
Так, то клон AVRISP mk II, хоч я і не розбирався, наскільки 1:1 сумісний.
“один універсальний програматор” — це залежить від того, що під цим розуміти.
Якщо апаратуру, то через особливості PDI універсальним для tiny+mega+xmega буде швидше AVRISPmkII, ніж щось на базі підтримуваних на даний момент адаптерів.
З цього випливає, що якщо мати на увазі універсальну програму, то це мені треба додати роботу з AVRISPmkII.
Щодо перспектив ATXmega — це залежить від цінової політики Atmel.
З точки зору техніки — там нарешті деякі речі зробили такими, якими вони мали бути з самого початку, тому вважаю це вдалим кроком, хоч, можливо, і дещо запізним.
когда я использую 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 файла.
(был два дня далеко от дома, поэтому задержался с ответом)
Особенность командного процессора в win.
Символ ‘=’ заменяется на пробел, аргумент с этим символом разбивается на два независимых.
Можно запретить обработку аргумента, взяв его в кавычки (так, кстати, следует передавать и имена файлов с пробелами).
Т.е. Ваш файл можно вызывать так
Можно несколько перестроить командный файл, включив в него только общую часть возможных вызовов на данном рабочем месте, остальное добавлять по необходимости, но уже в виде полноценных ключей, а не их частей.
Вот это %* означает “подставить сюда все аргументы без изменений”
Тогда командный файл можно будет вызывать и так
и так
и так
Спасибо!!!
В простом LPT адаптере “5 проводков” нужно ставить какие то резисторы между MK & LPT?
Никогда не помешают. Думаю, 50-200 Ом будет нормально, ближе к LPT.