Atmega328p ошибка при прошивке

Представим: купили вы новый камень для своего проекта, а он — зараза — не шьется! Все собрано правильно, программатор правильный — всё равно ошибка. Знакомо? Мне да. Поэтому я решил написать про это статью.

Немного предыстории

Понадобилась мне значит Atmega32, купил, впаял, пытаюсь прошить — ошибка!

Ошибка avrdude

Ошибка avrdude

Лезем в гугл, где вам предложат:

  • Проверить соединение

  • Проверить пайку

  • Выкинуть микроконтроллер

Другая история — попалась мне Atmega328p, друг попросил накатить загрузчик. Ошибка такая же. Похоже на случай описанный ранее? На первый взгляд да. А вот когда начнем разбираться…

Прошиваем Atmega32

Я, как и многие другие, использую дешевой китайский программатор USBasp.

USBasp

USBasp

Некоторые программаторы приходят со сбитыми элементами, непропаями и соплями. Даже если вы купите USBasp в нашем магазине, то скорее всего он будет собран в том же китайском подвале, что и его собратья купленные в китайских интернет-магазинах.

На программаторе мы видим 3 джампера: прошивка программатора — JP1, напряжение питания — JP2, и незапаяный джампер JP3 — прошивка на пониженной скорости.

Что такое «низкая скорость прошивки» и почему важна частота?

Пока перенесёмся из мира электроники, мир наш. Представим что на работе раз в час приходит начальник, чтобы проверить, как вы работаете. Время появления начальника вам известно, соответственно, вы начинаете работать и не получаете пинков от него. Но в один прекрасный момент, начальник начинает приходить раз в 45 минут, но вы этого не знаете. Так же и с МК, если он настроен на 16 MHz, но будет кварц на 8 MHz, чип не будет работать. Настройки частоты задаются фьюзами. За источник тактирования отвечают CKSEL. В зависимости от частоты, меняется скорость прошивки. Обычно на новых камнях стоят одни из этих источников тактирования:

  • External 16 MHz

  • External 8 MHz

  • Internal 8 MHz

  • Internal 1 MHz

  • Internal 128 KHz

Для работы с чипом имеющим частоту меньше 1 МГц, нужно снизить скорость прошивки. Это можно сделать перемычкой JP3 на программаторе, или в настройках используемой вами программы. После этого Atmega32 прошилась!

В этом случае колдовать со скоростью прошивки не пришлось. Но пришлось поиграть с кварцами. Просто глядя на камень его настройки установить невозможно. А если МК не запускается, определить фьюзы даже с программатором это бесполезная затея. Не буду томить — в моем случае какой-то китаец настроил Atmega328p на External 8 MHz. Подключаем чип к программатору, жмем «Записать загрузчик» и…

Готово!

Готово!

Далее не забываем подкинуть кварц на выбранную вами частоту. В Arduino IDE частота меняется здесь (в большинстве кастомных ядер):

Выбранная частота 16MHz

Выбранная частота 16MHz

Если все равно не работает

Первый вариант: вы перебрали не все кварцы. По-хорошему, у вас должно быть достаточно разных кварцев — на 16, 8, 4 MHz. В последнее время появились микроконтроллеры с частотой 20 MHz, но их достаточно мало. Однако и такой вариант следует предусмотреть. Вот полный список частот Atmega32, на свой чип гуглите:

Все частоты AVR

Все частоты AVR

Второй вариант: вы выбрали не тот чип. Например, вот модификации atmega328:

Тот ли чип вы выбрали?

Тот ли чип вы выбрали?

Третий вариант: МК в мусорку. Попался с брачком, ну или сгорел.

Заключение

Описанные в статье проблемы выявить и устранить не всегда бывает легко, но возможно. Надеюсь статья была вам полезна, и вы узнали что-то новое или справились с проблемой. Если есть вопросы, пишите в комментарии, а на этом я с вами прощаюсь, всем удачи и всем, пока!

Offline

Зарегистрирован: 09.01.2018

Товарищи, очень нуждаюсь в вашей помощи. Занимаюсь программированием МК недавно, и произошла проблема, решить которую мне не позволяют ограниченные знания и опыт.

Кому лень читать — вниз к жирному тексту. Здесь будут описывать все мелочи, которые хоть как-то могли стать причиной печального исхода, для установления точного диагноза.

Итак, хронология…

В течение месяца заливал много раз прошивки в плату pro mini atmel328p https://www.aliexpress.com/item/Free-Shipping-New-Atmega328-5v-Version-Pro-Mini-Module-16M-For-Arduino-Compatible/32605434250.html?spm=a2g0s.9042311.0.0.27424c4dogJK9d через USBasp v2 https://www.aliexpress.com/item/WAVGAT-USBasp-USB-ISP-3-3V-5V-AVR-Programmer-USB-ATMEGA8-ATMEGA128-New-10PIN-Wire-Support/32578298532.html?spm=a2g0s.9042311.0.0.27424c4dogJK9d В USBasp не обновлена прошивка, выдаёт предупреждение, что не может выставить другую частоту. Работало и так, забил.

Пишу в Atom с плагином Platformio-IDE. Конфигурация:
[env:atmelavr_usbasp]
platform = atmelavr
board = 328p16m
framework = arduino
upload_protocol = usbasp
upload_flags = -Pusb -B5

Пятница: распаял на пины МК разъем USB-female (MISO, MOSI, SCK, RES), который был вырезан вместе с куском платы из материнки ноута. На интерфейсе SPI также висит сдвиговый регистр дисплея. На USBasp параллельно шлейфу распаял USB-male длина 1.5-2м, свёрнут восьмеркой, стянут резинкой. Питание МК через соседний от программатора разъем USB. Блинк залился. Всё было собрано в корпус, прикручено, попытка прошивки — программатор не может найти МК. При тщательной прозвонке было выяснено, что в куске платы, на которой USB разъем, остались дорожки, и некоторые контакты соединены через диоды (вот честно, понятия не имею как оно раньше работало и прошивалось, когда с SCK на MOSI и MISO льётся всякое говно при прошивке). Ноги разъема были отрезаны от платы, звон ног друг на друга был устранён. Всё заработало, я довольный ушел спать. 

Суббота: весь день паял, звонил, лил прошивки, добавлял периферию. Вечером при заливке кода впервые появилась ошибка при верификации флеша. Несовпадение данных. При этом МК код более не выполнял. Ошибка не исчезала, пока не залью через ArduinoIDE бутлоадер. После этого прошивка заливалась. И так каждый раз. на Погуглив, решил что проблема в недостатке питания. Запитал МК отдельно через БП от телефона. При попытке залить прошивку программатор не нашел МК. Подумав, я решил, что им нужна общая земля. Кинул проводом из шлейфа землю на МК. Заработало, шилось нормально раз 5. Ушел спать.

Воскресенье: пришло время убирать сопли. Расковырял заливку на USBasp, распаял экран и оплётку на землю. Вот только на МК распаять забыл… При этом всё шилось преимущественно нормально, лишь изредка выдавая ошибки верификации. Под конец дня я полностью закончил сборку устройства. Распаял все разъемы, подключил периферию. Подал питание-всё работает. Обнаружил, что не крутится вентилятор, понял, что я просто забыл включить этот блок кода в прошивку. Дописал, нажал кнопку загрузки…

И вот тут случилась какая-то фигня.

В логе, при попытке загрузки, появилась фраза вроде:
«Фьюзы изменились. Принять изменения? (y/n)?
ERROR 1″. 

И после этого все дальнейшие попытки прошить контроллер были безуспешными. Программатор не может найти МК. Бутлоадер тоже не прошивается.

Прозвонил ещё раз все цепи, обнаружил, что не распаял землю с программатора. Не помогло. Подключал в соседние USB порты. Тоже тихо.

Собсна, а почему я просто не выкинул этот МК в мусорку и не поставил другой, коих у меня горка? А вот почему…

Всё распаяно, залито. Плата двухсторонняя. Поменять МК=переделать всё заново, включая сами платы, ибо пятаки повторной пайки не выдерживают. При этом на последнем шаге был разобран прототип, отрезана вся коммутация. А устройство должно работать…

Пожалуйста, помогите оживить этого парня, а также исправить причину такого поведения. Не хочу всё переделывать(

У меня версии следующие:

1. Что-то сбилось, когда МК прошивался через ноги, которые немного в одну сторону звонились;

2. Очень длинный кабель от программатора до МК, свернутый восьмеркой, хоть и экранированный;

3. Отсутствие общей земли при прошивке (я вообще точно не знаю, нужна ли она);

4. В МК вселился бес. 

Вариант «спалил контроллер» не рассматриваю, ведь при подключении всей периферии он работал. Да и в периферии ниче особо сложного нет. Три транзистора, дисплей через сдвиговый регистр, фоторезистор, сервомашинка, модуль RTC, четырёхканальный модуль реле, датчик температуры.

Насколько мне известно, здесь речь идёт об окислении выводов через 168 часов.

тогда я вообще ничего не понимаю…

Платы паяю сам, проблем до этого ни с LGA, ни с 0.3мм шагом не было, паяльник более-менее хороший, есть ИК лампа, нормальные жала, подогревы, термосенсоры. Когда начались проблемы, специально попробовал не рохсовский припой, чтоб наверняка и без перегрева.

Было примерно двадцать плат, на каждой по этому гребанному процессору. Примерно по 7 плат одинакового сорта-дизайна. После пробной спайки по одной плате каждого дизайна начал пробовать, ничего не прошивалось. Начал грешить на программатор, купил новый, кричал в форуме, тут был молчек, я решил бодаться дальше. Процы были куплены примерно половина у Ваттерота (Германия) и половина у Мойсера (Америка). Пролежали без силикогеля и вакуума в достаточно сыром помещении (влажность под 80-90%) наверное с месяц.

Понятно, так как сам плату разводил, знаю где на плате тыкнуться, чтобы проверить наличие контакта с ногой. Тыкался в КАЖДУЮ ногу проца и референсные точки на плате — везде сопротивление было в норме (0.1-0.2Ома максимум). Понятно на всякий случай, проверял сопротивление между соседними ногами на предмет короткого, которого не было…

После отчаянных попыток что-то на них сделать решил погреть. Процы заработали…

К сожалению, уже припаянные (удалось припаять 7 после прогрева) некоторые стали глючить, пока 5 работают как часики, а два, бывает, глючат.

Понятно, платы мыл — бензин со спиртом и по окончании какая-то лабуда из фарнела специально для мойки. На это грешить тоже бы не стал бы, так как развел, изготовил и запустил несколько высоковольтных дизайнов (30кВ, 0.05А) и знаю цену ошибок в мытье.

Сейчас продолжаю пользовать стмы в ткфп, атмеги в диповских корпусах и другие аналогичные микросхемы с МСЛ-1 и лучше. Более аналогичных проблем ни до, ни после не видел.

Может я что-то и не понял, и у меня было такое не везучее стечение обстоятельств, что сразу два производителя прислали левизну, но, как-то сильно с трудом в это верится…

С уважением

ИИВ

Первая загрузка прошивки

Подключение платы

Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер CH341 из предыдущего урока
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику

Выбор и настройка платы

  • В наборе используется Arduino Nano, выбираем в ИнструментыПлатаArduino Nano
  • На данный момент в микроконтроллер китайских плат зашит “старый” загрузчик, поэтому далее выбираем ИнструментыПроцессорATmega328p (Old Bootloader)
    • Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Теперь выбираем порт, к которому подключена плата. COM1 – в большинстве случаев системный порт, у вас должен появиться ещё один (обычно COM3)

Загрузка прошивки

“Загрузка” прошивки происходит в два этапа – компиляция и непосредственно загрузка в микроконтроллер. Компиляция – проверка кода на наличие ошибок, её можно запустить, нажав кнопку с символом галочки в верхнем меню программы. Компилировать код можно даже не подключая плату к компьютеру! При нажатии на кнопку с символом стрелочки начнётся компиляция, а затем загрузка скомпилированного кода в плату.

Вставьте следующий код с полной заменой содержимого в IDE и загрузите его. Должен начать мигать светодиод L на плате, это означает что все программы настроены верно и можно переходить к работе с набором!

Ошибка компиляции

Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо программная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием .h no such file or directory. Это означает, что в скетче используется библиотека , и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по .
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча.
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Ошибка загрузки

Возникает на этапе, когда прошивка собрана, скомпилирована, в ней нет критических ошибок, и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.

  • Если неправильно выбран COM порт – прошивка не загрузится с ошибкой avrdude: ser_open(): can’t open device. Вернитесь к пункту “Выбор и настройка платы” этого урока и убедитесь в том, что выбор порта активен и при подключении платы появляется новый.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением Ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% микроконтроллер сломался. Оставшиеся 5% – “слетел” загрузчик, и его можно прошить заново.
  • Если появилась красная надпись avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00, но прошивка по факту загрузилась – возможно проблемы с USB кабелем/портом/гнездом на плате Arduino, можно попробовать другой кабель или порт.

Источник

Arduino.ru

Ардуино не прошивается . перестала без причины!

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Ардуино не прошивается не чё не помогает,сом порты стоят правильно, дрова менял много раз, у меня их 2:

CraftDuino даёт ошибку:

Размер скетча в двоичном коде: 1 108 байт (из 32 256 байт максимум)
avrdude: stk500_getsync(): not in sync: resp=0x00

DFRduino UNO v2.0 выдаёт:

Размер скетча в двоичном коде: 1 108 байт (из 32 256 байт максимум)
avrdude: stk500_getsync(): not in sync: resp=0x30

подскажите чо за ошибки, чо с ними делать?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

где-то ниже было обсуждение такой проблемы поищите

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

мсё что находил. им либо помогала смена дров либо перезагрузка.

отправляю на порт даные. диод горид или моргает, тоесть связь есть!

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

он просто поставит дрова и всё, а у меня не помогает, на разные дуины разные ошибки!

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

попробуйте открыть монитор порта в ардуино иде к этим платам, что он ответит? и открывается ли он?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

в правом верхнем углу есть поиск по сайту

вводя туда сообщение об ошибке, можно получить бесценный опыт уже проходивших через Ваши грабли людей

кроме того есть google

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

в правом верхнем углу есть поиск по сайту

вводя туда сообщение об ошибке, можно получить бесценный опыт уже проходивших через Ваши грабли людей

кроме того есть google

яж говорю у сех был касяк с выбором сом порта или дрова виноваты , кабель хреновый, ардуона сдохла и тд

у меня было так : прошил ардуинку, чёто экран хрень паказывает, прошивать ищёраз , а хрен там, экран то заработал (контакт был плоховат) после этого ардуину прошить больше не смог,

менял ардуину , менял кабель, менял гнездо юзби, потом начал менять дрова , переустонавливать их. менял дрова матери, всё и не у помниш чё тока не делал,

отправляю через сом порт инфу — диод но дуине моргает на приём , и при прошивке он тоже моргает, а прога не меняется и ошибку выдаёт!

походу осталось тока винду сносить. вечером попробую на другом компе запустить, хотел попробывать на буке , но он походу ваще не знает чё такое сом порт

Источник

Arduino.ru

Проблема с прошивкой arduino nano v.3 на mega328p

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не получается заставить работать arduino nano. Ранее я устанавливал драйвера на arduino UNO, она работает. Без драйверов отмечена как «FT232R USB UART». После долгих танцев с бубном добился, чтобы она появилась во вкладке «Порты» в диспетчере устройств, но при попытке залить скетч кидает ошибки загрузки. Помогите iwi

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

в описании написано CH340G. а вовсе не FT232R USB UART

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Ну, диспетчер устройств считает иначе )

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

если там и вправда клон FT232R USB UART — это это грустно, пишут что оригинальные длрайвера для FT232R блокируют китайские клоны и они не работают

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

если там и вправда клон FT232R USB UART — это это грустно, пишут что оригинальные длрайвера для FT232R блокируют китайские клоны и они не работают

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Дак тресни ему хорошенечко, диспетчеру энтому.

Пусть возьмет лупу и посмотрит на прямоугольной микросхеме маркировку.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ну почему, через программатор ее шить наверняка можно

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Пусть возьмет лупу и посмотрит на прямоугольной микросхеме маркировку.

и на квадратной заодно, с учетом того что магазин называется Вавгат :)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ну почему, через программатор ее шить наверняка можно

Блин, я только недавно влился в arduino. Думаю, программатор для меня будет сложно собрать. Хотя, если найти схему и скетч для уно, можно попробовать

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

маркировку на чипах сначала посмотрите и напишите сюда. Это серьезный совет, не троллинг

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

маркировку на чипах сначала посмотрите. Это серьезный совет, не троллинг

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

маркировку на чипах сначала посмотрите и напишите сюда. Это серьезный совет, не троллинг

Сейчас выехал из дома, вернусь, скину

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не-не, потом поздно будет. Давай назад рули.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не-не, потом поздно будет. Давай назад рули.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

если там и вправда клон FT232R USB UART — это это грустно, пишут что оригинальные длрайвера для FT232R блокируют китайские клоны и они не работают

Я сталкивался с фальшивыми FT232R. С помощью бубна и какой то матери их можно подружить с компом. Мне удалось. Гуглите, там фишка в том, что надо старые (по-моему года 12-го) драйвера на них ставить — там еще не было проверки на легальность чипа. И, конечно же, запретить обновление драйверов. И предварительно удалить все текущие драйвера.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

сталкивался с фальшивыми FT232R. С помощью бубна и какой то матери их можно подружить с компом. Мне удалось. Гуглите, там фишка в том, что надо старые (по-моему года 12-го) драйвера на них ставить — там еще не было проверки на легальность чипа. И, конечно же, запретить обновление драйверов. И предварительно удалить все текущие драйвера.

Это да, только там контроллер всё таки не аппаратный, где-то даже валяются «правильные» драйвера

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

маркировку на чипах сначала посмотрите и напишите сюда. Это серьезный совет, не троллинг

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

если там и вправда клон FT232R USB UART — это это грустно, пишут что оригинальные длрайвера для FT232R блокируют китайские клоны и они не работают

Я сталкивался с фальшивыми FT232R. С помощью бубна и какой то матери их можно подружить с компом. Мне удалось. Гуглите, там фишка в том, что надо старые (по-моему года 12-го) драйвера на них ставить — там еще не было проверки на легальность чипа. И, конечно же, запретить обновление драйверов. И предварительно удалить все текущие драйвера.

Извиняюсь за наглость, ссылочки есть?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

На такие боарды ни 232, ни его клоны не ставят. Клон 232-го пошёл бы на плату попрезентабельней и подороже.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

В общем, у меня получилось завести эту заразу. Для людей с такой же проблемой небольшой гайд что делать:

Источник

Matveyugru


  • #1

Знатоки в avr, прошу помощи, мой МК не хочет прошивать Я, прошивали avrisp из ардуины, программы выдают ошибку что не могут прочитать сигнатуру, фьюзы я не трогал, прошивка в МК не работает, пробовал собрать фьюэбит доктор на ардуине, не помогло, что делать не знаю, буду благодарен любой помощи!

  • #2

прежде чем задавать вопрос вы даже не воспользовались поиском.
вопрос настолько банальный….
вам не «знающий человек» нужен, а копипастер

Эдуард Анисимов


  • #3

Чё на человека наехали?
Он уже перепробовал всё, что нашёл в интернете.
Пробовал советы, которые ему давали.
Можете дать ссылку на метод который работает на 146%. Просто дайте. А человеку который только начал этим заниматься сложно отличить нормальную инфу от фуфла, которым забит интернет.

  • #4

Можете дать ссылку на метод который работает на 146%. Просто дайте.

Эдуард, проблемы просто не существует. И потому никакого «решения на 146%» нет и быть не может.
Все дело в отсутсвии опыта и неуверенности. Человек в чем-то элементарно ошибается. но понять в чем и где — на его уровне практически нереально.
Поэтому я на такое советую не сидеть ыть инет часами, а просто отложить проблемную плату в сторону и взять новую, рабочую.
А к глючной вернутся через полгода — и плата либо прошьется с пол-пинка, либо будет уверенно и закономерно отправлена в помойку.

Эдуард Анисимов


  • #5

@bort707, USBasp в этом деле помочь может. Или нужен какой то специальный программатор?

  • #6

USBasp в этом деле помочь может.

причем тут USBASP? Образно говоря — человек взялся варить борщ, но забыл налить в кастрюльку воду.. Поможет ли ему другая кастрюля? — а фиг знает, может он в другой раз воду нальет и все получится… так и будет до конца жизни думать. что борщ можно варить только в зеленых кастрюлях…

Эдуард Анисимов


  • #7

@bort707, Ответьте пожалуйста. Не для него. Для меня.
Я хоть особо и не работаю с атмелами, но вдруг пригодится.

ТехнарьКто


  • #8

@Эдуард Анисимов,

1) Чип сожгли
2) Испортили фьюзы
___а) чип блокирован
___б) чип хочет внешний кварц
___в) чип хочет низкую скорость внешнего тактового сигнала
3) Прошили программатор ISP взамен чипа
4) плохое питание
___а) большие пульсации
___б) разные напряжения чипа и программатора (например avr запитан от 5V, а плата ISP с питанием 3.3V)
5) кривой программатор
___а) отсутствует конденсатор перезапуска
___b) плохой USB шнур
6) Ошибки операционной системы при работе с портом программатора
___а) не установлен драйвер
___б) установлен не тот драйвер
___в) работа драйвера блокируется другим ПО
___г) выбран не тот порт
___д) выбрана не та скорость
___е) сбита какая либо дополнительная настройка порта
7) Испорченные фьюзы чинят неработающим фьюзедоктором

Эдуард Анисимов


  • #10

@ТехнарьКто, Спасибо.

ответы есть в гугле 3 940 результатов!

Попробуйте набрать «STM32 перенос векторов прерывания». Получите 8млн. результатов и нет ни одного вменяемого ответа.
95% авторов ответов несут ахинею. С оставшимися 5% связаться не удалось. Ответил только один и тот после взаимных приветствий пропал с горизонта.

  • #11

@Эдуард Анисимов, здесь ситуация совсем другая, проблем может быть много, как и писал @ТехнарьКто, какая именно у автор — не понять. Если бы были полноценные вводные данные с кодом, схемой подключения, фото как оно выглядит, то было бы что обсуждать. А так — только копипастить ответы на всевозможные проблемы по списку, и то, список не полный.

  • #12

Попробуйте набрать «STM32 перенос векторов прерывания». Получите 8млн. результатов и нет ни одного вменяемого ответа.

обычно так бывает, когда вы делаете то, что никто никогда до вас не делал.
Тут может быть два варианта — либо вы гений и делаете что-то принципиально новое(тогда вы должны знать вопрос лучше гугля), либо вы делаете никому не нужную неведомую хрень :)

Эдуард Анисимов


  • #13

@IamNikolay, А кто мешает попросить, что бы объяснил. Показал. Рассказал.
Ты же знаешь где он обитает.

  • #14

@Эдуард Анисимов, а зачем?
никакой секретный алгоритм для диагностики ни кто не скрывает, нужно проверить:

  • железо
  • софт
  • исходный код

что и как проверять, а также как исправлять — есть и в поиске и в указанной теме, так что не вижу смысла писать/копипастить еще сюда

Matveyugru


  • #15

Избыточное цитирование

@Эдуард Анисимов, здесь ситуация совсем другая, проблем может быть много, как и писал @ТехнарьКто, какая именно у автор — не понять. Если бы были полноценные вводные данные с кодом, схемой подключения, фото как оно выглядит, то было бы что обсуждать. А так — только копипастить ответы на всевозможные проблемы по списку, и то, список не полный.

Код не могу предоставить, т.к. использую уже готовые HEX и EEPROM файлы, в качестве порогроматора использую ардуину, схема подключения стандартная, пробовал прошить камень отдельно от платы — не помогло.

  • 2021-05-16_214140.png

    33.7 KB
    Просмотры: 30

Matveyugru


  • #16

Избыточное цитирование

@Эдуард Анисимов,

1) Чип сожгли
2) Испортили фьюзы
___а) чип блокирован
___б) чип хочет внешний кварц
___в) чип хочет низкую скорость внешнего тактового сигнала
3) Прошили программатор ISP взамен чипа
4) плохое питание
___а) большие пульсации
___б) разные напряжения чипа и программатора (например avr запитан от 5V, а плата ISP с питанием 3.3V)
5) кривой программатор
___а) отсутствует конденсатор перезапуска
___b) плохой USB шнур
6) Ошибки операционной системы при работе с портом программатора
___а) не установлен драйвер
___б) установлен не тот драйвер
___в) работа драйвера блокируется другим ПО
___г) выбран не тот порт
___д) выбрана не та скорость
___е) сбита какая либо дополнительная настройка порта
7) Испорченные фьюзы чинят неработающим фьюзедоктором

1)Каким образом его можно сжечь?
2) Испортили фьюзы
___а) как разблокировать
___б) Он стоит
___в) на сколько низкую? я пробовал подовать от внешнего генератора 1 МГц- не помогло
3) Нет,т.к. сверадиод состояния горел как надо, без изинений
4) питал от ардуины
___а) наврятли
___б)нет
5) кривой программатор
___а) стоит на ноге RESET
___b)Хм…А вот это может быть
6)может быть
___а)драйвера стоять, иначе бы я дуню не прошил
___б) нет
___в) каким?
___г) нет
___д) а какая должна быть?
___е) например?
7) а как его проверить?

  • #17

Код не могу предоставить, т.к. использую уже готовые HEX и EEPROM файлы

то есть исходника у вас нет?

ТехнарьКто


  • #18

@Matveyugru,

Вот с этого и надо было начинать. Прошил транзистор тестер. Теперь он не работает. И не любить мозг сообществу.

Хочешь помощи? Тогда

1) Полное название транзистор тестера. Либо полная версия схемы по которой было собрано самостоятельно.
2) Что хотели получить пере прошивкой. Или это Ваша первоначальная прошивка без понимания че, куда, для чего и откуда?
3) С чего Вы взяли, что не работает? Признаки.
4) Откуда брали прошивку. Чтобы я мог определиться исходя из (1), что там залито, для исключения не то, не туда, не так.
5) Какие фьюзы были рекомендованы. Какие фьюзы вы выставляли и в какой программе. Это важно. Можно скриншот.
6) Какой дисплей применен. Загорается ли подсветка дисплея. Это тоже важно. Если нет подсветки. Снимали ли дисплей с отпаиванием подсветки.

Мной был дан вариант прошивки для конкретно LCR-T4NoStripGrid и фьюзы указаны для avrdudeprog33 в режиме отображения инверсных фьюзов. Клонов «Транзистортестер Маркуса и Karl-Heinz K ̈ubbeler» огромное количество. Даже версии от Маркуса и Карла сильно различаются. Там два разных человека двигали и развивали проект, плюс огромное количество энтузиастов. Это не Китайский прибор, а именно как обычно спи женные китайцами из открытых источников макеты, разводка и софт. Причем все старое. А уж альтернативных разработок для этого проекта, просто огромное количество, да еще и с разными дисплеями. Так что огрызок схемы не катит для помощи, от слова совсем.

@Matveyugru,
Сжечь элементарно. Воткнуть на измерение не разряженный конденсатор. Или бездарно, без понимания, прикрученный доп функционал, например измерение напряжения стабилитронов.

@bort707,
Как только увидел огрызок схемы, сразу стало все понятно. Нужен исходник? Могу дать, поскольку исходник лежит в открытом доступе для всех желающих. Мало того, есть ролики на русском языке по сборке из исходника файла прошивки. Есть подробное описание, что где и для чего править, для получения разного функционала, подключения разных дисплеев, какие ошибки бывают и все это детально расписано и немецким и русским сообществами по развитию этого проекта.

Matveyugru


  • #19

1)Полное название-GM328A
2)изначально был тестер T4,я разбил на нем экран, мне подарили ST7735 ,я решил сделать копию модели 1), перед разводкой платя припоял экран проводами к старой плате,залил прошивку без изменения фьюзов ардуиной через синапрог,он заработал без нареканий, потом развел двухстороннюю пладу для лут, после зборки тестер включился,но горел белый экран(экран я проверил и соединения тоже)потом на экране отобразилась ошибка CEL!, затем надпись Закоротите!, после нескольких перепрошивок я заложил мк

Matveyugru


  • #20

Вот схема и картинка на экране нового тестераIMG_20210422_214545.jpg

  • 44.3 KB
    Просмотры: 10

ТехнарьКто


  • #21

@Matveyugru,

😀😃😄😁😂

CEL! — это не ошибка. Это select. Закоротите — это один из пунктов калибровки. Поздравляю. Вы смогли собрать работающий транзистор тестер и на этапе калибровки за психовали и за прошивали работающее устройство. Поскольку синапрог шьет фьюзы всегда, то в очередной раз психа пере прошивки, фьюзы по умолчанию были изменены. И контроллер окирпичился. И все равно фьюзы по умолчанию для транзистор тестера надо менять на нужные. Нужные зависят от примененного кварца. А вот что там сейчас в этом кирпиче зашито, только доктор AVR разберет. Еще раз. В синапроге всегда надо выставлять фьюзы под конкретный микроконтроллер, иначе будут все равно зашиты какие нибудь, а atmega превращается в кирпич.

Кто виноват выяснили. Теперь, что делать. Либо паять рабочую atmega, либо раскирпичивать старую. На пальцах. Доктор AVR он же Atmega fusebit doctor — это высоковольтный параллельный программатор для AVR с сильно урезанными возможностями. Ног для программирования достаточно только, чтобы при параллельном программировании переписать фьюзы. На этом возможности заканчиваются. Более подробно Googl в помощь. Собрать работающий высоковольтный параллельный программатор для AVR, при умении заблокировать правильно работающий прибор. Это impossible (невозможно). Паяйте другую atmega328. А заблокированную отложите до тех пор, когда научитесь разблокировать AVR с неправильно прошитыми фьюзами.

PS Непруха по жизни? Поверь мне — это не повод для огорчения! Ведь говорят — дуракам везет. Тебе не везет? Все, значит ты не дурак!

Старик Похабыч


  • #22

Матвей далеко не дурак, просто молодой, горячий.

Эдуард Анисимов


Matveyugru


  • #24

@ТехнарьКто, Хм… Спасибо, а такой вопрос, я пробовал делать на ардуине докторо, причем 2 штуки, и к сожалению они не помогли https://www.radiokot.ru/cherdak/47/

PS Непруха по жизни? Поверь мне — это не повод для огорчения! Ведь говорят — дуракам везет. Тебе не везет? Все, значит ты не дурак

Спасибо🤣🤣🤣😅

ТехнарьКто


  • #25

такой вопрос, я пробовал делать на ардуине докторо, причем 2 штуки, и к сожалению они не помогли https://www.radiokot.ru/cherdak/47/

По указанной ссылке «РЕАНИМАТОР для AVR» сделан только применительно к ATmega8, а fuse bits у ATmega8 и ATmega328 разные.

Автор той заметки пишет: «Идея разработки этого устройства родилась после ошибочной записи значений фьюзов в ATmega8, -кусь- В своей конструкции я подключал к программатору, кроме панели для ATmega8 ещё панель для ATmega16, поскольку алгоритм программирования для него почти такой же -кусь- В результате устройство даже в такой представленной «игрушечной» версии успешно «реанимирует» кроме ATmega8 ещё и ATmega8535, ATmega16, ATmega32 -кусь-«

PS Эта информация из источников по Вашей ссылке. Желаю Вам научиться кроме фиги, видеть книгу.

Offline

Зарегистрирован: 06.04.2015

Сгорела у меня ATMEGA328 в плате ардуино UNO. Купил я 5шт ATMEGA328P, пытыюсь прошить загрузчик и ничего не выходит. Шью и как Ардуино ISP, и через программатор USBasp. Когда щью по ISP с помощью двух DUO  выдает такую ошибку avrdude: Expected signature for ATmega328P is 1E 95 0F

         Double check chip, or use -F to override this check.

Найден неправильный микроконтроллер. Вы указали правильную плату в меню Инструменты -> Плата? При прошивке указываю плату UNO, заливаю в нее скетч ARDUINOISP, выбираю программатор ARDUINO as ISP,далее жму ЗАГРУЗИТЬ ЗАГРУЗЧИК, выходит вот такая ошибка.

Когда шью через шилд ISP для UNO, вообще появляется ошибка avrdude: Yikes!  Invalid device signature.

         Double check connections and try again, or use -F to override

         this check.

Ошибка при записи загрузчика.

Хорошо сделал FUSE DOCTOR)

Подскажите что не так? ARDUINO IDE версии 1.8.13

Здравствуйте. У меня такая проблема. Перестал работать транзистор тестер FIHS 8840 на ATMEGA 328P-AU. Сначала думал купить прошитую микросхему и запаять. Но потом решил взять программатор китайский USBAVR, чистый контроллер и прошить самому( и по цене дешевле и люблю сам что-то сделать). Заказал через olx.ua. Продавец уверял, что лично шил ATMEGA 328p-au подобным программатором. Все получил через день после проплаты. И начал с божьей помощью и с помощью интернета продвигаться к конечной цели.

 С тех пор прошла неделя. А цель до сих пор недосягаемая. Мне этот программатор уже сниться начал. :blink: 

В системе, как устройство, он у меня поставился без проблем.  А микроконтроллера ни разу не увидел. Я подумал может стоит обновить прошивку на самом программаторе. Спаял для этого LPT (5 проводов) программатор ( потом и старым проверенным COM-портовским (шил им раньше ST95080). Но и эти программаторы не увидели ни ATMEGA8 16AU что на USBAVR, ни ATMEGA328P-AU, что на тестере. Подключение проверял раз 10. Ставил перемычку на «медленное» программирование и  «разрешающую» прошивку перемычку тоже ставил. Не видят программы микроконтроллеров и все тут.

Пробовал на win7 (64), на win10 (64), на win xp (32). Использовал Uniprof, SinaProg, Khazama, MiniPRO V.6,50

Помогите советом, пожалуйста. :huh:

Время на прочтение
2 мин

Количество просмотров 9.3K

Представим: купили вы новый камень для своего проекта, а он — зараза — не шьется! Все собрано правильно, программатор правильный — всё равно ошибка. Знакомо? Мне да. Поэтому я решил написать про это статью.

Немного предыстории

Понадобилась мне значит Atmega32, купил, впаял, пытаюсь прошить — ошибка!

Ошибка avrdude

Ошибка avrdude

Лезем в гугл, где вам предложат:

  • Проверить соединение

  • Проверить пайку

  • Выкинуть микроконтроллер

Другая история — попалась мне Atmega328p, друг попросил накатить загрузчик. Ошибка такая же. Похоже на случай описанный ранее? На первый взгляд да. А вот когда начнем разбираться…

Прошиваем Atmega32

Я, как и многие другие, использую дешевой китайский программатор USBasp.

USBasp

USBasp

Некоторые программаторы приходят со сбитыми элементами, непропаями и соплями. Даже если вы купите USBasp в нашем магазине, то скорее всего он будет собран в том же китайском подвале, что и его собратья купленные в китайских интернет-магазинах.

На программаторе мы видим 3 джампера: прошивка программатора — JP1, напряжение питания — JP2, и незапаяный джампер JP3 — прошивка на пониженной скорости.

Что такое «низкая скорость прошивки» и почему важна частота?

Пока перенесёмся из мира электроники, мир наш. Представим что на работе раз в час приходит начальник, чтобы проверить, как вы работаете. Время появления начальника вам известно, соответственно, вы начинаете работать и не получаете пинков от него. Но в один прекрасный момент, начальник начинает приходить раз в 45 минут, но вы этого не знаете. Так же и с МК, если он настроен на 16 MHz, но будет кварц на 8 MHz, чип не будет работать. Настройки частоты задаются фьюзами. За источник тактирования отвечают CKSEL. В зависимости от частоты, меняется скорость прошивки. Обычно на новых камнях стоят одни из этих источников тактирования:

  • External 16 MHz

  • External 8 MHz

  • Internal 8 MHz

  • Internal 1 MHz

  • Internal 128 KHz

Для работы с чипом имеющим частоту меньше 1 МГц, нужно снизить скорость прошивки. Это можно сделать перемычкой JP3 на программаторе, или в настройках используемой вами программы. После этого Atmega32 прошилась!

Прошиваем Atmega328p

В этом случае колдовать со скоростью прошивки не пришлось. Но пришлось поиграть с кварцами. Просто глядя на камень его настройки установить невозможно. А если МК не запускается, определить фьюзы даже с программатором это бесполезная затея. Не буду томить — в моем случае какой-то китаец настроил Atmega328p на External 8 MHz. Подключаем чип к программатору, жмем «Записать загрузчик» и…

Готово!

Готово!

Далее не забываем подкинуть кварц на выбранную вами частоту. В Arduino IDE частота меняется здесь (в большинстве кастомных ядер):

Выбранная частота 16MHz

Выбранная частота 16MHz

Если все равно не работает

Первый вариант: вы перебрали не все кварцы. По-хорошему, у вас должно быть достаточно разных кварцев — на 16, 8, 4 MHz. В последнее время появились микроконтроллеры с частотой 20 MHz, но их достаточно мало. Однако и такой вариант следует предусмотреть. Вот полный список частот Atmega32, на свой чип гуглите:

Все частоты AVR

Все частоты AVR

Второй вариант: вы выбрали не тот чип. Например, вот модификации atmega328:

Тот ли чип вы выбрали?

Тот ли чип вы выбрали?

Третий вариант: МК в мусорку. Попался с брачком, ну или сгорел.

Заключение

Описанные в статье проблемы выявить и устранить не всегда бывает легко, но возможно. Надеюсь статья была вам полезна, и вы узнали что-то новое или справились с проблемой. Если есть вопросы, пишите в комментарии, а на этом я с вами прощаюсь, всем удачи и всем, пока!

Возможно, вам также будет интересно:

  • Atikmdag patcher выдает ошибку driver file too large
  • Atiflash ошибка subsystem id mismatch
  • Atidxx32 dll ошибка как исправить
  • Atiadlxx dll не предназначен для выполнения windows или содержит ошибку
  • Ati ошибка код 43

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии