Arduino via USBASP

Nov 15, 2014 10:35

Заранее прошу не разводить ардуиносрача, вопрос (точнее, ответ на него) интересен сам по себе. С вопросами про Ардуино надо тут иногда поосторожнее :)

Из-за 3,3В-периферии решил сделать "свою ардуину без стабилизатора питания и кристалла". Короче, не особо долго думая, голый чип на бреадбоарде без ничего, с питанием от внешних 3,3В.

Пытаюсь ( Read more... )

Вопрос, arduino, Дзен

Leave a comment

Comments 21

nepeanois November 15 2014, 22:59:12 UTC
а зачем бутлоадер перепрошивать? он что - трется? тогда фьюзы смотреть надо. и куда ресет-вектор показывает - может не на бутлоадер а сразу на код?

Reply

aterentiev November 16 2014, 18:10:10 UTC
незачем, но так я смог воспроизвести проблему - в самый первый раз после прошивки бутлоадера я могу прошить и программу, потом - нет, отсюда предположение о нестирании flash

Reply

nepeanois November 16 2014, 18:39:40 UTC
очевидно бутлоадер просто не получает управления при прошитом коде.

смотреть фьюз BOOTRST

Reply

aterentiev November 16 2014, 21:00:27 UTC
неочевидно никак, так как бутлоадер в процессе прошивания не участвует...

Reply


lorf November 16 2014, 04:09:08 UTC
Возможно, слишком большой baud rate бутлоадера для internal oscillator. Для Arduino без кристалла я собирал optiboot с разными скоростями и максимальная скорость, которой я добился от бутлоадера - 38400, испытывал только на одной atmega. В результате остановился на 9600 для надежности.

Попробуйте перекомпилить бутлоадер с меньшим baud rate.

Reply

aterentiev November 16 2014, 18:10:52 UTC
но я шью же не через бутлоадер!

Reply


the_komp November 16 2014, 17:15:20 UTC
Есть разные версии бутлодера, которые работают на разных скоростях.

The current bootloaders (i.e. the ones included in Arduino 0009) are almost identical for the Diecimila and NG (with ATmega168). They both run at 19200 baud and take up 2 KB of flash memory on the ATmega168. Some ancient versions of the bootloader run at 9600 baud.

Reply

aterentiev November 16 2014, 18:08:42 UTC
так ведь а) работают же они один раз... и б) я шью не через бутлоадер!

Reply

the_komp November 16 2014, 18:13:00 UTC
А когда ты код через дуинософт заливаешь, он не через бутлоадер идет? Если бутлоадер работает на 9600, а ты ему на 57600 всучить программу пытаешься.

Reply

aterentiev November 16 2014, 18:15:21 UTC
нет
а пытаюсь в boards.тхт прописать прошивку через usbasp, см. сам пост
проблема в том, что оно работает, но только один раз

Reply


ext_2084420 November 16 2014, 20:16:37 UTC
Хоть с ардуиной посредственно не работаю, но сталкивался и, как раз с подобной проблемой. Проверьте линии UART'a, там одних Tx и Rx не достаточно, используется ещё одна дополнительная линия DTR для перезагрузки контроллера, если то же, как в своё время я не учли.
Дело в том, что при прошивки чистого контроллера, только с одним бутлодером, он ждёт прошивки по последовательному порту с момента подачи питания, а если в памяти что-то есть, то ожидает прошивки всего пару секунд. Среда перед прошивкой аппаратно перезагружает контроллер.

Reply

aterentiev November 16 2014, 21:04:12 UTC
наверное, пост из разряда tl;nr...
... учитывая, что до сих пор никто из ответивших не обратил внимания на то, что я прошиваю контроллер через ISP, a не через бутлоадер
эх...

Reply

ext_2084420 November 16 2014, 21:26:09 UTC
Тогда извиняюсь.
Посреди ночи суть полностью не разглядел.

Reply

aterentiev November 17 2014, 07:48:46 UTC
Извиняться не надо. Я просто удивился сперва, что все как один одно и то же советуют :) Потом понял, что попал как всегда в мою стандартную ловушку - большинством людей (и я сам не исключение) пост (емайл, письмо) длиной больше 5 строк читается "по диагонали" с поиском ключевых слов, а не читая предложения...

Reply


nepeanois November 19 2014, 22:16:02 UTC
а какая версия ардуинософта? что еще интереснее - какая версия avrdude?

Reply


Leave a comment

Up