Восстановление фьюзов atmega328p в Arduino Nano 3.0
- Войдите на сайт для отправки комментариев
Сб, 20/04/2019 - 13:25
Добрый день, коллеги!
Прошу консультации. Возможно ли выполнить высоковольное программирование чипа atmega328p не выпаивая его из модуля Arduino Nano, подключив к программатору через выведенные на плате пины?
Если я верно понял из документации, то HVSP чип atmega328p не поддерживает, возможно только HVPP. Есть программатор, но нет желания перепаивать TQFP32 чип из модуля в переходник для программирования, а потом обратно в модуль Nano.
Может есть какой-то лайфхак, позволяющий восстановить фьюзы менее варварским способом?
По смыслу нужно вернуть контроллер в режим ISP из режима отладки DebugWire.
С уважением, Дмитрий.
Erase and Reset чо, нипамагает???
Спасибо, но разделы 28.6 и 28.7 в приведенном вами документе касаются высоковольтного параллельного программирования (HVPP). Уточните, где там про HVSP говорится?
То, что atmega328 не поддерживает HVSP я взял из таблички здесь: https://www.microchip.com/webdoc/stk500/stk500.highVoltageProgramming.html
Erase and Reset чо, нипамагает???
Chip Erase - это же процедура параллельного высоковольного программирования HVPP, разве нет?
Но вот с HVPP как раз и есть засада. Мало того, что вывод чипа XTAL1 (7) не выведен наружу, но его еще можно подпаять аккуратно, то вот вывод AVCC (18) разведен на плате на общее питание +5 в и дорожка уходит сразу под чип, так что ее даже временно не перережешь не отпаяв чип. :(
Виноват, кривоо прочитал и воспринял, что Вы как раз говорите, что параллельное программирование не поддерживается. Что-то в последние дни меня не первый раз уже переклинивает. надо коньячку принять и расслабиться. Сорри.
Прими, от переклина помогат стакашка-другая...
Нет, не видна. Она не вышла корректно из режима отладки DebugWire и на reset адекватно не реагирует. Полагаю, у нее установлен сейчас fuse DWEN, который мешает перепрошивке как через бутлоадер, так и через ISP.
Видимо и reset изменён, если верить интернету. Тогда, предполагаю, только по высокой. Без выпайки не знаю, уже интересовался.
Upd.
Возможно, что для HVPP чип можно и не выпаивать, а изъять несколько деталей обвеса. Т.е. освободить нужные ноги (кварц, резистор reset<->Vcc, может еще...). Если не забросите, то огласите пожалуйста результат.
Видимо и reset изменён, если верить интернету. Тогда, предполагаю, только по высокой. Без выпайки не знаю, уже интересовался.
Upd.
Возможно, что для HVPP чип можно и не выпаивать, а изъять несколько деталей обвеса. Т.е. освободить нужные ноги (кварц, резистор reset<->Vcc, может еще...). Если не забросите, то огласите пожалуйста результат.
Мне оказалось проще выпаять чип, запаять его на переходник и сунуть в программатор. Высковольтным программированием фьюзы исправил и запаял обратно. Но не без проблем. Долго не мог понять, почему программатор (TL866II+) не может работать с чипом по ISP, пока не выяснил, что МК при опросе по ISP выдает программатору Device ID в виде 0xFFFFFF, вместо штатного 0x1E950F. Ну и программатор отказывался с ним работать, пока не снял галочку Check ID. При этом, в режиме высоковольтного программирования - все ок. Думал у программатора крыша поехала - нет, другие atmega328p читает корректно. Более того, другой программатор (AVR Dragon) у глючного чипа читает корректный ID.
Фиг знает почему так происходит.