i've recently decided to give eclipse-photon-cdt a shot. i use it with the built in arduino plugin, downloaded my feather m0 board config and tried to upload an empty sketch. failed, the console shows it tries to connect but fails. of course arudino ide 1.8.5 succeeds wonderfully. point is if i copy paste the command line activating bossac i get the same result. i also know why. when using scripts i need to use a python scripts that uses serial signaling to reset the feather into bootloader mode. arduino ide does it on his own probably using java. eclipse doesn't do that which sounds like a huge bug to me.

am i missing something ? or did they actually assumed i'll press twice on the reset button on the board each and every time i want to upload a sketch ?

  • 2
    if you want to use Eclipse with Arduino, use Sloeber plugin – Juraj Aug 21 '18 at 19:03
  • that's a poor answer, it tell me don't use that tool, use another, i'm not keen on eclipse i can use any other tool or build system like cmake\make\platformio or frameworks like zephyr or mynewt that already have it and use vim\sublime etc... suggesting another tool does not solve my problem only promoites that you are using another tool you like better. – codeScriber Aug 22 '18 at 7:25
  • 1
    It is not an answer. Majenko wrote a good answer. It is "If you want to use Eclipse". Sloeber integrates into Eclipse the Arduino build tools and hardware packages of Arduino IDE. the reset there works – Juraj Aug 22 '18 at 7:43

It sounds to me like Eclipse doesn't know how to reboot the board into the bootloader.

Traditional Arduinos automatically boot into the bootloader when the board is reset, and the board resets every time you open the serial port thanks to the USB chip having DTR connected (through a capacitor) to the reset pin of the man MCU.

Chips with a direct USB connection can't do that (boards like the M0 Feather, the Leonardo, etc). Instead they have to be rebooted by opening the serial port at 1200 baud and then closing it again.

With the "traditional" boards the IDE neither knows, nor cares, about rebooting the board - it just happens. However with direct USB boards the IDE has to have specific code to perform the reboot at the right time. The Arduino IDE has that code. However I would guess that the Eclipse plugin either doesn't implement that, or doesn't have the ability to implement it.

So you will have to manually reset the board for programming.

  • i thought so. it's interesting about the AVR's didn't know that, is the capicitor resides inside the MCU or is it external part that is connected to the USB ? also the DTR is set or reset when the port opens ? AFAIK it's supposed to be set when the port is open, but if u want to reset the board you want to pull down the reset pin meaning you want DTR to be unset. can you please elaborate ? – codeScriber Aug 22 '18 at 7:23
  • 1
    Capacitor is external. DTR is an active low signal. – Majenko Aug 22 '18 at 8:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.