Не заливаются скетчи через самодельный USB-UART на FT232RL.

radist_morze
Offline
Зарегистрирован: 26.05.2013

Дорого времени суток! Недавно собрал Ардуину своими руками, на Атмеге 168Р и USB-UART на FT232RL по схеме DI-HALT, на работе программировал при помощи параллельного прогрмматора DAPA все ок, принеся домой (ну нет у меня ЛПТ порта на маме) попробовал шить через IDE выбрал AVR ISP. Вот что мне выдает лог:

Размер скетча в двоичном коде: 1 084 байт (из 16 384 байт максимум)
C:\Program Files\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega168p -cstk500v1 -P\\.\COM3 -Uflash:w:C:\DOCUME~1\SOmik\LOCALS~1\Temp\build3310136981967476997.tmp\test1.cpp.hex:i

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files\Arduino\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM3
         Using Programmer              : stk500v1
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.

При подключении к ЮСБ система видит устройство, поставил свежий драйвер от FTDI, при замыкании Rx на Tx пинцетом в мониторе все что отправишь то и получаешь. На работе делал пример с использованием ИК пульта, все когды кнопок нормально слал в комп через этот же порт... Подскажите куда копать.

maksim
Offline
Зарегистрирован: 12.02.2012

Про зазрузчик (бутлоудер ,bootloader) когда нибудь слышали?

leshak
Offline
Зарегистрирован: 29.09.2011

>попробовал шить через IDE выбрал AVR ISP

А не нужно было выбирать.

В чем суть Arduino? В том что при наличии бутлоадера в камне - программатор не требуется (а AvrISP - это програматор).

Вообщем вам нужно выбирать просто Upload, а не Upload using programming.

Естественно, перед этим, в камень должен бутлоадер соотвествующий быть залит (поищите ветки на форуме), вот тут вам без програматора (или другой ардуины) - не обойтись (правда это достаточно сделать один раз, это не требуется при каждой заливке скетча).

Ну и, опять-таки, reset не забывать нажимать, если DTR делали простейщую схему без авторесета (вообщем пошерстите форум на предмет самодельных ардуин).

radist_morze
Offline
Зарегистрирован: 26.05.2013

Слышал, мало того прошивал ручками через параллельный порт при помощи DAPA, в ветке http://arduino.ru/forum/programmirovanie/oshibka-podpisi-atmega168pa-au.

Т.е. при залитии скетча выбор программатора не важен? Еще лучше. Но вопрос остался на МК не удается залить скетч, СОМ-порт выбран, конвертер USB-UART работает, куда копать. Почему МК не отвечает? Два-три запроса в его сторону идут (подмаргивает светодиод передачи).

radist_morze
Offline
Зарегистрирован: 26.05.2013

leshak пишет:

>попробовал шить через IDE выбрал AVR ISP

А не нужно было выбирать.

В чем суть Arduino? В том что при наличии бутлоадера в камне - программатор не требуется (а AvrISP - это програматор).

Вообщем вам нужно выбирать просто Upload, а не Upload using programming.

Естественно, перед этим, в камень должен бутлоадер соотвествующий быть залит (поищите ветки на форуме), вот тут вам без програматора (или другой ардуины) - не обойтись (правда это достаточно сделать один раз, это не требуется при каждой заливке скетча).

Ну и, опять-таки, reset не забывать нажимать, если DTR делали простейщую схему без авторесета (вообщем пошерстите форум на предмет самодельных ардуин).

Вот про авторесет наверно правильное направление. Конвертер собран на отдельной печатке, ардуина на макетной плате и идут от FT232RL всего 4 провода + - Tx Rx. Хоть кнопка ресета и стоит на аруине. Пытался ее давить при загрузке, не помогло. Кстати про кнопку ресет говорилось только,  что при нажатии происходит перезагрузка и скетч выполняется сначала, и ни чего что ее надо жать при загрузке скетча.

maksim
Offline
Зарегистрирован: 12.02.2012

Выбор программатора конечно важен. Если бут прошит и с ресетом все впорядке, то при нажатии именно на Upload проблем быть недолжно.

maksim
Offline
Зарегистрирован: 12.02.2012

radist_morze пишет:

 Кстати про кнопку ресет говорилось только,  что при нажатии происходит перезагрузка и скетч выполняется сначала, и ни чего что ее надо жать при загрузке скетча.

Так ее и не надо жать если у вас нормальная дуина и ресет подключен к FTDI.

radist_morze пишет:

Пытался ее давить при загрузке, не помогло.

Нажимаете Upload, зажимаете ресет и держите пока не появится белая надпись с размером файла, как только появидась отпускаете ресет.

leshak
Offline
Зарегистрирован: 29.09.2011

maksim пишет:

radist_morze пишет:

 Кстати про кнопку ресет говорилось только,  что при нажатии происходит перезагрузка и скетч выполняется сначала, и ни чего что ее надо жать при загрузке скетча.

Так ее и не надо жать если у вас нормальная дуина и ресет подключен к FTDI.

Выше писалось что имеется + - Tx RX - никаких DTR и т.п. Значит - ресет - таки нужно нажимать. Важно нажимать его именно в "момент загрузки", а не компиляции. Нужно угадать момент именно перед "Два-три запроса в его сторону идут"

 

 

maksim пишет:

Выбор программатора конечно важен. 

Если мы льем через бутлоадер (обычный upload), то какая разница какой програматор выбран? Мы же не используем его. А вот выбор правильной целевой платы (и правильного порта) - важен.

radist_morze пишет:

 что при нажатии происходит перезагрузка и скетч выполняется сначала

Неверно. При ее нажатии происходит:

1. Перезагрузка
2. Запуск бутлоадера
3. Запуск скетча

Вот бутлоадер и должен "отвечать, принимать новый скети и перепрошивать камень". Естественно бутлоадер для этого уже должен быть в камне  (и максим и я вам говорили про бутлоадер, но вы везде обошли стороной вопрос - а залили ли вы его?).

Бутлоадер ждет новый скетч от компа - всего пару секунд (если ничего не пришло - передает управление скетчу). Поэтому важно что-бы ресет (и запуск бутлоадера) произошел как раз перед тем как комп начнет попытки залить скетч.

maksim
Offline
Зарегистрирован: 12.02.2012

leshak пишет:

maksim пишет:

radist_morze пишет:

 Кстати про кнопку ресет говорилось только,  что при нажатии происходит перезагрузка и скетч выполняется сначала, и ни чего что ее надо жать при загрузке скетча.

Так ее и не надо жать если у вас нормальная дуина и ресет подключен к FTDI.

Выше писалось что имеется + - Tx RX - никаких DTR и т.п. Значит - ресет - таки нужно нажимать. Важно нажимать его именно в "момент загрузки", а не компиляции. Нужно угадать момент именно перед "Два-три запроса в его сторону идут"

Я то вижу что было написано (+ - Tx RX) и не говорю что в случае ТС ее не нужно жать, а вот ТС фактически спрашивает "Почему про кнопку ресет ничего не говорилось что ее надо жать при загрузке скетча?" Ответ выше.

leshak
Offline
Зарегистрирован: 29.09.2011

maksim пишет:

Я то вижу что было написано (+ - Tx RX) и не говорю что в случае ТС ее не нужно жать, а вот ТС фактически спрашивает "Почему про кнопку ресет ничего не говорилось что ее надо жать при загрузке скетча?" Ответ выше.

Ну там он не указал "где не говорилось". Наверное в ветке на которую ссылся ТС. Но там ветка про заливку бутлоадера програматором - поэтому естестественно там про ресет ничего не слышно (так как там он не нужен).

Вообщем, опять мы друг-друга поняли :)  Разногласия только в "прочтении топикстартера" ;)

Попробую, для ТС краткий конспект дать

1. Заливка бутлоадера и скетча - разные процессы
2. Бутлоадер можно заливать только через внешний програматор (кто будет "внешним" - тут уже много вариантов)
3. Скетч можно заливать двумя способами: через внешний программатор или через бутлоадер (по Serial, обычный Upload)
4. При заливке скетча или бутлоадера "через внешний" - важны фьюзы. reset - не нужен
5. При заливке скетча "через бутлоадер" (обычный Upload) - фьюзы - не важны. reset обязателен. Либо ручной через кнопку, либо должен быть реализован "авторесет"
6. Для заливки скетча "через бутлоадер" - бутлоадер должен быть предварительно прошит в камень (програматором).
7. Во всех вариантах заливки - важно правильно выбрать целевую плату (целевой камень)
8. "Burn Bootloader"=="залить бутлоадер"
9. Залитый бутлоадер должен соотвествовать камню, частоте на которой камень работает и наличию или отсуствию кварца.