Finns det en kompilator med öppen källkod för Arduino Sketch-koder?

Jag arbetar med en webbapp för att programmera några nodeMCU-enheter som blinkade med arduinoOTA-biblioteket.

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

Jag försökte exemplet och OTA-uppladdningen av den binära filen som sammanställts från Arduino IDE fungerar.

Låt oss säga att min webbapp tillåter användare att koda i Sketch, finns det någon öppen källkodsserversida eller klientsidakompilator som kan kompilera Sketch-koden i bin-filen?

Kommentarer

  • aktivera detaljerad konsolutgång i Arduino IDE så kommer du att se alla de körda kommandona att kompilera och länka. byggaren är extern och den är öppen källkod li> se till exempel Sloeber, Arduino Eclipse-plugin, hur det använder Arduino verktygskedja och kärnpaket utan Arduino IDE
  • @Juraj Skriv detta som ett svar eller ange URL för en självstudie etc. som redan finns på webben, om du känner till en.
  • AVC GCC används och är öppen källkod gcc.gnu.org

Svar

Arduino IDE kör externa verktyg för att skapa hex- eller bin-filen. Först bearbetas ino-filerna i ett projekt av arduino builder till cpp-fil. Sedan åberopar arduino-byggaren MCU-arkitekturens verktygskedja – kompilator och länkare. Till exempel AVR-verktyg för 328p eller 2560; ARM-verktygskedja från SAMD; xtensa-verktyg för Espressif-chips.

Nytt är Arduino CLI , som fokuserar på att använda Arduino med kommandorad.

Tha Arduino-byggaren, Arduino CLI och esp8266 Arduino-kärnan är Open Source. Extensa-verktyg och Espressif SDK är inte öppen källkod, men är gratis.

Svar

Prova PlatformIO: https://platformio.org

Öppnar källa och plattformsövergripande.

Kommentarer

  • Bra svar på någon annan fråga 🙂

Svar

Titta bara här https://github.com/arduino/Arduino/wiki/Build-Process för att förstå processen.

Faktum är att Arduino-koden inte är ”C eller C ++ ”vid 100%. Du kan inte kompilera direkt eftersom vissa uppgifter saknas. Det är därför som när du ”kompilerar” med IDE, kopierar det filerna i en temp-mapp, lägger till några rader i början av avhandlingsfilerna och ringer sedan de grundläggande och välkända -gcc. Om du har en dedikerad server måste du bara söka efter avr-gcc-paketet enligt operativsystemet. Exempelvis för Debian: https://packages.debian.org/stretch/gcc-avr

Då eller du skickar direkt koden avr-gcc väntar på, eller så tillämpar du på koden samma ändringar som IDE gör innan du skickar koden till GCC.

Hoppas det här hjälp

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *