Ошибки при загрузке бутлоадера
- Войдите на сайт для отправки комментариев
Втр, 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 вольт, любой мультиметт справится.
В общем я оторвал неиспользуемые контакты от текстолита, прижал прищёпкой и вроде всё прошилось, высветилось заветное "Запись загрузчика выполнена"
ronny99, поздравляю! Но километровый лог можно было и не выкладывать, доказывать что вы справились не обязательно, верю на слово :))
:) Ещё раз спасибо за помощь :)
Припаять контроллер я собираюсь в устройство, надо залить бутлоадер...
А зачем в конечном устройстве бутлоадер? Может, проще сразу в него готовый скетч лить?
Через uart буду обновлять прошивку.
ок, тоже вариант
Через uart буду обновлять прошивку.
Так часто?
То есть "Загрузить с помощью программатора" - это уже не уарт?
type = "serbb";
надо понимать в programmers.txt - добавил:
скопипастил у БусПирата - и всё равно: "...пропущен параметр..." - хоть ты убейся. Или такой фокус не пройдёт? ... теоретически?
UFO 007, а ничего что вы пользуетесь информацией от 2014 года? С тех пор формат описания 5 раз поменялся. Нужно либо привести всё к современным требованиям, либо использовать старые версии arduino ide
спс за инфу
... к современным требованиям, ...
(скопипастил у громова) только тип подключения поменять на УСБ и тип может быть не "сербб" (тут как разобраться? может надо понимать "СЕРиалБитБанг?") ну а на счёт последних 4-х строк - полная прострация... Может подскажете - где почитать.
Да - из-под 1.6.5 Блинк залился, но... 165 - какя-то тупорылая (в отличие от 182, где это и писалось) - ругается на:
т. е. выдаёт:
И на такой вариант:
ругань та же - эт как понимать?
UFO 007 Что и куда вы пытаетесь залить? Чет с ваших описаний ничего не понятно.
Объявления структур вынесите в отдельный .h
Тут писали, что IDE в некоторых релизах автоматически объявления функций пихало в самый верх .ino и они оказывались объявлены до структур.
UFO 007 Что и куда вы пытаетесь залить? Чет с ваших описаний ничего не понятно.
Попробовал - припаял: виртуальный а ля Громов - молчит
UFO 007, мне не встречалось упоминаний, что ch340 поддерживает протокол serbb, так что логично, что не работает.
UFO 007 - я не пойму, что мешает прошить чип по ISP? - зачем вам мучить дохлый CH340, он для прошивки вовсе не нужен
UFO 007, мне не встречалось упоминаний, что ch340 поддерживает протокол serbb, так что логично, что не работает.
UFO 007 - я не пойму, что мешает прошить чип по ISP? - зачем вам мучить дохлый CH340, он для прошивки вовсе не нужен
Ребят! Большое всем спасибо за помощь (извиняюсь, что мозги покомпостировал) а решение проблемы пришло само собой: наткнулся на ярлык на рабочем столе XGPro, достал с полки TL866II Plus (зря чтоли 7 рублей за него отвалил? - правда шил только флэшки ТСОП48) почиткал (есть там и МОСИ, и МИСО, и СЦК), попаял, тык и прошилась убитая Нана как миленькая.