Официальный сайт компании Arduino по адресу arduino.cc
Ошибки при загрузке бутлоадера
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Втр, 25/02/2014 - 16:42
Здравствуйте, наверно спрашивали уже не раз, поискал по форуму, почитал, но всё равно не хочет записываться.... В общем шью Freeduino(аналог Arduino Duemilanove) по вот этому мануалу , чип пациент Atmega 328P(TQFP).
Сначало выдавал вот такую ошибку:
C:\Program Files (x86)\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\\.\COM6 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m 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 (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf" Using Port : \\.\COM6 Using Programmer : stk500v1 Overriding Baud Rate : 19200 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.
Нажал сразу второй раз на "Загрузить бутлоадер" и вот теперь другая уже:
C:\Program Files (x86)\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\\.\COM6 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m 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 (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf" Using Port : \\.\COM6 Using Programmer : stk500v1 Overriding Baud Rate : 19200 avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] AVR Part : ATMEGA328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware avrdude: Send: A [41] . [80] [20] avrdude: Recv: . [14] avrdude: Recv: . [02] avrdude: Recv: . [10] avrdude: Send: A [41] . [81] [20] avrdude: Recv: . [14] avrdude: Recv: . [01] avrdude: Recv: . [10] avrdude: Send: A [41] . [82] [20] avrdude: Recv: . [14] avrdude: Recv: . [12] avrdude: Recv: . [10] avrdude: Send: A [41] . [98] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown avrdude: Send: A [41] . [84] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] avrdude: Send: A [41] . [85] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] avrdude: Send: A [41] . [86] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] avrdude: Send: A [41] . [87] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] avrdude: Send: A [41] . [89] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: Send: A [41] . [81] [20] avrdude: Recv: . [14] avrdude: Recv: . [01] avrdude: Recv: . [10] avrdude: Send: A [41] . [82] [20] avrdude: Recv: . [14] avrdude: Recv: . [12] avrdude: Recv: . [10] avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [04] . [00] . [00] . [00] . [80] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude: Send: P [50] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude: AVR device initialized and ready to accept instructions Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] avrdude: Send: V [56] 0 [30] . [00] . [01] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] ################avrdude: Send: V [56] 0 [30] . [00] . [02] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] ################################## | 100% 0.06s avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. avrdude: Send: Q [51] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude done. Thank you.
Уже 3 часа мучаюсь и толку ноль...поменял на другой чип, тоже самое... Заранее спасибо!
ronny99, скорее проблемы физического характера. Сложно о чём либо говорить не видя, как вы подключили tqfp чип.
Хм...
припаяй контроллер
Это сарказм? Припаять контроллер я собираюсь в устройство, надо залить бутлоадер...
ronny99, посмотрел. Разводка платы вроде правильная. Нужно отработать версию с неконтактом. Я бы взял, и иголочкой щупа тестера вставал на лапу контроллера, и на пины гребёнки, что б убедиться что контакт везде есть, всё таки контакт под прищепкой -это ненадёжно. Если всё ок, то осциллографом смотреть как отрабатывается сигнал ресет, и моси-мисо. Тут уж точно станет ясно.
Проверил мультиметром, контакт есть, осциллографа к сожалению нет...
ronny99, без осцилла не жизнь.. Спаяйте программатор "5 проводков", попробуйте через него..
Это сарказм? Припаять контроллер я собираюсь в устройство, надо залить бутлоадер...
сарказм - прищепка вместо панели.
Есть программатор "Громова", видимо он и есть "5 проводков" :) Можно ссылочку на инструкцию?
ronny99, у вас яндекс сломался? :)) http://easyelectronics.ru/avr-shag-pervyj-programmator.html
ой, я не это имел ввиду, где взять прошивку и фьюзы :)
Аа.. всё есть в папке ардуино.
прошивка:
arduino\hardware\arduino\bootloaders\atmega\"ATmegaBOOT_168_atmega328.hex
Фузы:
atmega328.bootloader.low_fuses=0xFF
atmega328.bootloader.high_fuses=0xDA
atmega328.bootloader.extended_fuses=0x05
Шить нужно avrdude, юнипроф к сожаление не знает mega328 Если что avrdude тоже где-то в папке ардуино, причём его файл конфигурации не в одной папке с ним.. :)
Спасибо, попробуем :)
ronny99, решил тряхнуть стариной, достал своего программатора громова :)) Вобщем можно на нём шить бут-лоадеры, и шить их прямо из программы ардуино ide, не парясь с выбором фьюзов, хекса, итд. Для этого нужно:
в файле \arduino\hardware\tools\avr\etc\avrdude.conf добавить блок:
programmer
id = "gromov";
desc = "serial port banging, reset=dtr sck=rts mosi=txd miso=cts";
type = serbb;
reset = 4;
sck = 7;
mosi = 3;
miso = 8;
;
с этим файлом нужно бысть осторожным, он чувствителен к формату, какой-нить неправильный перевод строки, и дудка будет ругаться.
И в файле \arduino\hardware\arduino\programmers.txt добавить блок:
gromov.name=GromovProg
gromov.communication=serial
gromov.protocol=gromov
далее уже в программе ардуино выбрать нужный ком-порт, в который включен громов, выбрать GromovProg в списке программаторов, и можно писать загрузчик. Только что проверил -работает!!!
Спасибо :) Но что-то у меня ошибка :(
ronny99, результат ожидаем. Мы убедились, (или уже почти убедились), что то, чем программировать не влияет на результат, и проблема в чипе или же в вашем переходнике и контактах. Хорошо бы ещё проверить работу программатора на заведомо исправном контроллере, лучше в дип корпусе. Если прошьётся, значит проблема лежит в вашей конструкции, и мы вернёмся к тому, от чего недавно хотели уйти - нужно осциллографом смотреть сигналы. По идее ресет -самый долгий сигнал, он должен лежать на нуле всё время пока вы шьёте. Проверьте хотя бы его. До программирования на нём +5 вольт, после запуска программирования на нём 0 вольт, любой мультиметт справится.
В общем я оторвал неиспользуемые контакты от текстолита, прижал прищёпкой и вроде всё прошилось, высветилось заветное "Запись загрузчика выполнена"