Există un compilator open source pentru codurile Arduino Sketch?

Lucrez la o aplicație web pentru a programa câteva dispozitive nodeMCU care au fost flashate cu biblioteca arduinoOTA.

http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html

Am încercat exemplul și funcționează încărcarea OTA a fișierului binar compilat din Arduino IDE.

Să spunem că aplicația mea web va permite utilizatorului să codeze în Sketch, există vreun compilator open source sau client care poate compila codul Sketch în fișierul bin?

Comentarii

  • activați ieșirea de consolă detaliată în Arduino IDE și veți vedea toate comenzile executate pentru a compila și lega. constructorul este extern și este Open Source
  • vezi de exemplu Sloeber, pluginul Arduino Eclipse, modul în care folosește lanțul de instrumente Arduino și pachetele de bază fără ID Arduino
  • @Juraj Vă rugăm să scrieți acest lucru ca răspuns sau să dați URL pentru un tutorial etc. care există deja pe web, dacă știți unul.
  • AVC GCC este utilizat și este open source gcc.gnu.org

Răspuns

Arduino IDE rulează instrumente externe pentru a crea fișierul hex sau bin. Mai întâi fișierele ino ale unui proiect sunt procesate de arduino builder la fișierul cpp. Apoi, constructorul arduino invocă lanțul de instrumente al arhitecturii MCU – compilator și linker. De exemplu, instrumentele AVR pentru 328p sau 2560; Lanțul de instrumente ARM de la SAMD; instrumente xtensa pentru cipuri Espressif.

Nou este CLI Arduino , care se concentrează pe utilizarea Arduino cu linia de comandă.

Tha Arduino Builder, Arduino CLI și esp8266 Arduino core sunt Open Source. Instrumentele Extensa și SDK-ul Espressif nu sunt open source, dar sunt gratuite.

Răspuns

Încercați PlatformIO: https://platformio.org

Opensource și cross platform.

Comentarii

  • Răspuns excelent la o altă întrebare 🙂

Răspuns

Aruncă o privire aici https://github.com/arduino/Arduino/wiki/Build-Process pentru a înțelege procesul.

De fapt, codul Arduino nu este „C sau C ++ „la 100%. Nu puteți compila direct deoarece lipsesc unele informații. Acesta este motivul pentru care, atunci când „compilați” cu IDE, acesta copiază fișierele într-un folder temporal, adăugați câteva linii la începutul acestor fișiere și apoi apelați avrul de bază și bine cunoscut -gcc. Dacă aveți un server dedicat, trebuie doar să căutați pachetul avr-gcc conform sistemului de operare. De exemplu, pentru Debian: https://packages.debian.org/stretch/gcc-avr

Apoi, sau trimiteți direct codul pe care îl așteaptă avr-gcc, sau aplicați codului aceleași modificări pe care le face IDE înainte de a trimite codul către GCC.

Sper că acest ajutor

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *