Через AVDdude не программируется, а через среду Arduino скетч заливается.
- Войдите на сайт для отправки комментариев
Имею китайскую NANO v3 с СН340G, через среду Arduino все программируется, плата живая.
Возникла потребность выдать на ножке меандр 2МГц. Написал на ассемблере кусок, скомпилировал в AVRstudio7, прошивать хочу через USB порт используя возможности загрузчика Arduino - через AVRDude.
Скачал AVRdude 6.3, в AVRstudio7 в External Tools указал AvrDude, в качестве аргумента:
-C "D:\Work\Utilite\avrdude\avrdude.conf" -p atmega328p -c arduino -P COM15 57600 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex:i"
Компорт и скорость, как в среде Ардуино. При заливке чуть мигает Rx, Tx, затем через несколько секунд появляется сообщение:
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 1 of 10: not in sync: resp=0x67
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 2 of 10: not in sync: resp=0x67
В ардуинке остается старый скетч, вижу по миганию светодиода раз в секунду (из скетча). Перешиваю скетч через среду Ардуино - все нормально. Т.Е плата живая, порт работает, а через AvrDUDE не шьется.
В чем может быть проблема?
а, так - -C D:\Work\Utilite\avrdude\avrdude.conf -p atmega328p -c arduino -P COM15 57600 -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:i
Убрал кавычки, всё то же самое. Без изменений.
Попробуйте использовать ту версию Avrdude, которая в Arduino IDE.
Находится тут: \arduino\hardware\tools\avr\bin\avrdude.exe
Конфиг файл: \arduino\hardware\tools\avr\etc\avrdude.conf
-C "D:\Work\Utilite\avrdude\avrdude.conf" -p atmega328p -c arduino -P COM15 57600 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex:i"
Перед указанием скорости нужно ключ -b поставить.
Если avrdude.exe и avrdude.conf лежат в одной папке, попробуй так:
Command: D:\Work\Utilite\avrdude\avrdude.exe
Arguments: -c arduino -P COM15 -b 57600 -p$(avrdevce) -U flash:w:$(ProjectDir)Debug\$(ItemFileName).hex:a -q
Или так: Arguments: -C avrdude.conf -c arduino -P com15 -b 57600 -p$(avrdevce) -U flash:w:$(ProjectDir)Debug\$(ItemFileName).hex:a -q
Lifter, вот вам 2МГц на ассемблере, компилируется в Arduino IDE :)
Jeka_M, спасибо! именно ключа -b не хватало. В статье, откуда стырил эту строку, была ошибка. Теперь все заработало.
dimax, действительно, так еще проще. Только хотелось бы вместо 0х05 писать PORTB, но ругается.