Программатор не видит микроконтроллер.
Думаю многие читали в сети, о том что если неправильно установить фьюзы, то стандартными средствами прошить МК уже не получится.
Какие фьюзы можно неправильно установить? У микроконтроллера Atmega16 таких фьюзов несколько:
При попытке считать сигнатуры по jtag, atmel studio предложила проверить правильность подключения, а после проверки стало понятно, что ошибка кроется в другом месте, скорее всего, отключена возможность программирования по jtag и дальше было два варианта развития событий: попробовать прошить по SPI, если конечно он тоже не отключён или познакомиться с HVPP. Программатор, который сейчас использую — AVRDRAGON, предоставляет возможность прошивать по HVPP, поэтому выбор пал на второй вариант.
Первым делом необходимо найти схему подключения, для этого идём на atmel.com и находим раздел, посвящённый AVRDRAGON, в этом разделе находим схемы подключения к ATmega16, Devicesheet: SCKT3100A3. Нас интересует только параллельное программирование.
Соединяем выводы как показано на картинке, не забывая соединить 2 вывод колодки SPI c VCC, иначе работать не будет.
И пробуем подключиться.
Подключение прошло успешно.
Как и предполагалось фьюз JTAGEN, отвечающий за программирование по jtag сброшен, устанавливаем его и фьюз OCDEN, который разрешает производить отладку по debugWIRE и JTAG. После прошивки вновь появилась возможность программировать и отлаживать ATmega16 по jtag, тот у кого нет AVRDRAGON, может найти в сети и собрать устройство под названием «Atmega fusebit doctor» и с его помощью восстановить работоспособность залоченного МК.
Покупал AVRDRAGON тут.
Какие фьюзы можно неправильно установить? У микроконтроллера Atmega16 таких фьюзов несколько:
- SPIEN и JTAGEN — разрешающие программирование микроконтроллера по SPI и JTAG;
- RSTDISBL — разрешающий использование ножки сброса как дополнительной линии ввода-вывода;
- Также микроконтроллер не запустится если в качестве источника тактирования указать кварцевый резонатор, а потом попробовать запустить без него, что конечно же логично.
При попытке считать сигнатуры по jtag, atmel studio предложила проверить правильность подключения, а после проверки стало понятно, что ошибка кроется в другом месте, скорее всего, отключена возможность программирования по jtag и дальше было два варианта развития событий: попробовать прошить по SPI, если конечно он тоже не отключён или познакомиться с HVPP. Программатор, который сейчас использую — AVRDRAGON, предоставляет возможность прошивать по HVPP, поэтому выбор пал на второй вариант.
Первым делом необходимо найти схему подключения, для этого идём на atmel.com и находим раздел, посвящённый AVRDRAGON, в этом разделе находим схемы подключения к ATmega16, Devicesheet: SCKT3100A3. Нас интересует только параллельное программирование.
Соединяем выводы как показано на картинке, не забывая соединить 2 вывод колодки SPI c VCC, иначе работать не будет.
И пробуем подключиться.
Подключение прошло успешно.
Как и предполагалось фьюз JTAGEN, отвечающий за программирование по jtag сброшен, устанавливаем его и фьюз OCDEN, который разрешает производить отладку по debugWIRE и JTAG. После прошивки вновь появилась возможность программировать и отлаживать ATmega16 по jtag, тот у кого нет AVRDRAGON, может найти в сети и собрать устройство под названием «Atmega fusebit doctor» и с его помощью восстановить работоспособность залоченного МК.
Покупал AVRDRAGON тут.
Похожие статьи