Existuje open source kompilátor pro kódy Arduino Sketch?

Pracuji na webové aplikaci, abych naprogramoval některá zařízení nodeMCU, která byla flashována knihovnou arduinoOTA.

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

Zkoušel jsem příklad a funguje OTA upload binárního souboru zkompilovaného z Arduino IDE.

Řekněme, že moje webová aplikace umožní uživateli kódovat v aplikaci Sketch, existuje nějaký otevřený zdrojový server nebo kompilátor na straně klienta, který může zkompilovat kód skici do souboru bin?

Komentáře

  • zapněte podrobný výstup z konzoly v Arduino IDE a uvidíte všechny spuštěné příkazy, které chcete zkompilovat a propojit. stavitel je externí a je to Open Source
  • viz například Sloeber, plugin Arduino Eclipse, jak používá Arduino toolchain a základní balíčky bez Arduino IDE
  • @Juraj Prosím napište to jako odpověď nebo uveďte URL pro tutoriál atd., který již existuje na webu, pokud o něm víte.
  • Používá se AVC GCC, který je open source gcc.gnu.org

odpověď

Arduino IDE spouští externí nástroje k vytvoření souboru hex nebo bin. Nejprve ino soubory projektu zpracuje arduino builder do souboru cpp. Poté arduino builder vyvolá řetězec nástrojů architektury MCU – kompilátor a linker. Například nástroje AVR pro 328p nebo 2560; ARM toolchain od SAMD; Nástroje xtensa pro čipy Espressif.

Novinkou je Arduino CLI , které se zaměřuje na používání Arduina s příkazovým řádkem.

Tha Arduino builder, Arduino CLI a esp8266 jádro Arduino jsou Open Source. Nástroje Extensa a Espressif SDK nejsou open source, ale jsou zdarma.

Odpověď

Vyzkoušejte PlatformIO: https://platformio.org

opensource a více platforem.

Komentáře

  • Skvělá odpověď na další otázku 🙂

Odpověď

Stačí se podívat zde https://github.com/arduino/Arduino/wiki/Build-Process porozumět procesu.

Ve skutečnosti Arduino kód není „C nebo C ++ „na 100%. Nemůžete „kompilovat directy, protože chybí některé informace. Proto když“ kompilujete „s IDE, zkopíruje soubory do dočasné složky, přidá několik řádků na začátek těchto souborů a poté zavolá základní a dobře známé avr -gcc. Pokud máte dedikovaný server, musíte pouze vyhledat balíček avr-gcc podle OS. Například pro Debian: https://packages.debian.org/stretch/gcc-avr

Pak nebo přímo odešlete kód, na který čeká avr-gcc, nebo na kód použijete stejné změny, jaké provádí IDE před odesláním kódu do GCC.

Doufám, že tato pomoc

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *