PrimussTh

Мастерская и лаборатория => Я не волшебник, я только учусь... => Тема начата: iyzef от 21 Сентябрь 2010, 00:01:51

Название: Программатор на FT232R не прошивает Atmega8
Отправлено: iyzef от 21 Сентябрь 2010, 00:01:51
собрал прогер на FT232R  http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html#more-268  в статье скачал avrdude и GUI . не могу (не умею т.к. далеко не программист) прошить мегу8 , не получается в строку flash вставить свой hex. Разьясните простым языком чего куда вставлять в GUI-е.Железо рабочее -мегу видит-читает.
Название: Программатор на FT232R не прошивает
Отправлено: slav0n от 21 Сентябрь 2010, 08:33:47
Цитата: "iyzef"
не получается в строку flash вставить свой hex.
Возможно в пути к твоему хексу есть русские слова?  Сделай путь по-короче, без кириллицы и пробелов.
Название:
Отправлено: iyzef от 21 Сентябрь 2010, 20:33:00
выбираю из папок ,получается: C:FTBBm8d12n.hex   как видите русского и пробелов нет, что то тут не так , может в ручную набрать? вот только что.
Название:
Отправлено: dansat от 22 Сентябрь 2010, 19:47:50
В первом сообщении, последний скрин с графической оболочкой GUI. Папку выбрать с прошивкой (где окно с Flash),  контроллер ATMega8, кнопка записи "Write".
Фьюзы отдельно потом можно прошить, поставить на hFuse - FF,  lFuse - CF, eFuse - FF.
Название:
Отправлено: slav0n от 23 Сентябрь 2010, 13:20:47
Проблем с записью хекса не заметил. Единственное - на новой меге возможно прийдется замедлить скорость порта, записав в окно Comand Line Option: -P ft0 -B 4800 или -P ft0 -B 9600.
Название:
Отправлено: iyzef от 24 Сентябрь 2010, 02:15:03
вот елы палы! с вашими дудкой и гуем заработало все. Вот тока видимо накасячил где  то (мож с фузами) .Помогите разобраться. ЗЫ  - фузы 2F, DF   Может я мегу заблокировал или еще чего.
Название:
Отправлено: slav0n от 24 Сентябрь 2010, 08:12:20
Цитата: "iyzef"
фузы 2F, DF   Может я мегу заблокировал или еще чего.
Если поставил hFuse 2F, то всё, только параллельный программатор.
Название:
Отправлено: iyzef от 24 Сентябрь 2010, 09:37:25
как же так, фьюзы по калькулятору такие получились (не на одном считал)если только автор фьюзы инверсные дал.А на этом прогере ее никак восстановить?Других средств нет, только покупать новую мегу.
Название:
Отправлено: dansat от 24 Сентябрь 2010, 11:33:01
Тогда правильно выставил, если как у автора: lFuse - 2F, hFuse -DF
Под кварц  8МГц -16МГц, должна работать. Что за схема?
Название:
Отправлено: slav0n от 24 Сентябрь 2010, 20:50:58
Цитата: "iyzef"
как же так, фьюзы по калькулятору такие получились (не на одном считал)если только автор фьюзы инверсные дал
Фузы правильные. Скорее всего в гуе ты перепутал местами  hFuse и lFuse. Как следствие был запрограммирован (сброшен в ноль) фуз  RSTDISBL. Теперь мега не воспринимает сигнал Reset и не видится программатором. Внешний генератор не поможет. Нужно пробовать восстановить фузы параллельным программатором.
Название:
Отправлено: iyzef от 24 Сентябрь 2010, 23:40:44
Цитировать
Фузы правильные. Скорее всего в гуе ты перепутал местами hFuse и lFuse. Как следствие был запрограммирован (сброшен в ноль) фуз RSTDISBL. Теперь мега не воспринимает сигнал Reset и не видится программатором. Внешний генератор не поможет. Нужно пробовать восстановить фузы параллельным программатором.
Млииин как ты прав- точьно перепутал ! и после этого мега потерялась! видимо я совсем балбес. Теперь напрягает другое- слепил прогер для флешек 24 серии- засада-нечем мегу прошить, слепил AVR- теперь вот и паралельный нуно (шо?! тоже лепить?) товарисчь один предлогает услуги по прошивке всего-ничего за 500руб(!) да я уж лучче на эти деньги 6шт мег куплю. А вот сцыла на прогер для флеш http://www.kovlev.ru/tools.html  У Ковлева "новый программатор"
Название:
Отправлено: slav0n от 25 Сентябрь 2010, 10:33:38
Вот нашел еще одну оболочку, нормально работающую с сабжем.
 Настроек не требует. Выбрал чип, и всё!
Название: Фузы для примуса.
Отправлено: slav0n от 26 Сентябрь 2010, 12:15:31
Чтоб не путаться выкладываю готовые фузы

primuss3-8
hFuse - C7
lFuse - FF

primuss3-168
hFuse - D6
lFuse - C6
eFuse - 00
Lock Bit - 0C

primuss3-spectrum
hFuse - C0
lFuse - 9F
Lock Bit - 0C
Название:
Отправлено: slav0n от 09 Октябрь 2010, 13:26:31
Вот еще один вариант подобного программатора. (http://reddylab.eu/rclab/)
Название:
Отправлено: iyzef от 16 Октябрь 2010, 02:29:34
млин, караул! Ни фига ни шрехаю по буржуйски.Мега8 моя оказывается жива, прописал фьюзы (правильно) все! фьюзы читаются! А вот с самой прошивкой т-у-п-л-ю вроде прописывается, но комп устройство не видит.Еще одну хрень слепил на тине - та жа песня.Дайте пожалста подробную инстукцию по пользованию гуём, с макушкой я разобрался ,с фьюзами тоже а вот что в графе flesh  :du_ma_et:  ну и все финишные операции.
Название:
Отправлено: dansat от 16 Октябрь 2010, 08:09:19
Read - чтение
Write - запись
Verify - проверять
Chip Erase - стереть
В графе flesh - адрес папки, где расположен файл прошивки
Цитата: "iyzef"
Ни фига ни шрехаю по буржуйски.
Перевод более чем на 50 языков (http://translate.google.ru/) :men:
Название:
Отправлено: iyzef от 16 Октябрь 2010, 10:19:35
перевел я давно (слава инету) ,последовательность операций мня озадачила. И в низу стирание чипа-оно нужно? типа стереть сначала а потом шить? мне бы порядок операций (циферками), а так похоже прога рульная, тока у меня чевой-то не прет (видимо "особо одаренный")
Название:
Отправлено: dansat от 16 Октябрь 2010, 11:19:39
Новый можно не стирать, там все чисто.
С включенными ранее LOK-битами в БУ Чипе придется сначала стереть - Erase, иначе никак, можно кнопкой Erase - Write - Verify.
Папку открыть с файлом Flash, записать, потом выставить фьюзы (если изменения нужны) и прошить фьюзы.
Или командной строкой все зашить.
Название:
Отправлено: iyzef от 20 Октябрь 2010, 01:09:25
я вот чего думаю может Lock Bit 3F не канает? откуда он взялся хз, пробовал переписать на 2F-переписывается(читается) а када жму Erase опять вылазит 3F. По фьюзам хоть калькулятор есть ,а как защиту отключить для меги 8 (и для тины2313).Какой день бьюсь,устал уже.
Название:
Отправлено: dansat от 20 Октябрь 2010, 01:17:58
Цитата: "iyzef"
я вот чего думаю может Lock Bit 3F не канает? откуда он взялся хз, пробовал переписать на 2F-переписывается(читается) а када жму Erase опять вылазит 3F.
Lock Bit - 0C
После прошивки лок-битов считываться нормально не будет, может выскакивать что угодно. Защита отключается только полным стиранием контроллера.
Название:
Отправлено: iyzef от 20 Октябрь 2010, 01:27:07
дык жму Erase потом читаю фьюзы-стоят как стояли и люк тоже.Как его стереть ? может сначала как говоришь люк в ОС переписать?
Название:
Отправлено: slav0n от 20 Октябрь 2010, 09:46:32
3F это и есть - защита отключена. Читай документацию.
Название:
Отправлено: dansat от 20 Октябрь 2010, 10:02:09
Цитата: "iyzef"
дык жму Erase потом читаю фьюзы-стоят как стояли и люк тоже.Как его стереть ? может сначала как говоришь люк в ОС переписать?
Так стер все  :-): , дальше во Flash-память зашиваешь свою прошивку, дальше Fuse-биты и Lock-биты (если нужны) или за раз Erase - Write - Verify (с включенными Lock проверка не прокатит), пробуешь в схеме работу.
Атмега8 и Тини2313 для чего прошивались?
Тема похожая (http://forum.primuss3.com/viewtopic.php?f=14&t=37&start=0)
Название:
Отправлено: dansat от 20 Октябрь 2010, 14:06:41
Последнее китайское пояснение, подобных вопросов остаться не должно.  :-)
В AVR 6 ячеек Lock-битов - LB1, LB2, BLB01, BLB02, BLB11, BLB12. При программировании выбраных ячеек они из начального сброшенного состояния "1" программируются в "0". При стирании снова сбрасываются в "1".
В AVR интеловский порядок байтов little-endian, байты хранятся в памяти  от младшего к старшему, т.е. задом на перед, как у персональных компов с x86-процами.
Смотрим в Datasheet на ATmega8, раздел Memory Programming,   Program And Data Memory Lock Bits
В таблице все подробно


Цитата: "iyzef"
пробовал переписать на 2F-переписывается(читается) а када жму Erase опять вылазит 3F.
Что происходит.
Сам записываешь в Hex формате 2F, что в двоичном будет 101111 - одна ячейка программируется в "0"
Потом жмешь Erase и сам все Lock-биты стираешь (а при стирании все сбрасывается в единицы), прогер выдает 3F, что будет  111111 - все стерто.
Название:
Отправлено: iyzef от 20 Октябрь 2010, 20:48:02
Так,для начала- пытаюсь прошить этим:http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html   вот это: первый для 24схх и 93схх ,второй только для 24с сериии,хексы из статей . Дудка от DI HALT гуй у вас скатал, уж подумываю что они не стыкуются (хотя все остальное то работает). С люком все подробно растолковали-спасибо.
Название:
Отправлено: slav0n от 20 Октябрь 2010, 21:01:33
Гуй от LOPEZ не требует дудки. Он уже содержит её в инсталяции. И если он при Erase - Write - Verify не выкидывает окно с ошибкой, значит всё прошилось правильно.
 А какие там ты хексы и куда льешь, это уже совсем другая тема.
Название:
Отправлено: iyzef от 20 Октябрь 2010, 21:55:55
в первом нет моего прогера ,пользую второй, и назначения rst,mosi,mico совпадают и хекс ставится.
Название:
Отправлено: slav0n от 20 Октябрь 2010, 22:05:40
ну если хекс ставится, то с программатором нет проблем.
Название:
Отправлено: dansat от 21 Октябрь 2010, 00:01:03
Не все понятно.  :-(
Для этих двух схем контроллеры прошиваются или для других? Фьюзы типа такие должны быть
Код
attiny2313 - Low - 0xDE,  High - 0xDF, Lock Bit - 0xFF
atmega8 - Low - 0x7D,  High - 0xDF,  Lock Bit  - 0xFF  
и не получается зашить?

п.с. исправил на Low - 0x7D
Название:
Отправлено: iyzef от 21 Октябрь 2010, 00:51:46
для меги поставил фузы и люк ,как сказали, вот результат:
Название:
Отправлено: iyzef от 21 Октябрь 2010, 00:57:52
на тине пытался поставить люк FF, вот чего отвечает:
Название:
Отправлено: iyzef от 21 Октябрь 2010, 05:10:50
КАЖИСЬ чёто нашел!наверно хекс надо както по другому подсовывать ,на гуе когда дисплей виндос включаю вот это пишет:            ..хотя строка вроде норм  CFTBBm12n.hex   ..И как с этим бороться?
Название:
Отправлено: slav0n от 21 Октябрь 2010, 07:55:13
Забыл двоеточие после метки тома.
Название:
Отправлено: dansat от 21 Октябрь 2010, 12:57:44
Стоп. Что прошиваем то? Схемы есть, откуда неизвестно, что там выставлять пока тож. Был не совет, вопрос что не шьется. Ввел походу в заблуждение  ..  :-(  Должны быть какие фьюзы по схемам?
Цитата: "iyzef"
для меги поставил фузы и люк ,как сказали, вот результат:
Для atmega8 с такой комбинацией Low - 0xD7 настройка на работу с внешним RC под частоту 3-8МГц,
под кварц до 8МГц фьюзы Low - 0x7D , (0xED, 0xFD)
Название:
Отправлено: iyzef от 21 Октябрь 2010, 22:49:06
счас стоит кварц 6Мгц ,это чего вместо него нужно приделать чтоб прог ее увидел? RC,внешний,-туго соображаю на словах, мне б схемку как это выглядит. А строка флеш вот:
Название:
Отправлено: iyzef от 21 Октябрь 2010, 22:52:18
ведь для того чтоб по новому фьюзы тусовать надо чтоб прог мегу увидел
Название:
Отправлено: dansat от 21 Октябрь 2010, 23:28:37
Цитата: "iyzef"
RC,внешний,-туго соображаю на словах, мне б схемку как это выглядит.
RC -конденсатор на землю, резистор на +питания. Для ДИП корпуса 9 нога, для SMD-корпуса  вывод XTAL1  7нога

Название:
Отправлено: iyzef от 21 Октябрь 2010, 23:48:33
аа,понял- D7 я его перевел на RC генератор потому его с кварцем его не видно. Еще нашел вот какой косяк-прочитал  блокнотом свой хекс который вставляю в графу флеш- а там пусто! закинул хекс на рабочий стол (из архива) и со стола вставил.Теперь прошивается НО какая-то хрень-"цифер" раза в два больше по сравнению с оригиналом.вроде как все умножено на 2.Куда дальше копать  :-( Большое спасибо что помогаете мне разобраться.Похоже осталось добить последний косяк.
Название:
Отправлено: dansat от 22 Октябрь 2010, 00:21:55
Значения RC для этого случая не важны, точная частота не нужна, только завести и перешить фьюзы. Что под рукой поставить С -от 22 pF, R - 4,7кОм...100 кОм
Название:
Отправлено: iyzef от 22 Октябрь 2010, 10:31:03
да да с генератором все понял.А что делать с тем что прошивка умножается на два? сравнивал хексы с файла и с прошитой микры-там еденицы а на микре двойки, потом повторение комбинации 1598(к примеру) на файле три раза в строке а на микре  шесть раз.Или попробовать прошить с RC,потом поставить кварц и перепрошить фьюзы?
Название:
Отправлено: slav0n от 22 Октябрь 2010, 11:01:07
Поробуй прогу от LOPEZ. Или убери в программаторе буфер и напрямую мегу к FT подключи.
Название:
Отправлено: dansat от 22 Октябрь 2010, 11:01:55
Цитата: "iyzef"
Еще нашел вот какой косяк-прочитал  блокнотом свой хекс который вставляю в графу флеш- а там пусто! закинул хекс на рабочий стол (из архива) и со стола вставил.Теперь прошивается НО какая-то хрень-"цифер" раза в два больше по сравнению с оригиналом.вроде как все умножено на 2.Куда дальше копать  :-
Хексы и рекомендованые фьюзы к схемам где можно посмотреть?
Название:
Отправлено: iyzef от 22 Октябрь 2010, 11:28:21
УРА ЗАРАБОТАЛО !!! схема на меге РАБОТАЕТ! хз как тама с хексом умноженным на два,НО прогер флешек читает-пишет !!  slavOn  ,  dansat огромный респект и уважуха!! :co_ol: счас еще буду добивать схемку на тине,думаю там те же грабли.
Название:
Отправлено: dansat от 22 Октябрь 2010, 11:50:15
Поздравляем с почином !  :bra_vo:
С какой оболочкой GUI заработало ?
Название:
Отправлено: iyzef от 22 Октябрь 2010, 13:09:53
мой первый ваще был кривой- на все матюгался ЕССНО с вашим пошло, но и здесь если галку поставить на display windoyws тож на хекс матерится :-)
Название:
Отправлено: iyzef от 23 Октябрь 2010, 09:51:21
да-а смуты я тут навел основательно! Прогер в итоге рульный, шьет быстро.Для начинаюших- в CUI галку на display windyws не ставить! выбираем программатор, чип, в командную строку пишем   -P ft0 ,  - erase-стереть чип, - установить фьюзы-прописать,-загрузить flash, - erase-write,   - exit  Всё!
Название:
Отправлено: D-huan от 09 Май 2013, 09:12:11
Добрый день, Уважаемые! Всех с праздником (С Победой... С Нашей Победой!)!
У меня такая проблема - собрал программатор по такой же схеме, как и автор этого поста (http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html по первой, самой простой схеме с 1 микросхемой FT232RL). Мне нужно запрограммировать ATiny 13. Когда собирал свой примус, то Мегу 8 мне запрограммировал Медведь (прислал вместе с платой), поэтому такой проблемы не было.
Спаял, подключил, установил драйвер FTDI, появились в системе 2 устройства USB Serial Converter и USB Serial Port. Программа FT Prog видит FT232RL, можно менять настройки, все Ок. На выходах программатора Mosi, Miso, SCK, Reset я поставил резисторы 200 Ом (на всякий случай). Подпаял короткие проводки (9 см) от программатора к плате с припаянной ATiny 13 согласно ее даташиту. Запускаю avrdude.exe с командами avrdude.exe -p t13 -c ftbb -P ft0 -B 9600 -U flash:w:1.hex:i выдает ошибку ft245r_program_enable: failed
Пробовал то-же через Sina Prog результат тот-же. Увидел на некоторых схемах что нужен резистор между 1 и 5 ногой ATiny 13 (reset и +) припаял 10 кОм. Питание ATiny 13 идет от USB. Замерил напряжения на выходе программатора в состоянии покоя (при подключенной ATiny 13): mosi, miso, sck - 4.65 V, reset - 5.07 V, Питание - 5,12 В.
В чем проблема, что делаю не так? Прошу помощи!
Название:
Отправлено: slav0n от 09 Май 2013, 10:04:34
Вот  здесь (http://primuss3.com/forum/index.php?topic=81.0) положил архив который я постоянно использую.
Название:
Отправлено: D-huan от 09 Май 2013, 12:27:01
Цитата: "slav0n"
Вот  здесь (http://primuss3.com/forum/index.php?topic=81.0) положил архив который я постоянно использую.
Большое спасибо! Хорошая ссылка, но по прежнему не работает.... Все тоже самое. Не знаю что и думать? У меня  attiny13A-SU. Параметр А это новый тип МК с режимом энергосбережения. Что такое SU я не знаю.  attiny13 новая, с магазина. При попытке прочтения Flash замеряю тестером выходы программатора (осцилографа нет) - напряжения прыгают, т.е. активность есть. Куда копать?
Вот что выдает графическая оболочка AVRDUDE:
Цитировать
avrdude.exe: BitBang OK
avrdude.exe: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude.exe: drain OK

 ft245r:  bitclk 4800 -> ft baud 2400
avrdude.exe: ft245r_program_enable: failed
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.
Урааааа!!! Зараборало!!! Победа! slav0n Большое тебе спасибо! Были перепутаны синхронизация и MOSI. Понадеялся на автора печатки (DI HALT), не проверил, у него была на печатке нанесена разметка где какой вывод, я не проверил. В общем работает, будем продолжать. Теперь еще фузы бы научиться дудкой ставить. Но все получится!
Название: Re: Программатор на FT232R не прошивает Atmega8
Отправлено: slav0n от 09 Май 2013, 15:48:04
Цитата: "D-huan"
Теперь еще фузы бы научиться дудкой ставить
дык не вопрос.
достаточно заглянуть в мейкфайл какого-нить проекта WinAVR
Вот например:
Код

#---------------- Programming Options (avrdude) ----------------

# Programming hardware: alf avr910 avrisp bascom bsd
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ?
# to get a full listing.
#
AVRDUDE_PROGRAMMER = $(MY_AVRDUDE_PROGRAMMER)

# com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT = $(MY_PROGRAMMER_PORT)

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(EPROM).eep
AVRDUDE_WRITE_lfuse = -U lfuse:w:0x9f:m
AVRDUDE_WRITE_hfuse = -U hfuse:w:0xC0:m

#FUSEH = 0xc0
#FUSEL = 0x9f
# Fuse high byte:
# 0xc0 = 1 1 0 0   0 0 0 0 <-- BOOTRST (boot reset vector at 0x1800)
#        ^ ^ ^ ^   ^ ^ ^------ BOOTSZ0
#        | | | |   | +-------- BOOTSZ1
#        | | | |   + --------- EESAVE (preserve EEPROM over chip erase)
#        | | | +-------------- CKOPT (full output swing)
#        | | +---------------- SPIEN (allow serial programming)
#        | +------------------ WDTON (WDT not always on)
#        +-------------------- RSTDISBL (reset pin is enabled)
# Fuse low byte:
# 0x9f = 1 0 0 1   1 1 1 1
#        ^ ^  /   --+--/
#        | |  |       +------- CKSEL 3..0 (external >8M crystal)
#        | |  +--------------- SUT 1..0 (crystal osc, BOD enabled)
#        | +------------------ BODEN (BrownOut Detector enabled)
#        +-------------------- BODLEVEL (2.7V)



# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE_COUNTER = -y

# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_NO_VERIFY = -V

# Increase verbosity level.  Please use this when submitting bug
# reports about avrdude. See <savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_VERBOSE = -v -v

AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
и вот они заветные строки...
Код
AVRDUDE_WRITE_lfuse = -U lfuse:w:0x9f:m
AVRDUDE_WRITE_hfuse = -U hfuse:w:0xC0:m