Помогите с avrdude

firstzee
Offline
Зарегистрирован: 21.05.2012

Пытаюсь подсунуть arduino mega свой hex файл.

Выполняю команду:

avrdude Путь\avrdude.conf -v -v -v -v -patmega2560 -cstk500v2 -P\\.\COM3 -b115200 -D -Uflash:w:Путь\Мой.hex:i

При это выдаеться ошибка:

 stk500v2_ReceiveMessage(): timeout

Выяснилось:

1. Ошибка связана с тем, что stk500v2 не может подключится к COM3

2. Ту же самую команду выполняет успешно из arduino c COM3.

С чем это связанно и как это решить?

 

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

 

 1. Закрыть serial monitor в ArduinoIDE, он же "захватывает порт". Если не помоголо, то

2. Закрыть все экземпляры ArduinoIDE (иногда глючит, захватывает и не отпускает)

3. Если не помогло - рубутим комп (иногда настолько жестко "захватывает"), 

4. Если не помогло - читаем доки к avrdude, есть ли у нее параметры для того что-бы "ребутнуть" плату перед заливкой. Управление DTR Линией.

 

Кстати попробуйте уточнить - не может подключится к COM3, или "Не видит там бутлоадера". Если открыть Serial Monitor в ArduinoIDE и дернуть дудтку (вообщем сделать 100% невозможность отрытия порта), ошибка такая же? 

Ну и, на крайний случай, можно просто подглядеть какже ArduinoIDE дудку дергает. В старых версиях IDE для этого было достаточно, шифт зажать, в момент нажатия на кнопку компиляции, в новой осталься только более "сложный путь":

1. Закрываем ArduinoIDE

2. В файлик preferences.txt

добавляем строку  (для показа процесса заливки)

upload.verbose=true

и строку, если хотим (для показа процесса компялиции)

build.verbose=true

3. Запускаем ArduinoIDE

Теперь в окне лога, она будет показывать весь процесс. Какие утилиты она дергает, с какими параметрами. Последний "дерг" - будет желаемый вами "правильный" вызов дудки.

 

 

 

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

 Как минмум виже отличие в том что

у вас "avrdude Путь\avrdude.conf..."

у у меня вызывает "avrdude -CПуть\avrdude.conf..." 

Без пробела межу -C и путь. То есть вот так у меня выглядит для в логе строка для заливки

D:\Program Files (x86)\AVR\arduino-1.0\hardware/tools/avr/bin/avrdude -CD:\Program Files (x86)\AVR\arduino-1.0\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega1280 -carduino -P\\.\COM3 -b57600 -D -Uflash:w:C:\Users\TestUSER\AppData\Local\Temp\build2396384922914183652.tmp\sketch_may21a.cpp.hex:i

А вот так она выполнилась из cmd.exe (пришлось в кавычка обернуть длинные пути )

"D:\Program Files (x86)\AVR\arduino-1.0\hardware/tools/avr/bin/avrdude" -C"D:\Program Files (x86)\AVR\arduino-1.0\hardware/tools/avr/etc/avrdude.conf" -v -v -v -v -patmega1280 -carduino -P\\.\COM3 -b57600 -D -Uflash:w:C:\Users\TestUSER\AppData\Local\Temp\build2396384922914183652.tmp\sketch_may21a.cpp.hex:i