Автор Тема: Программатор на FT232R не прошивает Atmega8  (Прочитано 11917 раз)

0 Пользователей и 1 Гость просматривают эту тему.

iyzef

  • .
  • *
  • Сообщений: 27
(Нет темы)
« Ответ #45 : 23 Октябрь 2010, 09:51:21 »
да-а смуты я тут навел основательно! Прогер в итоге рульный, шьет быстро.Для начинаюших- в CUI галку на display windyws не ставить! выбираем программатор, чип, в командную строку пишем   -P ft0 ,  - erase-стереть чип, - установить фьюзы-прописать,-загрузить flash, - erase-write,   - exit  Всё!

D-huan

  • .
  • *
  • Сообщений: 58
(Нет темы)
« Ответ #46 : 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

  • Администратор
  • .
  • *****
  • Сообщений: 4757
(Нет темы)
« Ответ #47 : 09 Май 2013, 10:04:34 »
Вот  здесь положил архив который я постоянно использую.
while(1||!1);
зберігай спокій

D-huan

  • .
  • *
  • Сообщений: 58
(Нет темы)
« Ответ #48 : 09 Май 2013, 12:27:01 »
Цитата: "slav0n"
Вот  здесь положил архив который я постоянно использую.
Большое спасибо! Хорошая ссылка, но по прежнему не работает.... Все тоже самое. Не знаю что и думать? У меня  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), не проверил, у него была на печатке нанесена разметка где какой вывод, я не проверил. В общем работает, будем продолжать. Теперь еще фузы бы научиться дудкой ставить. Но все получится!

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 4757
Re: Программатор на FT232R не прошивает Atmega8
« Ответ #49 : 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
while(1||!1);
зберігай спокій