Можно ли установить загрузчик в клон 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 ответа
Для устройств с микроконтроллером Atmega и без предустановленного загрузчика ответ НЕТ: невозможно установить загрузчик без физического программатора.
Если есть рабочий загрузчик, но не тот, который вам нужен, можно прошить приложение, которое либо автоматически перезапишет загрузчик, либо позволит заменить загрузчик на тот, который вам нужен.
Это возможно, поскольку разделы загрузчика и приложений флэш-памяти можно стереть независимо.
Использование программатора: arduino
Попробуйте использовать программатор urclock
вместо arduino
. Похоже, это распространенная проблема для клонов Arduino. У меня была почти такая же проблема, и мне это помогло.
Я описал проблему и ее решение здесь: Я не могу загрузить свой скетч в Arduino Uno с помощью avrdude
- Как записать загрузчик?
- Не удается снова загрузиться после смены платы
- Разница в загрузчике Arduino Nano ATmega328P
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора
- Arduino Nano не отвечает, желтый светодиод быстро мигает
- ESP32-CAM первый: 0x8 TG1WDT_SYS_RESET загрузочный цикл
- Как получить свою схему (Arduino) Pro Micro, чтобы можно было программировать ее через GPIO вместо USB?
на ATmega 328p только загрузчик может записывать во флэш-память, поэтому невозможно заменить загрузчик из приложения, если загрузчик не поддерживает это, @Juraj