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