eclipse photon с плагином cdt-arduino не может загрузить скетчи

Недавно я решил попробовать eclipse-photon-cdt. Я использую его со встроенным плагином Arduino, скачал конфигурацию платы feather m0 и попытался загрузить пустой скетч. Не удалось, консоль показывает, что она пытается подключиться, но не может. Конечно, Arudino IDE 1.8.5 справляется с этим замечательно. Суть в том, что если я копирую и вставляю командную строку, активирующую bossac, я получаю тот же результат. Я также знаю, почему. При использовании скриптов мне нужно использовать скрипты Python, которые используют последовательную передачу сигналов для сброса feather в режим загрузчика. Arduino IDE делает это самостоятельно, вероятно, с помощью Java. Eclipse этого не делает, что, на мой взгляд, является огромной ошибкой.

Я что-то упустил? Или они действительно предполагали, что я буду дважды нажимать кнопку сброса на плате каждый раз, когда захочу загрузить скетч?

, 👍0

Обсуждение

если вы хотите использовать Eclipse с Arduino, используйте плагин Sloeber, @Juraj

это плохой ответ, он говорит мне, не используйте этот инструмент, используйте другой, мне не нравится Eclipse, я могу использовать любой другой инструмент или систему сборки, например cmake\make\platformio или фреймворки, например zephyr или mynewt, в которых он уже есть, и использовать vim\sublime и т. д. Предложение другого инструмента не решит мою проблему, а только покажет, что вы используете другой инструмент, который вам больше нравится., @codeScriber

Это не ответ. Majenko написал хороший ответ. Это "Если вы хотите использовать Eclipse". Sloeber интегрирует в Eclipse инструменты сборки Arduino и аппаратные пакеты Arduino IDE. сброс там работает, @Juraj


1 ответ


Лучший ответ:

0

Мне кажется, что Eclipse не знает, как перезагрузить плату в загрузчик.

Традиционные Arduino автоматически загружаются в загрузчик при сбросе платы, а плата сбрасывается каждый раз, когда вы открываете последовательный порт, благодаря чипу USB, имеющему DTR, подключенный (через конденсатор) к выводу сброса главного микроконтроллера.

Чипы с прямым подключением USB не могут этого сделать (платы типа M0 Feather, Leonardo и т. д.). Вместо этого их нужно перезагрузить, открыв последовательный порт на скорости 1200 бод и затем снова закрыв его.

С «традиционными» платами IDE не знает и не заботится о перезагрузке платы — она просто происходит. Однако с прямыми USB-платами IDE должен иметь определенный код для выполнения перезагрузки в нужное время. В Arduino IDE такой код есть. Однако я предполагаю, что плагин Eclipse либо не реализует это, либо не имеет возможности это реализовать.

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

,

Я так и думал. Интересно, что касается AVR, не знал. Конденсатор находится внутри микроконтроллера или это внешняя часть, подключенная к USB? Также DTR устанавливается или сбрасывается, когда открывается порт? Насколько мне известно, он должен устанавливаться, когда открывается порт, но если вы хотите сбросить плату, вам нужно потянуть контакт сброса вниз, что означает, что вы хотите, чтобы DTR был сброшен. Не могли бы вы пояснить?, @codeScriber

Конденсатор внешний. DTR — активный низкий сигнал., @Majenko