Зашить бутлоадер arduino в новый 328p
Совсем у меня беда какая-то - пытался с помощью рабочей ардуины по схеме с офсайта получил "Yikes! Invalid device signature." Помогите сделать копию мк для ардуины. Есть еще usbasp свисток, но с ним чет все вообще грустно.
- Реклама
инструкция по ссылке - по ней. Сначала ArduinoISP залил на рабочую, потом соединил, конденсатор добавил тоже.
- Сообщения: 19495
- Зарегистрирован: Чт фев 20, 2014 18:57:55
А что с ним ? У меня с ним даже меньше проблем было, чем с ардуиной в роли программатора. Главное прошить его (хи хи) новой прошивкой, из китая могут прислать довольно древний, а можно, наверное, и avrdude постарее поискать, не пробовал.Ytm писал(а):Есть еще usbasp свисток, но с ним чет все вообще грустно.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
- Реклама
это та-же самая инструкция только на русском и без конденсатораCoolerr писал(а):по этой ссылке попробуй
Morroc, он тоже шить не хочет, грит типа "может вам стоит обновить прошивку програматора?!"
Может как-то нужно другой прогой, но инструкций нету нигде, все эти биты - я вообще не понимаю где и как их менять. Опять же как подключать - хватит ли распаянного на ардуине кварца или все равно нужно отдельный ставить?
- Сообщения: 19495
- Зарегистрирован: Чт фев 20, 2014 18:57:55
ну вроде да, кстати у меня есть неисправная (бракованная из магаза) mega328 - ругается в принципе так же, не опознается чип как 328.Ytm писал(а):это та-же самая инструкция только на русском и без конденсатораCoolerr писал(а):по этой ссылке попробуй
это нормально, нужно перепрошить сам программатор или, как вариант, поискать старую версию avrdude, может не будет ругатьсяYtm писал(а): Morroc, он тоже шить не хочет, грит типа "может вам стоит обновить прошивку програматора?!"
другой прогой и через ардуино ? SinaProg попробуйте, ну и все верно написали - биты и все такое, можно и совсем накосячитьYtm писал(а): Может как-то нужно другой прогой, но инструкций нету нигде, все эти биты - я вообще не понимаю где и как их менять. Опять же как подключать - хватит ли распаянного на ардуине кварца или все равно нужно отдельный ставить?
для нового мк кварц во время прошивки загрузчика не нужен, но нужен сразу после и стоит проверить генерит ли мк с этим кварцем и конденсаторами, иногда не хочет
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
А вообще проще в ArduinoIDE скомпилить хекс. А потом через свисток залить в чистую Атмегу.
- Сообщения: 19495
- Зарегистрирован: Чт фев 20, 2014 18:57:55
там уже есть готовые hex'ы загрузчиков в какой то папке
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Не бут заливать, а готовую прогу. Т.е. прога написана, компилим, отбираем у винды хекс нашей проги и дальше стандартными методами заливаем в чистую мегу. Фьюзы посмотреть в файле boards.txt
- Сообщения: 19495
- Зарегистрирован: Чт фев 20, 2014 18:57:55
прогу можно залить прям из IDE, там отдельный пункт есть для загрузки напрямую программатором и где то на сайте arduino.cc рецепт, как этот пункт задействовать обычной пиктограммой (чтобы по меню не лазить), специально для любителей ардуин без загрузчика, постоянно так заливаю через программатор - быстрее получается, фьюзы через SinaProg правлю (это gui для avrdude), обычно просто 8 мгц ставлю от внутреннего и больше ничего не трогаю
если не нужна именно копия ардуины (1й пост) - это очень хороший вариант
если не нужна именно копия ардуины (1й пост) - это очень хороший вариант
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
А чего ТС молчит. Так и я о чем, если задача состоит в тиражировании девайса, нафига заморачиваться с прошивкой бута.
- Сообщения: 70
- Зарегистрирован: Сб окт 22, 2011 20:30:26
Тоже пробовал с помощью usbasp(китай) закатать бутлоадер на atmega8. IDE Ардуины ругается на то что не может найти программатор.Ytm писал(а):Совсем у меня беда какая-то - пытался с помощью рабочей ардуины по схеме с офсайта получил "Yikes! Invalid device signature." Помогите сделать копию мк для ардуины. Есть еще usbasp свисток, но с ним чет все вообще грустно.
Насколько я понял оригинал usbasp имеет свой VID и PID, китайский с ним не совпадает. Можно попробывать пошукать в конфигах IDE Ардуины и изменить эти данные.
Специально зарегился чтобы ответить..
Китайский usbasp отлично прошивает данные микроконтроллеры, возможно китайцы залили кривую прошивку - проблема решается прошивкой программатора другим программатором или какой нибудь арудиной.
Китайский usbasp отлично прошивает данные микроконтроллеры, возможно китайцы залили кривую прошивку - проблема решается прошивкой программатора другим программатором или какой нибудь арудиной.
- Сообщения: 70
- Зарегистрирован: Сб окт 22, 2011 20:30:26
еПрошивает он нормально, тут на 100% согласен. Я имел ввиду то что не все ПО го поддерживает.MaksKirov писал(а):Специально зарегился чтобы ответить..
Китайский usbasp отлично прошивает данные микроконтроллеры, возможно китайцы залили кривую прошивку - проблема решается прошивкой программатора другим программатором или какой нибудь арудиной.
В моем случае он работает только на ProgISP. все остальные проги его не видят.
Что касается Ардуины, если заливать бутлоадер через IDE, тогда не нужно будет мучатся с фьюзами и меньше шансов положить мк.
Если все заливать напрямую, тогда нужно будет самому выставлять фьюзы, перед этим выащив их из конфигов.
avrdude ,через которую работает Arduino IDE отлично его поддерживает.. В самой Arduino IDE USBasp есть в программаторахicedev писал(а): В моем случае он работает только на ProgISP. все остальные проги его не видят.
Вот уже в очередной раз пытаюсь...
Речь не о тиражировании, речь о том что спалил один раз мк в ардуине - не хочу чтобы это повторилось, поэтому хочу наделать копий: сгорела-поменял...
Обновил тут прошивку в свистке (вроде как все прошло по маслу, по инструкции). Но "avrdude: warning: cannot set sck period. please check for usbasp firmware update" никуда не делось поэтому выкинул свисток куда по дальше...
собственно МК мои новые отвечают то Device signature = 0x000000 то 0xFFFFFF и больше ничего... Пытался найти в интернете как прошивать через консоль чтобы написать там -F для обхода проверки, но найти не смог (ни про фьюзы, ничего), поэтому получилось следующее:
Дальше все выглядело так:
Reading | ################################################## | 100% 0.10s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "ATmegaBOOT_168_atmega328.hex"
avrdude: input file ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex
avrdude: writing flash (32670 bytes):
Writing | ################################################## | 100% 3.01s
avrdude: 32670 bytes of flash written
avrdude: verifying flash memory against ATmegaBOOT_168_atmega328.hex:
avrdude: load data flash data from input file ATmegaBOOT_168_atmega328.hex:
avrdude: input file ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex
avrdude: input file ATmegaBOOT_168_atmega328.hex contains 32670 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 26.21s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x00
avrdude: verification error; content mismatch
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Ну а в конце
Само собой ничерта не работает.
Речь не о тиражировании, речь о том что спалил один раз мк в ардуине - не хочу чтобы это повторилось, поэтому хочу наделать копий: сгорела-поменял...
Обновил тут прошивку в свистке (вроде как все прошло по маслу, по инструкции). Но "avrdude: warning: cannot set sck period. please check for usbasp firmware update" никуда не делось поэтому выкинул свисток куда по дальше...
собственно МК мои новые отвечают то Device signature = 0x000000 то 0xFFFFFF и больше ничего... Пытался найти в интернете как прошивать через консоль чтобы написать там -F для обхода проверки, но найти не смог (ни про фьюзы, ничего), поэтому получилось следующее:
Код: Выделить всё
C:\arduino-1.0.5\hardware\tools\avr\bin>avrdude -C ../etc/avrdude.conf -c avrisp -P COM4 -b 19200 -p m328p -U flash:w:ATmegaBOOT_168_atmega328.hex -FСпойлер
avrdude: AVR device initialized and ready to accept instructionsReading | ################################################## | 100% 0.10s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "ATmegaBOOT_168_atmega328.hex"
avrdude: input file ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex
avrdude: writing flash (32670 bytes):
Writing | ################################################## | 100% 3.01s
avrdude: 32670 bytes of flash written
avrdude: verifying flash memory against ATmegaBOOT_168_atmega328.hex:
avrdude: load data flash data from input file ATmegaBOOT_168_atmega328.hex:
avrdude: input file ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex
avrdude: input file ATmegaBOOT_168_atmega328.hex contains 32670 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 26.21s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x00
avrdude: verification error; content mismatch
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Код: Выделить всё
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x00
avrdude: verification error; content mismatch
avrdude: safemode: Fuses OK
avrdude done. Thank you.- Сообщения: 19495
- Зарегистрирован: Чт фев 20, 2014 18:57:55
А чем обновляли прошивку в свистке ? Другим свистком ? Без ошибок все прошло ? У меня была похожая ошибка и новая прошивка решила проблему.
МК разные ? У меня 328Р такая есть - 0 читается, но другие работают.
МК разные ? У меня 328Р такая есть - 0 читается, но другие работают.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Ошибка Device signature = 0x000000 /0xFFFFFF означает что не может считать чип ,причин может быть несколько:
1. неверно подключено.
2. установлена слишком низкая частота м/к (включен делитель на 8). С завода обычно как раз так и бывает. Помогает параметр -B20.
3. заблокировано через фьюзы. Например выключен SPI или Reset.
4. сожгли не верным подключением питания или статикой - мне не удавалось так убить ниодин м/к AVR..
По поводу USBasp - ошибка "avrdude: warning: cannot set sck period. please check for usbasp firmware update" не фатальна , с ею вполне программатор работает.
1. неверно подключено.
2. установлена слишком низкая частота м/к (включен делитель на 8). С завода обычно как раз так и бывает. Помогает параметр -B20.
3. заблокировано через фьюзы. Например выключен SPI или Reset.
4. сожгли не верным подключением питания или статикой - мне не удавалось так убить ниодин м/к AVR..
По поводу USBasp - ошибка "avrdude: warning: cannot set sck period. please check for usbasp firmware update" не фатальна , с ею вполне программатор работает.



