Можно ли установить загрузчик в клон Arduino без физического программатора?

Я получил клон Arduino UNO, подключил его к компьютеру через USB. Я не могу загрузить скетчи.

В IDE выбраны правильная плата и порт. Windows распознает его как устройство, хотя у него есть CH340 (известная проблема с китайскими клонами), поэтому проблема не в драйверах. Все физические соединения и проводка на плате кажутся исправными.

Поэтому я склонен полагать, что проблема в загрузчике.

Покопавшись немного, я не нашел способа установить загрузчик Arduino, для которого не требовалось бы устройство программирования или дополнительная оригинальная плата Arduino.

Вот вывод консоли после попытки загрузить скетч.

avrdude: Version 6.3-20190619
     Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
     Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "C:\Users\lhyse\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

     Using Port                    : COM3
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xaa
     avrdude: stk500_recv(): programmer is not responding
     avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xaa
     
     avrdude done.  Thank you.

     Failed uploading: uploading error: exit status 1

, 👍2


2 ответа


0

Для устройств с микроконтроллером Atmega и без предустановленного загрузчика ответ НЕТ: невозможно установить загрузчик без физического программатора.

Если есть рабочий загрузчик, но не тот, который вам нужен, можно прошить приложение, которое либо автоматически перезапишет загрузчик, либо позволит заменить загрузчик на тот, который вам нужен.

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

,

на ATmega 328p только загрузчик может записывать во флэш-память, поэтому невозможно заменить загрузчик из приложения, если загрузчик не поддерживает это, @Juraj


0

Использование программатора: arduino

Попробуйте использовать программатор urclock вместо arduino. Похоже, это распространенная проблема для клонов Arduino. У меня была почти такая же проблема, и мне это помогло.

Я описал проблему и ее решение здесь: Я не могу загрузить свой скетч в Arduino Uno с помощью avrdude

,