AVReAl – ISP програматор AVR
Програму AVReAl призначено для програмування мікроконтроллерів Atmel AVR в режимі ISP (in-circuit serial programming – послідовне програмування в схемі).
AVReAl може запрограмувати (“прошити”) мікроконтроллер через
- практично будь-який простий адаптер для порта LPT — “5 дротиків“, “HC244” – Altera ByteBlaster, STK200/STK300, чи інший, заданий через конфігурацію виводів.
- USB-адапетри на мікросхемах FT2232C, FT2232L, FT2232D а також FT2232H, FT4232H, FT232H фірми FTDI.
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
И снова здравствуйте! Хочу спросить поддерживает ли Ваша программа программаторы на микросхеме ft232rl фирмы FTDI?
Здравствуйте!
Увы, пока нет 🙁 Платка с FT232RL уже есть 🙂
avreal32-1.28r5.exe +mega8535 -p1 -ax -o1Mhz -% -e -wp -v+ -c data_tranform.hex -fcksel=7 >> output.txt
pause
Шью atmega8535 надо настроить на внешний кварц 8 МГц.
1 111 3.0 – 8.0 12 – 22
Вот строчка из даташита. 1 – CKOPT, CKSEL, частота и емкость конденсаторов.
Фьюз остается в 1. Что делаю не так?
Не понял, кто “остаётся в 1”? CKOPT для 3..8 МГц с малым размахом в 1 и нужно.
В табличке CKOPT и CKSEL3..1. CKSEL0 ниже в табличке с SUT (это они намудрили знатно) и для кварца CKSEL0 также в 1-ке.
CKOPT указывать отдельно.
Поэтому для кварца 8 МГц надо -fckopt=1,cksel=F,sut=3 ну или другой SUT в зависимости от характеристик подачи питания и BODEN.
Или -fckopt=0,cksel=F,sut=3 для большого размаха на выходе генератора.
А ckesl=7 это внешний RC, так что цепляйте резистор с ножки XTAL1 на питание и перешивайте фьюзы на нужные.
avreal/WIN32 – AVR controllers programmer by Redchuk Alexandr
v1.28r5 (Oct 11 2010 20:02:13) http://real.kiev.ua/avreal
bug-reports, suggestions and so on mail to avrеal@rеal.kiеv.uа
Command:
+mega8535 -p1 -ax -o1Mhz – -e -wp -v+ -c data_tranform.hex -fckopt=1,cksel=F,sut=3
Adapter enabled
Device connected, mega8535 detected
Chip not locked
Device erased
Device connected, mega8535 detected
Fuses
OSCCALs = A3 A2 9D 9F
_LOCK = 0xFF
BLB1 = 3
BLB0 = 3
_LOW = 0xE1
BODLEVEL = 1
BODEN = 1
SUT = 2
CKSEL = 1
_HIGH = 0xD9
S8535C = 1
WDTON = 1
CKOPT = 1
EESAVE = 1
BOOTSZ = 0
BOOTRST = 1
Programming CODE memory
done (59ms)
Verifying CODE memory
passed
done (140ms)
Reset pin released
Adapter disabled
Ой, оно действительно и не попыталось шить fuses… Тю.
Я обычно фьюзы шью отдельным вызовом, без hex-ов (один раз для нового кристалла) и сегодня проверял так же.
Но при проверке очередных версий avreal вроде бы проверяю в разных комбинациях.
Пока попробуйте отдельным вызовом, ая поищу, где ошибка пролезла. Кое-что менял, мог и задеть.
Epic Fail…
Не сразу и смог добиться того же эффекта.
Оказалось, беда приходит вместе с ключиком -v+. Если использовать просто -v, то всё отлично работает.
И это начиная от 1.28r2 и до самой свежей на данный момент 1.28r6.
В 1.28r1 ещё всё нормально.
Интересно, как я смог этого добиться 🙂
Спасибо за выявление ошибки.
И Вам спасибо! Рад был помочь совершенствованию программы.
Хотелось бы также выразить благодарность за Ваш труд.
Фьюз CKSEL не устанавливается.
avreal32-1.28r5.exe +mega8535 -p1 -ax -o1Mhz -% -e -wp -v+ -c data_tranform.hex -fcksel=3 >> output.txt
pause
В чем может быть дело?
А где сам output.txt ?
У меня под рукой mega8535 нет, но mega8515 шла в серии, а по программированию они одинаковые.
Сейчас достал ATmega8515-16PI, сунул в панельку. CKSEL с F на 3 и назад перешивается.
Даже если указать +mega8535 -!, т.е. заставить avreal считать, что он шьёт ATmega8535.
Проверял и версией 1.28r5 в том числе.
Dobry vecher!
Ranshe byl komp s operacionkoi XP/32bit i rodnoi LPT. AVreal32 prekrasno rabotal. Teper zhe, posle pereezda na Win7/64bit i PCI-LPT, ne hochet zapuskatsja. Pishet “Can’t resync”. PCI-LPT karta u menja takaja: “https://www1.elfa.se/data1/wwwroot/assets/datasheets/EX41011_ger_datasheet.pdf” . Draivera obnavil na 64-bitnye. Nikakih soobsheni o oshibkah Windows ne vyplevyvajet. V chem mozhet byt problema? Zaranee blagodarju.
Раз доходит до Can’t resync, значит, адрес адаптера указан правильно и адаптер определяется?
Или определение адаптера было подавлено ключиком -! ?
Какая была командная строка, что avreal рассказывает по ключу -% ?
Я в XP/64 и W7/64 мельком только проверил работу. В основном работаю в Ubuntu/64 и в основном с FT2232.
У меня PCI-LPT карта на чипе MosChip (NetMos). Всё в 64-битных Windows работает, только медленнее гораздо, чем в 32-битных.
И ещё — у меня сложилось впечатление, что под 64-битными неустойчиво определяется время доступа к порту. Попробуйте сильно занизить частоту ключом -o, чтобы надёжно уйти за разброс.
Dobry den.
Vot takoi screen u nas(prichem zamena o0 na o5 ne pomogajet, prezhni rezultat):
C:\Priit\ATMEL\PLL>avreal32 +TINY12 -v -o0 -%% -e -p3028 -w -fboden=0 -cpllprog2
.hex -dpllprog2.eep
avreal/WIN32 – AVR controllers programmer by Redchuk Alexandr
v1.28r6 (Jan 9 2011 20:19:58) http://real.kiev.ua/avreal
bug-reports, suggestions and so on mail to avrеal@rеal.kiеv.uа
Command:
+TINY12 -v -o0 -%% -e -p3028 -w -fboden=0 -cpllprog2.hex -dpllprog2.eep
% Fuse added: boden=0
CSUM error in line
:100000000001918FF12802393E0001918FF12802E7
Ignore ALL CSUM errors (y/N)?
% LPT base address 0x3028
% DLportIO.dll succesfully loaded, DLportIO.sys interface activated
% LPT write cycle 0.55us
% FBPRG adapter mode
% 0.92MHz XTAL will be generated
% with SCK low 2 periods, high 2 periods
% Reset
% PgmOn reply 00 00 00 00
% Try 1 to resync by SCK pulse % PgmOn reply 00 00 00 00
% Try 2 to resync by SCK pulse % PgmOn reply 00 00 00 00
…
% Try 31 to resync by SCK pulse % PgmOn reply 00 00 00 00
% Try 32 to resync by SCK pulse % PgmOn reply 00 00 00 00
Can’t resync
Reset pin released
C:\Priit\ATMEL\PLL>
Извините за задержку. Cовершенно не было времени проверить, правильно ли помню, когда так выходит. Только сейчас добрался.
Такое поведение — подозрительно маленькое время доступа к LPT, как для 64-битной ОС и все нули, у меня на W7/64 получается, если драйвер тестовой подписью подписан, но в Windows 7 не включен режим тестовых подписей. DLportIO при том “молча” отрабатывает вызовы без реальной работы, возвращая нули на чтение из LPT.
У меня при этом LPT write cycle скачет от 0,53 до 0,85 мкс и байт-бластер не распознаётся (у Вас FBPRG, а он без перемычек детектирования наличия).
Если включить режим тестовых подписей, то у меня время доступа к LPT колеблется от 2,5 до 3,2 мкс, байт-бластер виден, микропроцессор опознаётся/читается/пишется.
Чи може ваша програма працювати через LPT на платі розширення (PCI, PCI-E)
в WinXP ?
Так, може. Причому залежно від комп’ютера працює в півтора..три рази швидше за звичайний LPT.
Потрібно у властивостях LPT в диспетчері пристроїв подивитися базову адресу порта і вказати її в ключі -p
У мене MosChip-івська PCI-на сидить на E800 вдома і на B800 на роботі.
Добрый день.
Хотел бы задать вопрос по поводу установки фьюзов CKSEL, CKOPT и SUT.
Изменил значения этих битов у двух мк и они не на что не откликаются, с avreal только начал пользоваться, но некоторые другие фьюзы изменял успешно, пока до кварцевых не дошел)
1. ATMega32 внешний кварц 8МГц с 22pF – CKSEL = 7 (-fcksel=7), CKOPT = 1 и SUT = 2.
2. ATMega128 внешний кварц 16МГц с 22pF – CKSEL = 7 (-fcksel=7), CKOPT = 0 и SUT = 2.
Сначала пытался задать CKSEL “1111” -fcksel=15 пишет “ Value 15 too large for fuse cksel”, как же тогда задается это значение. А значение «7» задал на сколько я понял не правильно, согласно даташиту, как то туповато вышло( Я так понял что задал фьюзы для внешнего RC-генератора.
И подскажите пожалуйста самый простой способ как теперь вывести эти контроллеры с этого состояния. Программатор AVREAL-USB купленный в «Космодроме».
Значение для многобитовых fuse задаются в шестнадцатеричном виде
Можно ещё так спросить
где-то в ответе будет
CKSEL = 0 to F - Clock selection
Т.е. надо было указывать cksel=f.
Теперь остаётся посоветовать только подкинуть внешнюю RC-цепочку на время записи нужного состояния фьюзов. Раз на кварц рассчитано, подпаяться есть куда. Даже просто резистора должно хватить, минимальное требование по конденсатору как раз 22пФ.
Некоторое количество выводных резисторов для таких подбрасываний я у себя оставил 🙂
Для 22pF выбрал резистор в 3,3К при котором всё и получилось. Спасибо!
Здравствуйте. Можно глупый вопрос, а что то влет не пойму, можно ли на FT4232HL подключить её к ATmega2560 и при помощи Avreal прошить через SPI ? также вопрос, есть ли GUI для AVreal? желательно который бы поддерживал работу с FT4232HL?
Прошить можно, очень даже неплохо выходит (секунд в двадцать прошивка полного флеша 256К легко уложится).
«Сторонний» GUI для avreal есть, avrealshell.
Когда-то мы с автором общались, но я не слежу за состоянием оболочки. Не уверен, что она поддерживает как FTDI-ные микросхемы, так и ATmega256x.
Добрый день.
Помогите пожалуйста разобраться.
Купил в космодроме программатор AVREAL-USB (http://kosmodrom.com.ua/el.php?name=AVREAL-USB) (FTDI FT2232D, Si8441AB). Включил перемычки для питания от USB. Пробовал (для начала) прочитать с мк и даже это не получилось. Пробовал at90s2313 и mega16, RESET на +5В через 10к резистор, а на землю через 0,1 конденсатор и без резистора и конденсатора. МК все новые. Питание 5В доходит, на RESET 2,5В
Пробовал команды:
c:\avreal +mega8 -aft2232:enable=~acbus2,~adbus7 -r flash.hex
Command:
+mega8 -aft2232:enable=~acbus2,~adbus7 -r flash.hex
Adapter enabled
Can’t resync
Reset pin released
Adapter disabled
c:\avreal +at90s2313 -aft2232 -r c:\flash.hex
Command:
+at90s2313 -aft2232 -r c:\flash.hex
Can’t resync
Reset pin released
c:\avreal +at90s2313 -aft2232 -p
Command:
+at90s2313 -aft2232 -p
Description and/or serial number must be set for FTDI device opening
c:\avreal +at90s2313 -aft2232:enable=~adbus4,~acbus2 -r flash.hex
Command:
+at90s2313 -aft2232:enable=~adbus4,~acbus2 -r flash.hex
Adapter enabled
Can’t resync
Reset pin released
Adapter disabled
>c:\avreal +at90s2313 -aft2232:enable=~adbus4,~acbus2 -o0.1MHZ -r flash.hex
Command:
+at90s2313 -aft2232:enable=~adbus4,~acbus2 -o0.1MHZ -r flash.hex
Adapter enabled
Can’t resync
Reset pin released
Adapter disabled
И я так понял что для моего программатора нужно инвертировать (нужно добавлять) “-aft2232:enable=~adbus4,~acbus2”?
Можно попросить написать две командные строки для моего программатора – чтения EEPROM и для записи программного кода с eeprom.
Спасибо
Да, при использовании avreal версии 1.28r0 и более новых нужно указывать инверсию, -aft2232:enable=~adbus4,~acbus2.
Что-то на RESET маловато. Если на питании 5В, то и на RESET при всём правильно подключенном должно быть 5В. Судя по схеме от автора (космодром взялся выпускать первую версию платы), там нет никаких утечек и даже без дополнительного подтягивающего резистора на сбросе микроконтроллера, только на внутренних десятках килоом, должно быть «почти 5 вольт». Конечно, если мерять современным цифровым прибром с входным сопротивлением в мегаомы. Стрелочным тестером с их типичным 10-20 кОм/В мерять напряжение с только внутренней подтяжкой нет смысла.
Обычно я ставлю на сбросе микроконтроллера подтяжку от 1 до 4.7 кОм (номинл выбирается из соображений «а что близкое на плате уже всё равно есть»), но тут главное не увлечься. Не знаю, какие резисторы реально впаяны в Вашей плате, на схеме у МегаДжона указаны 470 Ом. При подтяжке 1 кОм сброс будет существенно не дотягивать до 0. Но при 10 кОм всё должно было быть нормально.
Мминимальная строка для чтения только EEPROM
Для записи и верификации FLASH и EEPROM
Для «свежих», заводских установок fuses ключ -o обычно не нужен.
Добавьте ключ -% для расширенной диагностики. Попробуйте
Именно 90s2313, для старых контроллеров применяется другая процедра пересинхронизации. Эта строка должна только глянуть на наличие микроконтроллера и сообщить.
>c:\avreal.exe -aft2232:enable=~adbus4,~acbus2 +90s2313 -%
Command:
-aft2232:enable=~adbus4,~acbus2 +90s2313 -%
No FTDI “port” switch found
device with default description “Dual RS232 A” will be used
% ‘ftd2xx.dll’ successfully loaded
% FT2232 MPSSE SPI adapter created, SCK frequency 188kHz
Adapter enabled
% Reset
% PgmOn reply 00 00 00 00
% Try 1 to resync by SCK pulse % PgmOn reply 00 00 00 00
% Try 2 to resync by SCK pulse % PgmOn reply 00 00 00 00
(…)
% Try 31 to resync by SCK pulse % PgmOn reply 00 00 00 00
% Try 32 to resync by SCK pulse % PgmOn reply 00 00 00 00
Can’t resync
Reset pin released
Adapter disabled
Что это означает?
По линии MISO до FT2232 не доходит сигнал. В данном случае и для ATtiny2313 было бы такое же, только немного другие сообщения.
Причём нули выдаёт уже ADUM1401, так как у FT2232 на входах подтяжка ~200 кОм и без активного «0» на входе была бы «1».
«0» может выдавать и микроконтроллер, если в нём уже зашита программа, выдающая 0 на вывод MISO, а сброс до него не дошёл.
Попробуйте то же самое, но отключив микронтроллер и бросив проводок на колодке программатора с MOSI на MISO.
Ответы PgmOn reply должны быть AC 53 00 00.
Очень странно. Нашел у себя tiny2313 и mega32 попробовал считать EEPROM и всё получилось. Так что с at90s2313 буду еще разбираться (пробовал на 3х шт., на платформе где работала tiny2313). Хоть теперь точно знаю что программатор работает. Если разберусь в чем было дело, то напишу.
Большое спасибо за помощь!
На всякий случай
AT90s2313 не имеет внутреннего RC, ей нужен кварц. И если та плата по ATtiny2313 была рассчитана на работу на внутреннем RC…
А у AT90s1200 внутренний RC был, но включался только на параллельном программаторе. Часть шла с таким фьюзом с завода и маркировалась AT90s1200A. Можно было заказать такую, но где-то в левых партиях из остатков от крупных заказов, говорят, проскакивала.
Сашко, вилітаю до Києва ненадавго із Франкфурту. Чи можемо десь зустрітися? Напиши мені на мою адресу. туди можна і контактний телефон, якщо можеш. Радіофізик Руслан. мій моб. із завтрашнього дня +38067 4423945.
О, добре. Краще за все було б зустрітися у вівторок, у мене буде вільний час.
Зараз напишу детальніше.
А какие USB-адаптеры еще поддерживаются, кроме программатора на базе FTDI2232? Я свой пару часов назад спалил похоже, коротнул я его. 🙁
На РадиоКоте есть USB-программатор на базе Атмеги8. Можно ли будет пользоваться Avreal’ом с этим программатором?
Пока только FT2232/FT4232, для меня лично они привлекательны тем, что могут работать и с ARM. Даже FT232R/FT245R только в планах.
Как появляется немного свободного времени, начинаю под воздействием «тонких намёков» подумывать о STK500v2 протоколе, но свободное время быстро пропадает.
Там вроде не так просто спалить, просто коротнув. Разве что коротнуть что-то серьёзно ена него.
По умолчанию, без записи в конфигурационную EEPROM, у FT2232 ток выходов ограничен парой милиампер, так что даже 1к-подвязку на сбросе может и не пересилит.
Он даже не не распознаётся операционной системой?
Если распознаётся — что отвечает на команду
Возможна ли настройка avreal для использования чипа ft245? если нет, то будет ли поддержка ft245 в ближайших релизах?
Пока нельзя, там другой режим, не MPSSE.
FT245R будет вместе с FT232R, у них у обеих есть режим synchronous bit-bang.
А вот когда… Честно собираюсь до Нового Года сделать. Опять…
Пытаюсь считать код с АТмеги16 через программатор на базе FTDI. Не работает.
Выдает:
D:\microcontrollers\AVreal32\Knopka>avreal32.exe +mega16 -% -r -aft2232 test90
+mega16 -% -r -aft2232 test1.a90
No FTDI "port" switch found
device with default description "Dual RS232 A" will be used
% 'ftd2xx.dll' successfully loaded
Can't open FTDI device with description "Dual RS232 A" (FT_DEVICE_NOT_FOUND)
Новую программу скачал, дрова снес старые и поставил заново… Вроде все сделал, но не работает 🙁
Ой, похоже, я при очередных редактированиях в строке описания по умолчанию описку сделал. А у меня сейчас под рукой во всех адаптерах описание перешито и я не мог это заметить.
Для FT2232-не-H описание по умолчанию, насколько я помню, “DUAL RS232 A”. Регистр имеет значение в сравнениях внутри библиотеки ftd2xx.dll.
Проверьте при помощи
и используйте показанное описание с ключиком
p.s. Вырезайте из выдачи avreal шапку, оставляйте только
и последующее. А то в сообщении выходит много линков и оно попадает под модерацию.
Нет, по всем записям для FT2232C/L/D строка описания по умолчанию с маленькими буквами — “Dual RS232 A”.
Попробуйте при подключенном адаптере — что avreal с ключиком
выдаст в списке найденных устройств.
Доброй ночи. Такой вопрос:
А можно данный адаптер использовать как вывод ЛПТ порта для программирования с помощью других программ? Например: Поннипрог и т.д. Очень важен этот момент, так как нужно программировать микроконтроллеры и памяти разных фирм. АВР, ПИК и т.д.
С уважением Артем.
«Данный адаптер» — это какой? На страничке adapters есть несколько адаптеров для порт LPT.
Адаптер «STK200/STK300» поддерживается многими программаторами AVR, тем же «Пони».
«Altera ByteBlaster» менее распространён.
Для PIC16, насколько я помню, требуется одна двунаправленная линия для данных. Если это так, то ни «STK200/STK300» ни «ByteBlaster» без доработок не подойдут. И даже с доработками ещё вопрос, найдётся ли подходящая программа.
Думаю, проще будет с друой стороны зайти. Найти устраивающий адаптер для LPT (например, программирующий PIC) и спросить — а можно ли им программировать AVR при помощи avreal. Вполне может быть, что достаточно будет дописать конфигурационный файл для ключа -am.
Есть ли возможность параллельно запускать на одной машине несколько копий программы через несколько LPT портов? Для цеха желательно увеличить пропускную способность программирования.
По структуре программы вроде проблем быть не должно ни под Windows*, ни под Linux.
С адаптером на FT2232H пробовал — у этой микросхемы, в отличие от FT2232C/L/D, оба канала работают в режиме MPSSE и две копии avreal в соседних окошках параллельно работают. Тем более без проблем с несколькими адаптерами на FT2232C/L/D, только их нужно по серийным номерам развести.
Учитывая то, что через FT2232 и скорость выше (сказывается при тактировании микроконтроллера віше где-то 2-3 МГц), для серии стоит подумать о ней.
Здравствуйте. Прекрасный программатор, давно пользуюсь (LPT).
В последнем разработанном приборе применяется ATmega644P (именно с P), используются очень низкие тактовые частоты (вплоть до 32кГц) – делителем частоты RC генератора – и столкнулся с неудобством: приходится дважды запускать avreal, сначала стереть кристалл (и заодно записать все fuse) на сверхнизкой скорости (-o10), и только вторым вызовом писать код на обычной скорости. Я подозреваю конечно что mega по сигналу reset должна бы перейти в 1МГц тактирование, однако одним вызовом 90% приборов не шьются (кристалл просто не видится). Может быть можно организовать второй ключик для указания скорости обмена при стирании? Чтобы стиралось медленно, а вот шилось и проверялось – быстро? Или есть другое решение этого неудобства?
И в догонку сразу ещё вопрос: до какой минимальной скорости (частоты mega) FT2232 будет работать?
Делать возможность задавать разные частоты SPI для разных операций с кристаллом, честно говоря, не хочется.
А чем не устраивает запуск avreal два раза для разных операций? «Серийную» прошивку я обычно так и делаю, в командном файле стоят подряд вызов с прошивкой нужного значения fuses на малой частоте, после чего вызов прошивки программы с рассчётом уже на рабочую частоту (кварц или быстрый внутренний RC). Благодаря кешированию диска операционной системой второй вызов программы почти не добавляет времени работы. Добавляется практически только 0.1-0.3с на стартовых операциях — инициализация адаптера, начальный сброс микроконтроллера.
Сейчас по ключу -o минимальная устанавливаемая частота ядра ограничена величиной 1 кГц, соответственно, минимальная частота SPI около 250 Гц.
Микросхема FT2232 в режиме MPSSE может генерировать тактирование до приблизительо 92 Гц, так что в дальнейшем, возможно, будет проверяться минимальная частота для выбранного адаптера и именно она будет границей для -o.
Да в общем устраивает. Раздражет лишь двойной вывод fuses и прочей служебной информации (/quiet режима не нашёл в доке, похоже подавить вывод лишних сообщений нельзя), текст уползает вверх. Ну и ещё двойной вызов неудобен с точки зрения анализа ошибок записи – приходится второй вызов делать условно по errorlevel. Согласен, это мелочи, не стоит усложнять.
Про тактирование FT2232 спросил т.к. увидел где-то ниже что она не позволяет выдавать низкие частоты. Но 1кГц вполне устраивает. 🙂
А, вот ещё мелкое неудобство вспомнил: при проверке если код не зашился с самого начала, то avreal всё равно будет читать память до конца (считая количество ошибок) – так ли это нужно? На низких частотах кварца это существенная потеря времени. Вероятно бывает полезно и так и так (и до первой ошибки, и общее количество).
Подавления вывода нет. Я подумываю о дополнительном ключе, которым можно будет задавать уровень болтливости в три-четрыре градации. -% сделать синонимом того ключа с каким-то уровнем «выше среднего», нынешнюю болтливость без ключей сделать средней, на малом уровне оставить самый минимум.
FT2232 в режиме MPSSE делит исходный 6-мегагерцовый такт на 1..65536, так что нижняя граница достаточно низка.
По верификации — «приглашение к обсуждению» — например, модификатор ‘–‘ к ключу.
Т.е. -v- вываливается по первому несовпаднию.
Странный вид -v+- или -v-+будет, если одновремённо просить проверить на FF не программировавшиеся ячейки, но это можно пережить. Тем более, что я -v+ вроде бы и не пользовался никогда. Уже и не помню, откуда этот ключ взялся, вероятнее всего как друг товарищ и брат к ключу -w+, предназначенному для записи EEPROM начальными значениями с зачисткой остального содержимого, но без стирания кристалла. Такое приведение программы в исходное состояние для нового цикла тестирования системы.
Для регулировки “болтливости” можно использовать тот же -%[n] (с добавлением цифры). Без цифры – как сейчас. Цифру можно или как уровень использовать, или как битовую маску для сообщений. Я бы подавлял следующее: вывод fuse если не задана их запись (а если задана то выводить лишь новые); три строки заголовка (их можно выводить лишь при выводе хелпа, при обычной работе они не так нужны); сообщения о подаче питания и reset (их много, а смысла от них мало); точки индикации процессов (только начало и результат ok/error, и в одну строку, а не на следующей); вообще сообщения о действиях (оставить лишь командную строку и общий результат или ошибку). Ещё мысль: командную строчку и общий результат (и все ошибки) выводить не в con, а в err (нандлер не 0, а 2), тогда их можно будет по отдельности убрать средствами ОС (0>nul или 2>nul или в файл). Но это открывать ещё один хандлер. 🙁
-v-+ действительно странно и непонятно. Но можно и -v[1][+] – т.е. цифру “1” использовать для флага остановки по первой же ошибке, это логично.
Ещё раз спасибо за прекрасную прогу!
С этим ‘%’ и так плохо вышло, это же спецсимвол в bat-файлах, там нужно -%% писать. А -%1 -%2 совсем путаницу введут. Так что отдельный ключ с переводом -% в устаревший синоним одного из режимов.
На stderr (канал 2) я хотел вообще всё перевести, оставив stdout для каких-то запросов, но перенаправление 2> не работает в Windows98 и пошли жалобы, пришлось вернуть назад на stdout.
Открывать ничего не надо, в C каналы 0, 1, 2 открыты сразу.
-v[1][+] — пожалуй, выглядит лучше и логика в этом есть.
Надо засесть за такие мелкие правки, вот давно в очереди модификация -r-, означающая «не писать в выходной hex-файл сплошные участки FF».
Я понимаю, что мой вопрос достаточно косвенно связан с работой вашего програматора, но всё же хотел бы обратиться с вопросом:
какие команды вы посылали на ft2232 чтобы он работал в режиме MPSSE?
Я перевожу чип в режим MPSSE, после чего передаю ему набор команд:
SET_BITS_LOW(0x80), 0x08, 0x0b,
TCK_DIVISOR(0x86), 0x00, 0x00 ,
SET_BITS_HIGH(0x82), ~0x04, 0x04
И отправляю 2 байсто набором команд:
0x10(byte, write-only),0x01,0x00(2 bytes),0x77(data1),0x88(data2)
На осциллографе пусто, второй буфер не записывается корректно.
Сейчас у меня порядок действий такой:
(задержки средствами ОС и выходят “не менее чем” а не “вот-такие”)
А вот при записи у меня метод 0x11, как нужно для AVR-ок, но должно сдвигать и при 0x10.
Так на первый взгляд по перечню команд и байтов всё нормально.
Да. Всё работало. Просто надо было перезагрузить FT.
Про сброс буфера – спасибо. Доделаю.
Доброго времени суток.
Скажите пожалуйста- правда ли, что данным программатором можно прошивать ARM?
ARM можно прошивать “железом”, сделанным на FT2232, и то не всяким — только отвечающим по назначению выводов одному из поддерживаемых OpenOCD.
Программа avreal не работает с ARM.
Есть ли возможность прошить ATmega128RFA1?
Его Signature Byte отличается от ATmega128(L) и ATmega1284(P).
Будет ли добавленна его поддержка в следующих версиях?
Я как-то упустил из виду RF-линейку, был уверен, что там только “бутерброды” из обычных мег и RF-кристалла.
Мельком глянул документацию на ATmega128RFA1. Похоже, отличия от ATmega1284P только в сигнатуре, так что добавить проблем нет. Добавлю по возвращении из отпуска (дней через десять).
Выложил пробную win-версию 1.28r5b1, отличается от 1.28r4 только добавлением ATmega128RFA1, неисправленная ошибка осталась.
Сразу проверяйте 1.28r5b3, вторая ошибка уже тоже исправлена.
p.s. Исправления вошли в 1.28r5 и файлы тестовых версий удалены.
Саша, извините, пожалуйста.
У меня 1-я версия программатора на 2232.
Вопрос по свечению светодиода.
Как сделать, чтобы он зажигался в момент начала программирования,
а гаснул лишь по окончании прошивки всего (вкдючая eeprom b fuses).
А то сейчас он коротенькр мигнёт, почти незаметно. А шьёт безукоризненно.
Моя строка:
avreal32 +mega8 -aft2232:enable=~adbus4,acbus2 -e -w -n m8k.hex m8k.eep -v
Большое спасибо!
«первая версия» — это первая версия железа MegaJohn ?
Необходимо указать активный низкий уровень для зажигания светодиода
Сейчас он промигивает на какой-то задержке между командами перевода в MPSSE с не выбранным состоянием программатора и командой разрешения выходов, по которой на acbus2 устанавливается высокий.
Саша, извини, сразу не уточнил. “Первая версия” – это та версия, которой торгует Космодром. Скорее всего, это первая версия МегаДжона. ADUM и без буферного регистра.
Да, так и есть, «Космодром» торгует первой версией МегаДжона.
К этой версии можно “костыль” приделать, мне кажется. На махонькой платке разместить шинник, прокинуть туда сигналы и управление выборкой шинника. Не очень красиво, но через “задний проход” может получится. 🙂
«Дурне діло не хитре».
Но не проще ли тогда с нуля сделать плату с шинником и прочим нужным?
Спасибо большое. Всё работает, как в сказке, чем дальше, тем страшнее… 🙂 🙂
Добрый день!
Спасибо Вам за замечательную программу, и отдельное спасибо за то, что она до сих пор бесплатна. 🙂
Простите мне мое нетерпение, но я хочу еще раз поинтересоваться: скоро ли будет (если будет вообще) поддержка программатора на FT232, как в AVRdude?
Ох…
Будет. Только FT232R, старых BM не будет.
Но точнее, чем “до конца нынешнего года” ответить не могу.
Спасибо!
Здравствуйте.Не могу понять, как прошивать правильно фьюзы. Мне нужно установить такие фьюзы: WDTON, BOOTSZ1, BOOTSZ0, BODLEVEL, BODEN, остальные по нулям. Мне посоветовали прописать это так: -f_low=3F,_high=89 . Скажите пожалуйста, это правильно, так как аппарат работает неправильно. И еще вопрос: нужно прописать CKOPT, BOOTSZ1, BOOTSZ0, SUTO, остальные по нулям. Правильно-ли прописать это так: -f_low=3F,_high=C9. Заранее благодарен.
Как-то странно поставлен вопрос. Стёртое состояние fuse — “1”, прошитое — “0”. Что означает “остальные по нулям”?
Ну тут тяжело ответить, так как не указан тип микроконтроллера, а положение fuse у разных контроллеров разное.
Берите значения из табличек в документации на нужный микроконтроллер и так их и вписывайте, как они там указаны. Для включения WDT надо, чтобы WDTON был равен нулю — пишите WDTON=0
Многобитовые соединяйте в шестнадцатеричное число, т.е. стёртый bootsiz1 и запрограммированный bootsiz0 будет BOOTSIZ=2
это
Так остальные изменены не будут, только перечисленные в строке установлены в заданное состояние.
Если нужно задать все, то все и перечислить. Можно соединить в _low, _high, _ext, но я предпочитаю явно указывать.
Здравствуйте.Перефразирую вопрос- что нужно дописать после вот этого: с:\avw125r5\avreal32.exe -p1 -ap -o0 +mega8 -w -chan.hex что-бы прошить такие фьюзы:WDTON, BOOTSZ1, BOOTSZ0, BODLEVEL, BODEN (программатор- т.н.”5 проводков” И второй вопрос-что нужно дописать после этого: с:\avw125r5\avreal32.exe -p1 -ap -o0 +mega32 -w -chanel.hex что-бы прошить такие фьюзы:CKOPT, BOOTSZ1, BOOTSZ0, SUTO. Спасибо за помощь.
Ну на первый вопрос я фактически уже ответил. Чтобы прошить фьюзы WDTON, BOOTSZ1, BOOTSZ0, BODLEVEL, BODEN (и не трогать остальные) нужно указать
Поскольку оба фьюза BOOTSZ1, BOOTSZ0 должны быть “прошиты” в 0, двухбитовое поле bootsiz устанавливается в 0.
Если же все остальные должны оказаться в стёртом состоянии, то тогда либо их все нужно перечислить со значениями 1 для однобитовых полей и F для четырёхбитного CKSEL, 3 для двухбитного SUT, либо записать через _high, _low нужные маски.
В Вашем первом сообщении _high=89 не соответствует запрошенной комбинации, так как получается ещё и CKOPT=0, а оно не біло перечислено в “нужно установить такие фьюзы”. _low был указан правильно.
По второму вопросу
так как если SUT1 остаётся в 1-ке, то (SUT1,SUT0) = (1,0) = 2 в шестнадцатеричной кодировке.
Остальные биты останутся неизменными.
Открывать pdf-ку ещё и на мегу32 мне не хочется, если нужно именно в _high/_low-нотации, просто соберите все битики.
Большое спасибо за помощь.
Можно ли добавить ключик, чтобы тип чипа определялся автоматом и он прошивался? Он ведь и так сейчас определяется, но при несовпадении с подключеным выходит. Смысл такой: я в IARe добавил в меню Tools вызов программатора, но сейчас приходится на каждый чип заводить отдельную строку 🙁
А у IAR нельзя никакими переменными в командную строку вытянуть тип микроконтроллера из проекта? 😉
Меня уже несколько раз просили такое сделать, но оно как-то постоянно откладывается.
Нужно поменть в программе структуру работы, сейчас сначала проверяется всё соглсно заказанному типу микроконтроллера (влазят ли входные файлы в соответствующую память, правильно ли указаны fuses) и только если всё сошлось, то выдаётся команда входа в программирование. Если хоть что-то не так, то контроллер не трогается вообще.
Самое противное место — Атмел для разнх контроллеров указал разные процедуры пересинхронизации, а я ещё помню времена, когда у 90s1200 при неудачно поданных (распознанных) командах терял сигнатуру. Хотя у меня такое ощущение, что фирменные программаторы используют только один способ, причём до сих пор “старый”, а не тот, который прописан в документации у всех новых кристаллов.
Может и стоит наконец-то сделать этот +avr для автоопределения контроллера. При этом есть риск, что народ чаще будет влетать в неправильно установленные fuses, так как одна и та же комбинация CKSEL означает разные источники тктирования у разных кристаллов. Впрочем, умельцы и так умудряются дать ключ -! и зашить совершенно не то и не туда.
К сожалению в IARe такой возможности не нашел, можно только пути и имена файлов проекта.
Но появилась другая идея: сделаю батник, сначала вызывается avreal для определения чипа, затем определенный чип подставляется в следующий вызов.
Мда… Через заднее крыльцо. Придётся таки что-то думать.
Добрый день, Александр. Купил готовый программатор на FT2232 в “Космодроме”. Драйвера установил, появилось ещё два COM порта, скачал программу с Вашего сайта. Программировать ещё не пробовал. Скажите, пожалуйста, как пользоваться AVReal, и будет ли она работать с Algorithm Builder?
Спасибо.
Для работы AVReAl с адаптером AVREAL-USB-SPI от MegaJohn, версию 1 которого недавно стал продавать “Космодром”, необходимо указать использование выводов микросхемы FT2232.
Сигналы SPI в режиме MPSSE не перемещаются, сигнал RESET можно не указывать, так как он имет расположение по умолчанию. Поэтому нужно указать только два сигнала — открывающий выходную часть гальваноразвязки ADUM1401 и зажигающий единственный для платы версии 1 светодиод.
Предполагаю, что в EEPROM не зашито поле description для FT2232 и avreal может использовать значение по умолчанию, ключи указываются для avreal 1.28r0 и старше (на сайте MegaJohn указаны для avreal 1.27 и для версии адаптера 2.2).
Если предполагается свечение светодиода в процессе прошивки (хотя для этого лучше было бы поствить светодиод, зажигаемый сигналом разрешения выхода либо сигналом reset), то командная строка должна выглядеть так
Ключ -az нужен для того, чтобы по выходу из программирования FT2232 осталась в режиме MPSSE и светодиод оптрона был надёжно открыт, выходные сигналы ADUM1401 запрещены.
Если предполагается свечение светодиода при ошибке программирования, то командная строка должна выглядеть так
Ключ -az теперь нужен ещё и для того, чтобы светодиод ошибки светился после окончания работы avreal.
Не знаю, сами “космодромовцы” начали этот адаптер выпускать или кто-то другой предложил им это к продаже, но зря производитель ради экономии взял первую версию адаптера и не проконсультировался либо с автором адаптера, либо со мной. Непонятно, чего боялись, неужели что самим придётся перетрассировать слегка? Не хотели ставить лишние шинники — ладно, но оптимальным был бы гибрид из двух схем. Лучше было бы взять более правильную схему управления оптроном и поставить дополнительный управляемый светодиод, чтобы можно было индицировать и состояние активности программатора, и состояние ошибки при прошивке.
По Algorithm Builder — я просто не пользовался этой программой и не знаю, как у неё с прикручиванием внешних утилит.
Странно, но почему нет поддержки готовых стандартных программаторов? Тех, что через СОМ-порт работают (протокол STK500).
Можно ли ожидать?
Вопрос болезненный. С одной стороны — интересно бы. С другой — а когда? С третьей — а зачем?
Может, лучше наконец-то добавить нормальную поддержку линейки AT89S через существующие адаптеры (судя по тому, как качают старую программу, не мешало бы) да домучить на треть сделанную поддержку FT232R.
Для LPT у avreal были какие-то “изюминки”, а STK500 “программирует сам” и разные программы – это только разные пользовательские интерфейсы. Т.е. единственный смысл поддержки STK500 avreal-ом – это тот же интерфейс, что и при работе с LPT или FT2232. Это с точки зрения владельца STK500, естетственно. С точки зрения программы – смысл в расширении области применения, но для этого предыдущий абзац весомее.
Интересные вещи могут быть “на стыке”. При совместной работе с автором какого-нибудь из клонов STK500 можно добавить какие-то функции и в клон, и в программу.
Да, поддержку FT232R совсем не помешало бы 🙂
Это да, но тут кум попросил таки сделать программирование последовательной флеш-памяти, так что сначала будет она.
Добрый день,
сделал себе прог по МегаДжоновской схеме, все работает НО не горит светодиод (тот, что на 12 ноге FTDI).
Его надо правильно описать в конфигурации — либо добавить в enable, чтобы он загорался в процессе программирования, либо в led_ok или led_error, чтобы в конце показал статус. Во втором случае нужен ещё ключ -az для того, чтобы про окончании программирования ft2232 не переводилась назад в UART и осталось заданное значение на светодиоде.
Спасибо, помогло.
А есть где описание всего этого в одном месте? 😉
Вот на этой же страничке немного выше есть линк
Можно пойти по нему и увидеть описание ключа -a
Там можно увидеть аргумент PINMAP
А вот уже там после описания формата запсией, в том числе и для светодиодов, можно прочесть:
Конечно, это всё лучше бы переложить на более видное место, но и туда путь недолог.
Добрый день. Я новичок, нужен хелп. Спаял программатор на базе FT2232. Раньше работал через Atmel STK*00.
пишу вот это.
avreal32.exe +mega16 -% -aft2232 -r test1.a90
Мне выдаёт вот такое.
Invalid value ‘ft2232’ for switch a
Вроде всё правильно пишу 🙁
Скачал свежую прогу – стало легче.
Но теперь пишет вот такое –
No FTDI “port” switch found
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
U:\>r1
U:\>avreal32.exe +mega16 -% -aft2232 -r test1.a90
avreal/WIN32 – AVR controllers LPT programmer by Redchuk Alexandr
v1.28r1 (Jan 31 2010 16:43:36) http://real.kiev.ua/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command:
+mega16 -% -aft2232 -r test1.a90
No FTDI “port” switch found
device with default description “Dual RS232 A” will be used
Can’t get function ‘FT_Reload’ from library ‘ftd2xx.dll’
Операция успешно завершена.
U:\>
“No FTDI “port” switch found” – это не ошибка, это предупреждение, что для открытия необходимй микросхемы будет использовано описание по умолчанию, “Dual RS232 A” для FT2232C/L/D
Can’t get function ‘FT_Reload’ from library ‘ftd2xx.dll’ – по-видимому, надо обновить и драйвер/библиотеку FTDI. C 2.06.00 всё работает.
Эту функцию я сейчас не использую, можно и удалить из кода запрос на подключение, но лучше всё таки свежие драйвера поставить, так как ещё что-то может вылезть.
Скачал новую ддл библиотеку. Он всёравно пишет об Can’t get function ‘FT_Reload’ from library ‘ftd2xx.dll’.
Кстати, при подключении программатора виндовс выдает, что подключено устройство, которое невозможно определить.
Только что на всякий случай перегрузился и проверил 1.28r1, в XPsp2 (та же самая Microsoft Windows XP [Версия 5.1.2600]) установлены драйвера FTDI 2.06.00. Всё работает.
Вы уверены, что библиотека реально заменилась? Быть может, старая версия лежит возле avreal или раньше по PATH, чем новая, может, новая совсем не установлась.
Тем более, что программатор не распознаётся – явно что-то не то с установкой.
Сейчас поиском найду все dll’ki ftd2xx и удалю их + почищу от драйверов на FTDI. А как проверить правильно ли спаял я программатор:) Я прозвонил все дорожки и лапки чипа, на наличие контакта. Проверил правильность распайки. Вроде бы все нормально. Есть ли еще методы проверки правильности спайки всей схемы. Возможно какой-то из элементов оказался бракованный.
Короче, ничего не помогает. Мой комп не хочет находить плату, которую я подсоединяю к нему. Короче ни фига не получаецо… Я уже не знаю, что делать.
Кстати, когда я набираю. avreal32 -aft2232 – выдается ошибка – программа avreal32.exe , обнаружена ошибка и программу будет закрыта.
Известно.
http://real.kiev.ua/2010/03/04/bug-in-avreal-a-swicth-1-28r0-1-28r1/
Уже готова новая версия с исправлением существенной ошибки, там и эта мелочь исправлена. Заодно убрал динамическую линковку функции FT_Reload, всё равно сейчас не используется. Ещё проверю и на днях выложу. Посмотрим, что будет.
Вы пока единственный, у которого такое выскакивает, хотя FT2232 пользуется куча народу. Что-то не так с библиотекой.
Недавно проверял работу под XP/32, XP/x64, Win7/32, Win7/x64 – с чистых инстлляций ОС и со свежезагруженными драйверами 2.06.00. Везде всё работало.
Возможно у меня проблема с платой? хотя комп определяет подключенное устройство как – USB Serial Converter A and B. Возможно какая-то деталь попалась неисправная?
Та хто його зна, що там робиться.
Если устройство определилось, то avreal должен с ним работать — показывать его по -aft2232 -p? и по крайней мере пытаться программировать.
Невозможность подключить функцию из библиотеки от этого не зависит — она должна подключаться, если ftd2xx.dll есть независимо от наличия и исправности плат.
В очередном обновлении убрал линковку этой функции, пробуйте. Но странно это. У меня-то всё работает с этими драйвером+библиотекой. И не только у меня.
F:\>avreal32.exe +mega16 -% -aft2232 -r test1.a90
avreal/WIN32 – AVR controllers LPT programmer by Redchuk Alexandr
v1.28r2 (Apr 19 2010 11:42:49) http://real.kiev.ua/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command:
+mega16 -% -aft2232 -r test1.a90
No FTDI “port” switch found
device with default description “Dual RS232 A” will be used
% ‘ftd2xx.dll’ successfully loaded
% FT2232 MPSSE SPI adapter created, SCK frequency 188kHz
% Reset
% PgmOn reply FF FF 53 00
% Synchronised after 1 try
% GetID reply 00 30 00 FF
% GetID reply 00 30 00 FF
% GetID reply 00 30 00 FF
% Read ID: 0xFFFFFF
Device connected, but not recognised, ID: 0xFFFFFF
% Read Lock command 58 00 00 00, reply 00 58 00 C0
Chip locked – reading and programming disabled
% Read Osccal command 38 00 00 00, reply 00 38 00 FF
% Read Osccal command 38 00 01 00, reply 00 38 00 FF
% Read Osccal command 38 00 02 00, reply 00 38 00 FF
% Read Osccal command 38 00 03 00, reply 00 38 00 FF
Can’t continue
Reset pin released
Похоже работает. Но у меня похоже накрылся микроконтроллер. Я его программнул раньше у товарища. У меня моргал один диод, а теперь не моргает.
Спасибки… Поеду куплю Атмегу16 новую… потом посмотрим.
И в тех же условиях 1.28r1 рассказывает, что не видит функцию FT_Reload в библиотеке ftd2xx.dll ?
Странно.
Вставил программатор в другой комп и воллля.!.. комп нашёл рс-232 дуал – бла-бла-бла
Но проблема с невозможностью найти – can’t get function ‘FT_Reload’ from library ‘ftd2xx.dll’ – осталась
Проверил работу avreal32-1.28r1 c ftd2xx.dll из драйверов версий
Ну и ещё раз с самыми свежими
Везде функция FT_Reload нормально подгружается. Интересно, в чём дело у Вас на компьютере.
ReAL, в конференции caxara.ru Вы задавали вопрос про транслятор уровней с третьим состоянием на выходе? Отвечаю – 74lvc1t45 и 74lvc2t45 на четвертой странице документации от Philips написано, что при трансляции с низковольтной части в высоковольтную и при не подключенном GND (“don’t care” – что бы это значило?) выходы имеют третье состояние, там же написано, что, если VCC-A или VCC-B будут иметь тот же уровень, что и GND, то устройство входит в спящий режим (наверное это и имелось ввиду, про “don’t care”).
А теперь встречный вопрос той же тематики – не подскажете ли трансляторы уровней, доступные в Украине для
1. 1Lo -> 1Hi + 1Hi -> 1Lo (без переключателя направлений в одном корпусе?)
2. 2Lo -> 2Hi + 2Hi -> 2Lo (без переключателя направлений в одном корпусе?)
3. 4Lo -> 4Hi + 4Hi -> 4Lo (без переключателя направлений в одном корпусе?)
4. 4Lo 4Hi (с переключателем направлений в одном корпусе?)
5. 8Lo 8Hi (с переключателем направлений в одном корпусе?)
Заранее спасибо!
5. 8Lo 8Hi (с переключателем направлений в одном корпусе?)
нашел.
Опять прошу прощения за задержку. Несколько дней, включая субботу, приходил домой поздно.
Не “при неподключенном GND”, а “при напряжении питания, равном GND”. При этом состояние входа DIR – don’t care, несущественно.
На это “Vcc isolation” в 1T45 внимание обратил, но что-то мне там не понравилось и я решил посмотреть поведение на макете, но забыл — спасибо за напоминание.
Кстати, та же особенность есть у 74LVC1G125, 74LVC1G240, 74LVC8T245, имеющих и вход OE – похоже, функция делалась под hot swap. Правда, 74LVC8T245 в Имраде “мерцает”, то можно купить, то нельзя, а 1T45 чаще бывает в варианте 74AVC — более быстром, чем 74LVC, но с диапазоном питания 1,2-3,6 а не 1,65-5,5 вольт.
Хорошая микросхема, проскочившая в том обсуждении – sn74avc4t774, но она не просматривается в окрестностях Киева в штучных количествах. Четыре 1T45, дополненные одним общим входом OE.
Как 8-разрядный можно взять упомянутый SN74LVC8T245.
Есть ещё два типа трансляторов
C push-pull выходным каскадом и встроенным bus keeper
Analog Devices ADG3300, ADG3301, ADG3308 и TI TXB0104 с компанией. Всё хорошо, но при внешнем pull-up в десять килоом, не говоря уже о паре-тройке, работать не будет.
На проходных ключах NXP GTL2003, и несколько более навороченные TI TXS0104 (пожалуй, самые приятные из имеющихся). Ещё шинные коммутаторы SN74CBT3244 в качестве таких трансляторов использовались, а SN74CB3T3245 в том числе для этого и предназначены, но я не пробовал.
Что-то из этого всего я видел, но не знаю, насколько доступно сейчас.
Александр, здравствуйте!
Я, наверное, не первый и далеко не последний, кто очень хочет шить xMega (хотя бы серии А1)
через LPT по интерфейсу PDI.
Я так понимаю, что вы еще не реализовали эту функцию из-за нехватки времени на разбор полетов с этим самым PDI.
Я Вам помогу – gaw.ru перевел документацию на хмега на русский и даже про картинки не забыл:
Страница с описанием PDI – http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh_xmega_a/29_3.htm
Родительская страница – http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh_xmega_a/index.htm
Сообщите Ваши намерения по поводу интерфейса PDI, исходя из вышеуказанного, пожалуйста.
Нехватка времени – это само собой (не могу понять, куда оно утекает всё убыстряясь – вроде ничего и не сделал, а день/неделя/месяц/год куда-то ушли). Но перевод тут не поможет – пусть я и не очень хорошо знаю английский, но техническую документацию читаю сравнительно легко и предпочитаю англоязычный оригинал.
Посмотрите сами пункт 29.3.2 упомянутого документа – частота тактирования PDI_CLK ограничена снизу величиной “около 10 кГц”. Это означает, что пауза в обращениях к LPT величиной в 100 мкс наверняка отключит интерфейс программирования. Я не берусь гарантировать отсутствие таких пауз во время сессии программирования под любой из современных ОС.
Так что обойтись одним шинником и LPT не выйдет.
Дешевле и проще, чем программатор на 90usb162 (тема на электрониксе) врядли получится.
С паузами – согласен, с “дешевле и проще” – нет.
Дешевле – это 2313, а вышеуказанную модель в Днепре не купить точно, а в Киеве – нету, есть только модели стоимостью от 100 грн., что, в принципе, не плохо, но – программирует ее только АВРСтудио, а я ее не использую (три дня назад первый раз за 7 лет поставил и запустил), хотя сейчас она стала заметно лучше, нежели 7 лет назад, дебаг неплохой, но нет протоколирования в виде графиков по пинам, а для моей задачи, из-за которой я в сторону хмега с 32МГц вообще смотреть стал, это существенный минус. сейчас занимаюсь написанием проги для реал-тайм визуализации логов порта, который в АВРСтудио можно в текстовый файл выводить.
Прошу прощения за задержки, в дурном режиме сейчас.
tiny2313 это “дешевле”, но не “дешевле и проще”
Да, 90usb162 дороже tiny2313 раза в три с кепкой, если смотреть по киевскому “Имраду” и харьковскому “Космодрому”, но если учесть разъёмы, плату, …, то разница не такая и большая. Зато готовый проект и достаточно универсальная вещь.
“программирует только АВРСтудио” – не понял, о чём.
Спасибо за Имрад. Я кроме симметрона и биакома ни с кем не работал. а на биакоме только AT90USB1287-AU имеется, зато на биакоме ATxmega64A1-AU – значительно дешевле стоит (в три раза!).
И все-таки, чем программировать микрухи через в итоге полученный AVR ISP MK2? (кроме АВРСтудио).
Спасибо!
Взять из студии отдельную программу командной строки и ею программировать.
я про программатор AVR ISP MK2
Александр, здравствуйте!
Докладываю Вам, что кристаллы без буквы (Р, А, РА) почти не поставляются.
Прошил mega48PA как 48Р, вроде без проблем. На подходе mega16A/32A.
В списке их не вижу. Можно ли их шить в лоб? Signature, кажется, одинаковые.
По-возможности, пожалуйста, уточните список в части букв.
Спасибо! Савицкий Юрий, Киев.
Доброго дня, Юро!
Вибач за затримку, вчора не до відповіді було.
В більшості випадків літера А свідчить лише про зміну технології у Atmel, тобто кристал просто менше їсть і працює без розбраковування в усьому діапазоні напруг. З точки зору програматора кристал той же, сигнатура, fuses – все однакове. Для тих же atmega32/atmega32A в документі AVR521: Migrating from ATmega32 to ATmega32A як різниця вказані лише струми споживання та номінал reset pull-up.
Зараз перелік складено за таким суб’єктивним принципом – якщо з точки зору компілятора gcc кристали однакові, то вони не прописані і у avreal окремо, щоб не роздувати перелік. Якщо кристали з точки зору програматора однакові (включно з сигнатурою), але мають різний набір регістрів і різні ключі для avr-gcc, то вони в avreal прописані через ‘|‘ – наприклад, tiny2313|tiny2313A.
У випадку з atmega48 та atmega48P є різні h-файли, бо у них різний набір регістрів, не співпадають і сигнатури – кристали різні і з точки зору програматора.
Для atmega48PA використовується той же h-файл і той же ключ -mmcu=atmega48p, що і для atmega48, з точки зору компілятора та програматора вони однакові.
Але якщо такі питання виникають, то я згоден, що краще таки внести відповідні синоніми для всіх варіантів.
[…] avreal/WIN32 – AVR controllers LPT programmer by Redchuk Alexandr v1.28r1 (Jan 31 2010 16:43:36) ReAl
Command: +TINY2313 -p1 -o0 -% -e -w […]
Do I have to do something with the bin to make it a hex? or can someone suggest a different method?
Currently avreal supports only Intel HEX format.
You can convert binary data in HEX forrmat by srecord.
Доброго времени суток! Большое спасибо за замечательную программу. Вопрос следующий: будет ли поддержка FT232R (не FT2232, а именно FT232R) в режиме bitbang, как в avrdude? Просто FT2232 мне не достать, а на avrdude переходить не хочется, уж больно к avreal привык 🙂 .
Да, да, я прекрасно понимаю, что именно FT232R (FT245R с этой точки зрения то же самое).
За неё я уже брался, но мне кое-что не понравилось, подробнее тут. Уже бы и закончил, но за прошедший месяц навалилась куча всего, от массового выхода из строя техники до поездок, отнявших выходные.
Рабочее место и внутреннее состояние практически восстановлены, но я, пользуясь случаем, проверяю установку драйверов на “чистую” машину.
В ближайшее время поддержка R будет. Естественно, с -o0, кнопкой, …
Добрый день, Александр!
Собрал схему USB программатора на FT2232D по схеме из раздела «Адаптеры» на Вашем сайте, однако ни один из трех приборов с контроллером ATMega128 не прошился. Причем, эти приборы до этого прекрасно прошивались байт-бластером. Действовал так: установил скачанные с сайта FTDI драйвера версии 2.6.0.0 (последние на данный момент) и Вашу программу версии 1.28r1. Программа увидела программатор, установила его в режим MPSSE и начала работу. Однако практически в самом начале прибор выдает ответ вида FF FF FF FF, и программа выдает ошибку Synchronization lost. Иногда правильно читаются сигнатура и lock-биты, иногда потеря синхронизации случается и на этом этапе. Пытался задавать частоту SCK и задержки программирования, однако это не дало видимого эффекта. Пытался посмотреть импульсы осциллографом, и фронты, и уровни нормальные. Возможно, важны какие-то настройки драйвера FTDI? Или какие-то другие нюансы?
После выхода из строя двух дисков как раз на днях более-менее восстановил рабочую конфигурацию и сегодня под XP32sp2 с нуля поставил именно эту версию драйверов. Никаких дополнительных настроек,
Версия программы 1.28r1 увидела мегу128, сравнила прошивку с файлом, который был зашит ранее. Проверялось с частотой по умолчаию и с -o7373.
Правда, адаптер другой, с формирователем, а соответствующая сайту макетка сейчас в гостях у товарища. Но это неcущественно.
Импульсы на выходе TXD0/PDO меги128 тоже нормальные и сответствующие VCCIO FT2232? До микросхемы доходят?
Электрически вроде бы все правильно, хотя очень сложно оценить фронты импульсов – программа очень быстро выходит на ошибку. А задаю команды я правильно? avreal32 +mega128 -aft2232:reset=adbus3:mosi=adbus1:miso=adbus2:sck=adbus0 -pd=”Dual RS232 A” -c a.hex -v -%% -os125kHz -az – это для верификации, схема, повторюсь, один-в-один как у Вас. Не нужно ли там каких-то инверсий для меги?
Проблема решилась установкой буфера типа 74HС244 (как для байт-бластера) между выводами FT2232 и мегой
Для схемы с сайта можно вообще не указывать расположение выводов и порт – это всё по умолчанию возьмётся. Просто
достаточно.
Могло не работать из-за того, что по умолчанию у FT2232 установлены слабые “стандартные” выходы, которые не потянут, к примеру, 1-килоомную подвязку на RESET.
Буфер эту проблему решил.
Доброго времени суток!
Прежде всего хочу поблагодарить за замечательную программу!
Пользуюсь ею уже очень давно где-то с 2003 или около того.
Приятно, что проект жив и развивается!
Понятно, что LPT уже не много осталось, а жаль (столько воспоминаний 😉 )
При случае надо будет опробовать FTDI – всё руки не доходят.
По поводу LPT – по работе копался в инете и прочих MSDNах на предмет доступа к портам из ring3 в XP и результатом этих копаний стала DLL с возможностью работы через следующие драйвера
DLPORTIO.sys
GIVEIO.SYS
mcdbio.sys
porttalk.sys
Pgdhdlc.sys (aka altlpt1 – родной драйвер Altera ByteBlaster для MaxPlus)
при этом допускается автоматическая загрузка любого из перечисленных драйверов если у него стоит загрузка службы “по требованию”.
Или вообще без драйвера через отладочные функции PZwSystemDebugControl из ntdll.dll
ну и естейственно напрямую для WIN9x (если оно ещё где-то осталось)
DLL частично совмистима с dlportio.dll и нормально работает с avreal v1.25rev4 (более поздние не проверялись)
если нужно – обращайтесь odv000gmailcom
Ой, “я не успеваю глотать” 🙂
Сейчас смотрю на вариант допиленной до совместимости с dlportio 64-битной версии InpOut32 http://electronix.ru/forum/index.php?s=&showtopic=53528&view=findpost&p=715124
Под 32-битными ОС, судя по сообщениям раее в той же теме, работает и “обычная” dlportio.dll, так что Ваша библиотека интересна для 32 бит в том, что не нужно ставить комплект dlportio при наличии другого драйвера. Постараюсь найти время и посмотреть.
Доброго дня, Александр
в данный момент я пишу книгу о микроконтроллерах. Книга будет комплектоваться диском.
я прошу Вашего разрешения на размещение Вашей программы на этом диске.
Заранее Вам благодарен 🙂
ps
стиль изложения показан на этой страничке: http://pic-avr.narod.ru/MK-teoriya.htm
Не имею ничего против.
Внимательно страничку посмотрю позже, черкну пару строк в почту.
Здравствуйте Александр!
1.Помогите советом: программирую Вашей программой ATTINY2313, весь код программирует нормально, только предпоследнюю строку программирует неправильно:
должно быть:
:1007F0008DB3E81719F0EDBBE29AE19A9FBF089517
:00000001FF
программирует так:
:0E07F0008DB3E81719F0EDBBE29AE19A9FBFB6
:00000001FF
2.И еще программа не выполняет верификацию, ключ -v, пишет Verifying CODE memory
…. passed
Раз верификация совпала, значит он как-то неправильно прочёл сам файл, зашил не то и сверил с тем, что и шил – но это как-то странно, такая ошибка давно должна бы была вылезть.
Давайте в почту конкретный файл и какой версией шилось, я найду tiny2313 и попробую. И проверю правильность зачитывания файла.
Такое впечатление, что нужен не файл, а командные строки, которые использовались для записи, для чтения, для верифкации.
Мне кажется, что запись идёт без ключа -n, а чтение и верификация – с ним.
Или запись тоже с ним, но предупреждение “Can’t write number of erases, locations used for code” не было замечено.
При чтении с -n последние два байта флеша просто игнорируются по смыслу ключа, а вот при верификации avreal должен был бы так же обидеться на сочетание -n и заполненности последних двух байт флеша, но этого не сделал.
Ошибка некритическая, будт подправлена с очередным релизом.
Здравствуйте Александр!
Да, я уже разобрался в чем была причина. Действительно при записи и при считывании я задал ключ -n. Поэтому и видел такой результат. Потом убрал ключ и все стало выглядеть как нужно. Я так понял (и согласно Вашего описания к ключам), на запись этот ключ ни какого влияния не оказывает, только при считывании и отображении результата. Только не понятно зачем программа берет при считывании эти два байта и показывает как количество стираний, если эти бва байта заняты программой т.е. показывает не истенное количество, а то число, которое зашито у меня в коде. Большое спасибо за ответ. 🙂
На запись – если место в коде не занято, то пишется счётчик стираний.
При чтении программа просто не знает назначение этих байтов (при записи негде было поставить пометку, что туда пошёл не счётчик, а код ;-)), поэтому полностью доверяет ключу -n.
А вот при верификации опять есть точка отсчёта – HEX-файл – и avreal должен вести себя не как при чтении, а как при записи. Я это поправлю как только снова полезу в исходники.
Мда. Вроде бы и не сонный был, когда проверял…
Всё нормально avreal верифицирует, сверяет все байты из входного файла.
Просто молча игнорирует ключ -n.
Так что это и не ошибка вовсе.
Спасибо, Александр, за программатор.
Решил попробовать USB программатор на FT2232. Купил готовый модуль FTDI с чипом FT2232H. AVReAl находит устройство, но работать с ним отказывается. пишет что не совпадают параметры. Отличие состоит только в последней букве чипа FT2232H (программа поддерживает FT2232C). Помимо всего, компания FTDI не рекомендует в новых разработках использовать чипы FT2232C. Как я полагаю, Вы проверяете только FT_DEVICE_2232C на возможность использования. Может просто надо добавить возможность использования FT_DEVICE_2232H?!
Заранее спасибо.
Ну кроме FT2232C есть ещё FT2232L, FT2232D. Библиотека FTD2XX для всех трёх выдаёт тот же код FT_DEVICE_2232C.
FT2232H отличается числом сигналов в группе CBUS, возможностью работать в MPSSE в обеих каналах A и B, возможностью работать на более высоких частотах SPI (хотя после сброса она устанавливает ту же базвую частоту, что и FT2232C/L/D).
Поддержку FT2232H и FT4232H я добавил как раз на прошлой неделе, но хотел ещё потестировать и добавить (для всех адаптеров) ещё одну возможность, поэтому на сайте версия 1.28r1 появится немного позже, а бета-версию для Win вышлю сегодня на указанный в комментарии адрес.
Спасибо, Александр! Получил бета версию. Буду пробовать. Результат обязательно сообщу.
Александр, спасибо за отличный программатор, низкий поклон человеку создавшему AVReAl. Три года назад спаял для LPT и использую по сей день. Пару раз сжигал буферную ис, когда источник был Г..
Однако время LPT ограничено, а в ноутбуке его вообще нет. Нет ли варианта AVReAlа для USB? А если есть, то где можно взять инфу?
Заранее спасибо.
Я чего-то не понимаю.
На этой же страничке, к которой комментарий – выше написано “и с USB-адаптерами на микросхеме FT2232”.
А немного ниже – “Для более детальной информации посетите эту страницу” и линк на описания, там уже и про адаптеры.
Под WP я ещё не всё перетащил.
На базе какой схемы можно собрать программатор?
Как-то даже тяжело ответить…
На базе любой из указанных + любой из тех, на которые есть ссылки на страничке адаптеры. Зависит от интерфейса подключения (LPT, USB) и имеющихся ресурсов.
Спасибки. Я вот какраз и искал эту ссылку – на адаптеры. Никак не мог найти. 🙂
Выше, перед списком поддерживаемых программатором микроконтроллеров, ссылка “Для более детальной информации…”, а уже там вверху линки “Адапетры”, “FAQ”, …
Здравствуйте. Александр, очень надо (надеюсь, не только мне) поддержка AT89S51.
Это дело “частично есть”.
Частично – так как оно срочно писалось по спецзаказу конкретного человека отдельной программой, до интеграции в основню руки так и не дошли.
AT89S51, AT89S52. Только LPT (кажется, уже с возможностью задать конфигурацию ножек), только Win32 + dlportio.
Если устроит – могу порыться по архивам, проверить и выложить ещё тот exe.
Ну и опять встанет в очередь, раз вопрос поднялся.
(эпиграф отсюда)
Спасибо, если можно, отправьте exe-шник с поддержкой AT89S51
Хорошо, на днях найду, проверю и, если всё в порядке и раз уж до него долезу – выложу тут на сайте.
p.s. почту светить не обязательно, она набиралась при вводе комментария и я её вижу.
Выложил на страничке download.
Огромнейшее спасибо, Александр!!!!!!!
Александр, не планируете ли вы дополнить возможности программатора высоковольтным последовательным программированием, конечно при условии доработки адаптера. Спасибо.
Давайте я сначала доделаю таки обещанный год назад режим Sync Bit-Bang для FT232R и FT2232, а потом отвечу 🙂
Интерфейс ВВ-программирования отличается от “низковольтного”, аппаратный MPSSE у FT2232 тут не помощник, а LPT всё-таки уходит и только ради него не очень и хочется возиться.
У меня в ВВ-программировании заинтересованности до сих пор не было, потому и не делалось до сих пор. Будет время – придвинусь плотнее. Собствено, и SBB так тянется потому, что меня вполне устраивает MPSSE на FT2232. Нет потребности ни в -o0, реализуемом через SBB, ни в очень низких частотах программирования, которые невозможны через MPSSE.
Спасибо за ответ. А нет ли у Вас ссылки на описание алгоритма ВВ последовательного программирования. Для своих целей я и сам бы смог написать программатор, в былые годы так и делал для последовательных и параллельных PIC-ов, AT89C4051.
Пробовал искать описание алгоритма ВВ последовательного программирования, но не нашел. Параллельное программирование нашел.
Этот тип программирования интересует с целью использования ножки RESET в своих конструкциях в качестве ноги I/O. При использовании 8-ногих AVR лишняя нога никогда не мешает.
Так в документации на соответствующие микроконтроллеры, раздел Memory Programming.
Упс, не просмотрел всю страничку… Пардон за флуд
Доброго времени суток!
Александр, а скажите пожалуйста – как скоро будет поддержака XMEGA? 🙂
С уважением,
Олег
Подскажите пожалуйста, программа в avreal написана в таком вот виде
c:\prog\avreal32.exe -p0378 -as +atmega88 -o1Mhz -e -w -c Alf1.hex -v -fckdiv=OFF -l2
Нам нужно отразить те же команды в Flash Pro 400.
Что нужно выбрать из списка?
CKSEL(0)=1 CKSEL(1)=1
CKSEL(2)=1 CKSEL(3)=1
SUT(0)=1 SUT(1)=1
CKOUT=1 CKDIV8=1
BODLEVEL0=1 BODLEVEL1=1
BODLEVEL2=1 EESAVE=1
WDT ENABLE SPIEN=1
DWEN=1 RSTDISBL=1
BOOTRST=1 BOOTSZ0=1
BOOTSZ1=1 CAL BYTE ENABLE
Что из вышеперечисленного нужно выбрать, чтобы все соответствовало строчке в avreal?
Спасибо
-fckdiv=OFF, по-видимому, соответствует CKDIV8=1
А вот всё остальное… В avreal отсутствие fuse в ключе -f означает “оставить то значение, которое сейчас запрограммировано в кристалл”. Так что всё зависит от того, что было записано ранее.
Добрый день!
Рацпредложение: выделить пожирнее и поярче ссылку на документацию, очень долго искал ее (у меня в браузере она почти одного цвета с цветом обычного текста)
Сделал поярче. Не скажу, что мне сильно нравится, но “пусть временно побудет так” ™
Добрый день.
AVReal использую уже давно. Очень удобная программа. Спасибо.
Вопрос: а будут ли поддерживаться контроллеры серии Xmega? Если будут, то как скоро?
С уважением,
Андрей
Обещать ничего не могу. В неких общих планах это есть, даже макетка с xmega заведена, но времени и на более простые доработки не хватает.
Приємно вражений українською сторінкою. респект, як кажуть.
Досі користувався LPT версією Альтеровським байтбластером, все класно працює.
Тепер вимушений перейти на ЮСБ, відповідно схема буде на FT2232.
чи правильно буде в командній строчці лише поміняти -ab на -aft2232 ?
Якщо вона без зовнішньої EEPROM – тобто без змін VID/PID/description, і якщо вона без зовнішніх буферів, які треба відкривати – приблизно як на схемі в описі адаптерів, то досить. Ключ -p взагалі прибрати.
Якщо якісь зміни – читайте опис, там все є.
дякую за якісний софт, зробив ЮСБ програматор все працює.
А как можно скачать программу и описание?
А там в тексте “посетите эту страницу” – линк http://real.kiev.ua/old/avreal/ru
Программа в архивах, описание на страничке, пока как копия старого сайта.
Надо почётче выделить линки? Гляну стили, подправлю.
Дякую! Сьогодні розібрався як шити. Дуже здивувала різниця в швидкості порівняно з кодє-віжном! Використовую STK-200 best майже по схемі з lancos. CVAVR чомусь не вдається шити EEPROM при мінімальних Delay Multiplayer, його доводиться збільшувати і в мене виходить, що avreal шиє у 10 разів швидше!
Нє, усе правильно зашивається. Розширення не має значення. .eep файл теж прекрасно зашився. використовую програматор USB FT2232. Дуже вдячний за такий швидкий та надійний спосіб програмування. Використовую давно, починав з LPT.
Руслан Підопригора. Франкфурт-на-Майні.
Доброго дня, пане Олександре. Був приємно здивований українською сторінкою. Насправді нас, українців іще багато, що радує. Хотів подивитися, чому не підтримується запис файлу EEPROM з розширенням .eep, щр генерує CVAVR, і – бац…сюрприз!
І це прекрасно. То як, доведеться перейменовувати, чи існує інший спосіб (наприклад, підтримка .eep файлів). Вдячний за відповідь. Руслан Підопригора. Франкфурт-на-Майні.
А що там за формат файлу у CVAVR?
Бо ті скрипти для avr-gcc, що я використовую, теж для EEPROM генерують файли з розширенням .eep, але всередині HEX і все програмується.
Пришліть мені на пошту зразок з відомим вмістом EEPROM
Додано: поки писав, вже все з’ясувалося 🙂