Тогда не будет ругаться на то, что он не может регулировать частоту.
Не помню в каком программаторе, можно эту частоту менять (крайне необходимо для тех, кто от часового кварца тактуется)
Чтоб прошить один программатор, нужен второй программатор, как я понял, а у меня его нет. И потом, как-то странно, покупал прогрмамматор в 2014 году, но прошивку нужно ОБНОВИТЬ на 2011год. Я конечно понимаю, долго мог валяться на складах, но всё же...
Получилось таки прошить и залить скетч. Проблема в том, что ресет нужно было резистором 10К подтягивать к VCC, и никто тут, не один не сказал этого. И нигде этого я не нашёл, один ремонтник посоветовал, я там программатор покупал(кстати не китайский, а оригинал,с новой прошивкой уже и в заводской упаковке). Зато некоторые спорили, что у всех получается, а я типа лох, и не так что-то делаю, отступаю от схемы... Пять раз перепроверил, нет резистора - нихрена не работает. И с кварцем, и без. Вот так-то.
Но всёравно счастья не вышло, ибо прицепив Ethernet, скетчи которого не компилировались, узнал, что он на этой меге работать не будет, так как памяти мало... Абидна, аднака. Не ожидал такого подвоха. Ну была не была, из китая уже едут 328-мые меги. На такой мои скетчи вполне работают в составе Ethernet.
интересно. а у меня без подтяжки на многих платах работает. что я делаю неправильно?
Ну "ресет висящий в воздухе" это в любом случае фигово. "Работает на авось" (перегрузится может из-за любой внешней помехи). Так что подтягивать ресет - таки нужно.
Да и, в самой этой ветке, в первом же посте, в первом же пункте "Подключите ваш камень как показано на рисунки ниже", на первой же картинке четко видно резистор подтягивающий первую ногу к питанию.
Зашил в мегу 8 загрузчик который работает без кварцевого резонатора аля 8 мГц. Раньше был загрузчик на 16 мГц.
Зашил в мини про скетч isp потом подключился к меге как на офсайте рекомендуют, с кварцевым резонатором на 16 мГц и кондёрами на 20 пФ, выбрал из списка ATmega8(A) (8MHz int. RC osc, short bootloader delay, 38400 baud rate) и нажал зашить загрузчик. Потом выбрал "записать при помощи загрузчика" и мой скетч залился, АЦП работает медленней что означает что частота уменьшилась. Вынул мегу, вставил в плату вроде как завелось.
А вот прошить загрузчик в atmega328P-AU не получается, arduino IDE выдаёт
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Что не так? В качестве програматора IPS Arduino mini pro на 328 атмеге. Какую плату выбирать в меню, для прошивки загрузчика? Там их много с 328 атмегами.
Купил ещё пару atmega328P-AU, пришла колодка к ней. Установил, новую, пытаюсь залить загрузчик, таже ошибка. В интернетах пишут, типа сигнатуры разные, потому проверку не проходит и не заливается. Но нормальной инструкции, рабочей, пока не нашёл.
Купил ещё пару atmega328P-AU, пришла колодка к ней. Установил, новую, пытаюсь залить загрузчик, таже ошибка. В интернетах пишут, типа сигнатуры разные, потому проверку не проходит и не заливается. Но нормальной инструкции, рабочей, пока не нашёл.
не нужно никой инструкции для чтения сигнатуры - она или читается, или не читается.
1. Запускаю Arduino IDE v.1.0.5, выбираю нужный ком порт, выбираю плату, выбираю программатор AVRISP mkII.
2. Заливаю в Arduino mini Pro (Atmega328P-AU) скетч ArduinoISP.
3. Собираю схему:
D10(RST) - 29 вывод PC6
D11(MOSI) - 15 вывод PB3
D12(MISO) - 16 вывод PB4
D13(SCK) - 17 вывод PB5
Питание соответственно GND, +5Вольт VCC. Кварц и кондёры кварца (27пф) присутствуют, резистор на ресет на 7КОм.
В IDE выбираю плату Уно(или любую другую с атмегой 328, на результат не влияет) ком порт - тотже, программатор Arduino as ISP, и "Записать загрузчик". На прошивальщике пару раз вспыхивают RX TX, потом вылетает ошибка.
Втыкаю атмегу8 в тоже место, шьёт на ура и без проблем.
Microsoft Windows [Version 6.2.9200]
(c) Корпорация Майкрософт, 2012. Все права защищены.
C:\avrdudeGUI>avrdude -p ATtiny2313 -c usbasp -U signature:r:signature.txt:h
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATtiny2313 is 1E 91 0A
Double check chip, or use -F to override this check.
avrdude done. Thank you.
C:\avrdudeGUI>
Вот что... Всё нормально? Или что не так? Ну кроме обновления программатора и названия микрухи, которое ничё не меняет.
Блин... Вот даже не знаю как это объяснить. Всё дело в кварце было. Почему восьмая атмега с ним работала, а 328 нет? Перепроверил, так и есть. Заменил кварц, стало всё работать. Задрали такие подвохи. Кварц на 16 мегагерц. Видимо, надо сразу, параллельно, несколько стендов собирать. И, если вдруг что-то заработало, это ещё не означает, что конфигурация рабочая, продублировав тоже самое но с другими такими же компанентами вполне может не работать.
А почему кварц одинаковый, на 16 мегагерц, для столь разного железа? и на восьмую, и на 1280?
Я знаю правила о том, что статьи не редактируются и прочее, но это же полный бред в первом сообщении! Дважды прошивать загрузчик, 4 раза прошивать фьюзы, 4 полных стирания МК. Аврдуд не нужен, по нажатию пункта "Записать загрузчик" сначала записываются нужные фьюзы, а уже затем заливается бутлоадер, т.к размер бутлоадера определяется в самих фьюзах. Собственно, на этом статью нужно закончить, а не прописывать фьюзы, а потом загрузчик ещё раз.
Настройки аврдуда "В нижней строчки, пишем тоже самое." За параметр -e можно просто руки оторвать, т.к аврдуд с этим параметром будет всегда перед выполнением операции производить ПОЛНОЕ СТИРАНИЕ ЧИПА! Жмём считать флеш, аврдуд сперва его стирает, затем считывает пустой флеш. Так я потерял очень важную прошивку, которую писал неделю.
Как уже говорил, я знаю правила, но из поиска по запросом на прошивку бутлоадера можно попасть сюда и увижеть те советы. Может, стоит делать иногда исключения, когда тема действительно важная?
jeka_tm пишет:
к или как то исправляется
Была похожая проблема. У меня не работал UART то ли на частоте 8МГц, то ли от внутреннего тактового. По SPI прошивка заливалась, работала, а в порт выходили в общем случае крокозябры, лишь процентов 5 символов были верными. Запустил от внешнего кварца и всё заработало. Компилировался скетч под нужную частоту и фьюзы были верными, просто такой вот брачёк. Я написал, что в порт сыпались ошибки при передаче String в скетче для теста UARTа, но, как понимаете, шиться он не хотел и по давно. В общем, попробуйте сменить частоту и/или источник тактирования.
У меня не работал UART то ли на частоте 8МГц, то ли от внутреннего тактового.......... В общем, попробуйте сменить частоту и/или источник тактирования.
Mega8 : Если необходимо использовать другой генератор (не 1MHz), то в программе необходимо предусмотреть загрузку регистра OSCCAL соответствующим калибровочным байтом.
Есть Arduino Nano V3.0 ATmega328 16M 5V Micro-controller CH340G board For Arduino. Куплен на EBay в Китае. Заливаю скетч - ошибка avrdude: stk500_getsync() : not in sync: resp=0x00 , больше ни на что не ругается. Схемка не работает.. Раньше работала без проблем. Что в ней слетело, как вернуть в раб.сост.? что то похожее тут на форуме встречалось, но для др.серий.
Я прошил Atmega8 bootloader на 8MHz без резонатора.
Также для прверки я прошил Blink, все работает без проблем.
Однако когда я пытаюсь прошить вот этот скечь
//---Программа управления светодиодной лентой WS2812
#include "FastLED.h"
#include "IRremote.h"
#define NUM_LEDS 60 // How many leds in your strip?
#define DATA_PIN 2
#define RECV_PIN 3
CRGB leds[NUM_LEDS];
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
FastLED.addLeds<NEOPIXEL, DATA_PIN, GRB>(leds, NUM_LEDS);
LEDS.showColor(CRGB(0, 0, 0));
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value,HEX);
//---white---
if (results.value == 0x885B30D5){
LEDS.showColor(CRGB(255, 255, 255));
}
}
}
выходит вот такая ошибка.
c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: sketch_feb12a.cpp.elf section .text will not fit in region text
c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: region text overflowed by 1864 bytes
Методом научного тыка я нашол что проблема в 17 строчке. хотя если я прошиваю Arduino pro mini всё нормально.
есть. и не только com портом
http://habrahabr.ru/post/208470/
Запомните навсегда! usbasp НИКОГДА не был и не будет КомПортом!!!!!!!
Это SPI программатор.
http://arduino.ru/forum/programmirovanie/kak-ozhivit-arduino-atmega8a?pa...
И прошейте его последним фирмварем с http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
Тогда не будет ругаться на то, что он не может регулировать частоту.
Не помню в каком программаторе, можно эту частоту менять (крайне необходимо для тех, кто от часового кварца тактуется)
Чтоб прошить один программатор, нужен второй программатор, как я понял, а у меня его нет. И потом, как-то странно, покупал прогрмамматор в 2014 году, но прошивку нужно ОБНОВИТЬ на 2011год. Я конечно понимаю, долго мог валяться на складах, но всё же...
да нет. просто старую шьют. приходится обновлять. а 2011 это последняя версия. новее нет.
есть. и не только com портом
http://habrahabr.ru/post/208470/
не, ну я в свой юсбасп загрузчик залил - он теперь и дуиной может быть, но это же не о том.
Запомните навсегда! usbasp НИКОГДА не был и не будет КомПортом!!!!!!!
может, есть хоть какая-то надежда, что станет компортом в будущем?
есть. и не только com портом
http://habrahabr.ru/post/208470/
не, ну я в свой юсбасп загрузчик залил - он теперь и дуиной может быть, но это же не о том.
вроде о том
вроде о том
не о том - народ желает юсбаспа с компортом.
и программатор и одновременно переходник?
Получилось таки прошить и залить скетч. Проблема в том, что ресет нужно было резистором 10К подтягивать к VCC, и никто тут, не один не сказал этого. И нигде этого я не нашёл, один ремонтник посоветовал, я там программатор покупал(кстати не китайский, а оригинал,с новой прошивкой уже и в заводской упаковке). Зато некоторые спорили, что у всех получается, а я типа лох, и не так что-то делаю, отступаю от схемы... Пять раз перепроверил, нет резистора - нихрена не работает. И с кварцем, и без. Вот так-то.
Но всёравно счастья не вышло, ибо прицепив Ethernet, скетчи которого не компилировались, узнал, что он на этой меге работать не будет, так как памяти мало... Абидна, аднака. Не ожидал такого подвоха. Ну была не была, из китая уже едут 328-мые меги. На такой мои скетчи вполне работают в составе Ethernet.
интересно. а у меня без подтяжки на многих платах работает. что я делаю неправильно?
интересно. а у меня без подтяжки на многих платах работает. что я делаю неправильно?
Ну "ресет висящий в воздухе" это в любом случае фигово. "Работает на авось" (перегрузится может из-за любой внешней помехи). Так что подтягивать ресет - таки нужно.
А вот почему "нигде об этом не сказанно" - я поняния не имею. И первая же ссылка из гугла по поиску "минимальная ардуина" дает:Минимальная схема подключения ATmega328 (Arduino.Минимальная схема подключения ATmega328) - XWiki
Да и, в самой этой ветке, в первом же посте, в первом же пункте "Подключите ваш камень как показано на рисунки ниже", на первой же картинке четко видно резистор подтягивающий первую ногу к питанию.
Проблема в том, что ресет нужно было резистором 10К подтягивать к VCC, и никто тут, не один не сказал этого.
кто же мог знать, чего ты не делаешь - некоторые вообще молятся перед прошивкой.
интересно. а у меня без подтяжки на многих платах работает. что я делаю неправильно?
у меня ресет на программаторе подтянут - видимо, это неправильно.
ресет подтянут внутри, и видимо мне этого хватает
подтянуть это правильно, я не спорю, но я пока обхожусь
Зашил в мегу 8 загрузчик который работает без кварцевого резонатора аля 8 мГц. Раньше был загрузчик на 16 мГц.
Зашил в мини про скетч isp потом подключился к меге как на офсайте рекомендуют, с кварцевым резонатором на 16 мГц и кондёрами на 20 пФ, выбрал из списка ATmega8(A) (8MHz int. RC osc, short bootloader delay, 38400 baud rate) и нажал зашить загрузчик. Потом выбрал "записать при помощи загрузчика" и мой скетч залился, АЦП работает медленней что означает что частота уменьшилась. Вынул мегу, вставил в плату вроде как завелось.
boards.txt:
А вот прошить загрузчик в atmega328P-AU не получается, arduino IDE выдаёт
Уно выбирай.
Может что не так подключили?
Купил ещё пару atmega328P-AU, пришла колодка к ней. Установил, новую, пытаюсь залить загрузчик, таже ошибка. В интернетах пишут, типа сигнатуры разные, потому проверку не проходит и не заливается. Но нормальной инструкции, рабочей, пока не нашёл.
Купил ещё пару atmega328P-AU, пришла колодка к ней. Установил, новую, пытаюсь залить загрузчик, таже ошибка. В интернетах пишут, типа сигнатуры разные, потому проверку не проходит и не заливается. Но нормальной инструкции, рабочей, пока не нашёл.
не нужно никой инструкции для чтения сигнатуры - она или читается, или не читается.
Это надо же как Вам не повезло...
А ну-ка опишите весь процесс прошивки, от начала до конца, возможно что-то пропустили или не так делаете?
не нужно никой инструкции для чтения сигнатуры - она или читается, или не читается.
Она читается, но не совпадает с той, которая должна быть, и поэтому не шьётся. Это я так понял. Как на самом деле, не знаю.
Это надо же как Вам не повезло...
А ну-ка опишите весь процесс прошивки, от начала до конца, возможно что-то пропустили или не так делаете?
Многим на самом деле не повезло, стоит только пояндексить http://yandex.ru/yandsearch?text=atmega328p-au%20bootloader%20%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE&lr=213 и станет видно, что проблема почти у всех, только решения не нешёл. А что, у кого-то именно эта микруха без проблем прошилась?
1. Запускаю Arduino IDE v.1.0.5, выбираю нужный ком порт, выбираю плату, выбираю программатор AVRISP mkII.
2. Заливаю в Arduino mini Pro (Atmega328P-AU) скетч ArduinoISP.
3. Собираю схему:
D10(RST) - 29 вывод PC6
D11(MOSI) - 15 вывод PB3
D12(MISO) - 16 вывод PB4
D13(SCK) - 17 вывод PB5
Питание соответственно GND, +5Вольт VCC. Кварц и кондёры кварца (27пф) присутствуют, резистор на ресет на 7КОм.
В IDE выбираю плату Уно(или любую другую с атмегой 328, на результат не влияет) ком порт - тотже, программатор Arduino as ISP, и "Записать загрузчик". На прошивальщике пару раз вспыхивают RX TX, потом вылетает ошибка.
Втыкаю атмегу8 в тоже место, шьёт на ура и без проблем.
Она читается, но не совпадает с той, которая должна быть, и поэтому не шьётся. Это я так понял. Как на самом деле, не знаю.
не нужно думать - нужно считать сигнатуру.
пример:
считываем сигнатуру МК ATtiny2313 программатором usbasp в файл signature.txt
результат можно смотреть в файле signature.txt или непосредсвенно в CMD:
*если не получается считать сигнатуру, то энто ваши аппаратно/программные проблемы.
Кварц и кондёры кварца (27пф) присутствуют, резистор на ресет на 7КОм.
У меня резистор на 10 кОм и керамические кондёры на 22 пФ.
ЗЫ правда впервые шил юсбаспом, потом уже перешивал при помощи мини про(не по юарту).
Вот что... Всё нормально? Или что не так? Ну кроме обновления программатора и названия микрухи, которое ничё не меняет.
Вот что... Всё нормально? Или что не так? Ну кроме обновления программатора и названия микрухи, которое ничё не меняет.
ответ находится в файле C:\avrdudeGUI\signature.txt
возможно риторический вопрос, а зачем просить программатор работать с тину2313, но подсовывать ему не то?
Не создаётся там файл C:\avrdudeGUI\signature.txt
А программа знает такую микросхему как atmega 328? В eXtreme Burner - AVR, например, её нет.
Теперь новая ошибка лезет
Не создаётся там файл C:\avrdudeGUI\signature.txt
А программа знает такую микросхему как atmega 328? В eXtreme Burner - AVR, например, её нет.
дудка знает.
Теперь новая ошибка лезет
видимо, потому, что суёте непонятно что дудке, а потом удивляетесь.
1E 95 14 сигнатура ATMEGA328
Блин... Вот даже не знаю как это объяснить. Всё дело в кварце было. Почему восьмая атмега с ним работала, а 328 нет? Перепроверил, так и есть. Заменил кварц, стало всё работать. Задрали такие подвохи. Кварц на 16 мегагерц. Видимо, надо сразу, параллельно, несколько стендов собирать. И, если вдруг что-то заработало, это ещё не означает, что конфигурация рабочая, продублировав тоже самое но с другими такими же компанентами вполне может не работать.
А почему кварц одинаковый, на 16 мегагерц, для столь разного железа? и на восьмую, и на 1280?
А почему кварц одинаковый, на 16 мегагерц, для столь разного железа? и на восьмую, и на 1280?
почему в шапке?(анекдот)
пришли десяток atmega8a
зашил фьюзы и бутлоадер, затем блинк через uart для проверки программирования
9 нормально, а 1 не хочет ни в какую программировать по uart, хотя по ISP все четко, тот же блинк залился и моргает светодиод
как вы думаете это брак или как то исправляется
Заливаем блинк на нулевую а потом на первую ногу ( сооответственно светодиод с резисторм на неё). Если не моргает- в морг.
дел.
Я знаю правила о том, что статьи не редактируются и прочее, но это же полный бред в первом сообщении! Дважды прошивать загрузчик, 4 раза прошивать фьюзы, 4 полных стирания МК. Аврдуд не нужен, по нажатию пункта "Записать загрузчик" сначала записываются нужные фьюзы, а уже затем заливается бутлоадер, т.к размер бутлоадера определяется в самих фьюзах. Собственно, на этом статью нужно закончить, а не прописывать фьюзы, а потом загрузчик ещё раз.
Настройки аврдуда "В нижней строчки, пишем тоже самое." За параметр -e можно просто руки оторвать, т.к аврдуд с этим параметром будет всегда перед выполнением операции производить ПОЛНОЕ СТИРАНИЕ ЧИПА! Жмём считать флеш, аврдуд сперва его стирает, затем считывает пустой флеш. Так я потерял очень важную прошивку, которую писал неделю.
Как уже говорил, я знаю правила, но из поиска по запросом на прошивку бутлоадера можно попасть сюда и увижеть те советы. Может, стоит делать иногда исключения, когда тема действительно важная?
к или как то исправляется
Была похожая проблема. У меня не работал UART то ли на частоте 8МГц, то ли от внутреннего тактового. По SPI прошивка заливалась, работала, а в порт выходили в общем случае крокозябры, лишь процентов 5 символов были верными. Запустил от внешнего кварца и всё заработало. Компилировался скетч под нужную частоту и фьюзы были верными, просто такой вот брачёк. Я написал, что в порт сыпались ошибки при передаче String в скетче для теста UARTа, но, как понимаете, шиться он не хотел и по давно. В общем, попробуйте сменить частоту и/или источник тактирования.
да я ее выбросил просто и не парился. нафиг бракованную держать
А я всунул в готовое устройство. Если бракованная, то не так жалко =)
не та цена чтобы голову ломать потом что не работает. может это не единственный брак вней был
У меня не работал UART то ли на частоте 8МГц, то ли от внутреннего тактового.......... В общем, попробуйте сменить частоту и/или источник тактирования.
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR053.htm
Mega8 : Если необходимо использовать другой генератор (не 1MHz), то в программе необходимо предусмотреть загрузку регистра OSCCAL соответствующим калибровочным байтом.
http://mainloop.ru/avr-atmega/avr-usart-setting.html#comment-2236
Хм, весьма интересно. Но такой косяк у меня только на одной меге был. Спасибо за ссылку.
Моё видео по загрузке бутлоадера в мегу:
https://www.youtube.com/watch?v=KTr9RbIwy0I
Хух, на создание этого видео у меня пошло 2 дня.
Есть Arduino Nano V3.0 ATmega328 16M 5V Micro-controller CH340G board For Arduino. Куплен на EBay в Китае. Заливаю скетч - ошибка avrdude: stk500_getsync() : not in sync: resp=0x00 , больше ни на что не ругается. Схемка не работает.. Раньше работала без проблем. Что в ней слетело, как вернуть в раб.сост.? что то похожее тут на форуме встречалось, но для др.серий.
как обычно замкни пины 0 и 1. открой терминал и отправь что нибудь. должно тоже самое прийти
выходит вот такая ошибка.
c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: sketch_feb12a.cpp.elf section .text will not fit in region text
оперативки вроде не хватает. в меге8 ее всего 1кбайт, а в про мини 2кбайта
оперативки вроде не хватает. в меге8 ее всего 1кбайт, а в про мини 2кбайта
ОК спасибо. Уже заказал atmega328 надеюсь с ним что то получится.
Возможно ли прошить мегу 8 в smd исполнении с помощью arduino isp?! Если да, то подскажите пожалуйста.
Задайте самому себе вот такой вопрос: что мы будем шить исполнение или Мегу8? Да шейте если подключили программатор.
Почитайте
http://arduino.ru/forum/apparatnye-voprosy/proshivka-atmega8a-au-v-korpu...