Проблема с загрузкой в ATMega с использованием ArduinoIDE («разблокировка» «кирпичного» микроконтроллера?)
У меня есть SparkFun Pro Micro, который является клоном Arduino Leonardo. К сожалению, мои попытки загрузить программы не увенчались успехом. Я провел небольшое исследование в Интернете и обнаружил, что вам нужно использовать конфигурацию SparkFun. Вам нужно использовать URL-адрес менеджера доски: https://raw.githubusercontent.com/sparkfun /Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
Пока все хорошо. После попытки использовать это я попытался выполнить загрузку, но потерпел неудачу. Я пробовал с разными настройками, но все безуспешно. Раньше существовал последовательный порт с именем /dev/ttyACM0
, но сейчас такого порта больше нет. Дальнейшие исследования дали мне информацию о том, что вы можете запустить устройство, если вы а) вернетесь в режим загрузчика, где у вас должно быть 8 секунд для загрузки, и б) действительно выполните загрузку.
Я могу проверить: если я заземлю RESET, я смогу переключиться в этот 8-секундный режим. Затем устройство /dev/ttyACM0
появляется примерно через 1 секунду в течение примерно 7 секунд. По указанию я немедленно пытаюсь выполнить загрузку. Это странно: я сразу (!) получаю следующий результат:
- Строка 1:
Sketch использует 4140 байт (14%) дискового пространства программы. Максимум — 28672 байта.
- Строка 2:
Глобальные переменные используют 149 байт (5%) динамической памяти, оставляя 2411 байт для локальных переменных. Максимум — 2560 байт.
- Строка 3:
avrdude: ser_open(): невозможно открыть устройство «/dev/ttyACM0»: такого файла или каталога нет
- Строка 4:
Проблема с загрузкой на доску. См. предложения по адресу http://www.arduino.cc/en/Guide/Troubleshooting#upload.
TTY должен быть там, поскольку в этом случае 7 секунд не прошли. Кроме того, моя учетная запись пользователя находится в dialout
, что позволяет ей использовать tty.
Если я доверяю этому сообщению об ошибке, это означает, что терминал пропал, как только avrdude
попытается получить к нему доступ. Чего не должно быть так, не так ли?
Кто-нибудь сталкивался с такой ситуацией раньше? Как загрузить программу в микроконтроллер? Есть ли у кого-нибудь здесь опыт такой ситуации?
--
Дополнительная информация:
- ArdunoIDE 1.8.5
- Ubuntu (Mate) Linux 16.04
@Regis May, 👍1
Обсуждение1 ответ
Мы часто их используем, и очень легко случайно запрограммировать платы с неправильными настройками, особенно потому, что библиотека Sparkfun Pro Micro по умолчанию использует вариант 3,3 В/8 МГц вместо более распространённого 5 В/16 МГц.
Я восстановил платы методом сброса загрузчика, но это сложно — нужно правильно рассчитать время. Теперь мы просто переустанавливаем загрузчик с помощью программатора ISP (инструкции: https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader). Это срабатывает с первого раза и в итоге получается намного быстрее, чем повторяющиеся попытки правильно настроить время сброса. Просто убедитесь, что вы выбрали нужную плату, когда записываете загрузчик. Мы используем USBASP, и настройка занимает всего пару минут.
Думаю, я правильно рассчитал время. Я уложился в 8 секунд. Тем не менее, я посмотрю предоставленные вами данные, спасибо! На этой неделе я буду в командировке, но вернусь к этой теме на следующей неделе. Пожалуйста, проявите немного терпения! Спасибо!, @Regis May
- Как записать загрузчик?
- Не удается снова загрузиться после смены платы
- Разница в загрузчике 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?
версия IDE?, @Juraj
АрдуноИДЕ 1.8.5, @Regis May
Работала ли загрузка с другой платой, например Arduino Uno, или это ваша первая плата? Вы состоите в группе дозвона? Менеджер модемов установлен? Вы должны удалить его. Цель модем-менеджера — вызвать проблемы с Arduino Pro Micro (и другими платами). Если вам не нравятся дополнения от sparkfun, то вы можете записать на него загрузчик официальной Arduino Micro, но надо позаботиться о том, чтобы у него было меньше контактов. У вас есть что-нибудь, связанное с Arduino, установленное из репозиториев? можешь попробовать удалить Java? Обязательно удалите файл librxtx-java., @Jot
Сначала я использовал совершенно другой микроконтроллер, который работал отлично. Это была не ATMega, а ESP8266. Затем я переключился на другую плату, попытался изменить настройки этой платы., @Regis May
Да, модемменеджер установлен. Я читал об этом. Но я не могу удалить диспетчер модема: он приведет к удалению всего пользовательского интерфейса Mate из-за зависимостей. Не знаю, мешает ли менеджер модема: я уже пользовался этой платой и несколько раз выкладывал программы для ее тестирования. Теперь мне захотелось этим по-настоящему воспользоваться..., @Regis May
Почему мне следует удалить Java? Что бы это помогло? Пожалуйста, предоставьте больше информации: я не понимаю, как это повлияет на этот
avrdude
(что бы это ни было...), @Regis MayЯ прочитал руководство, предоставленное SparkFun, в котором говорится, что вам следует переключить микроконтроллер в этот 8-секундный режим загрузчика. Затем он должен принять любую загрузку (чего нет...), @Regis May