Czy istnieje kompilator open source dla kodów Arduino Sketch?

Pracuję nad aplikacją internetową do programowania niektórych urządzeń nodeMCU, które zostały sflashowane biblioteką arduinoOTA.

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

Wypróbowałem przykład i ładowanie OTA pliku binarnego skompilowanego z Arduino IDE działa.

Powiedzmy, że moja aplikacja internetowa umożliwia użytkownikom programowanie w programie Sketch. Czy istnieje kompilator typu open source po stronie serwera lub klienta, który może skompilować kod Sketch do pliku bin?

Komentarze

  • włącz szczegółowe dane wyjściowe konsoli w Arduino IDE, a zobaczysz wszystkie wykonane polecenia kompilacji i linkowania. Kreator jest zewnętrzny i jest to Open Source
  • zobacz na przykład Sloeber, wtyczkę Arduino Eclipse, w jaki sposób wykorzystuje łańcuch narzędzi Arduino i podstawowe pakiety bez Arduino IDE
  • @Juraj Napisz to jako odpowiedź lub podaj adres URL samouczka itp., który już istnieje w sieci, jeśli ją znasz.
  • AVC GCC jest używane i jest open source gcc.gnu.org

Odpowiedź

Arduino IDE uruchamia zewnętrzne narzędzia do tworzenia pliku hex lub bin. Najpierw pliki ino projektu są przetwarzane przez program budujący arduino do pliku cpp. Następnie kreator arduino wywołuje łańcuch narzędzi architektury MCU – kompilator i konsolidator. Na przykład narzędzia AVR dla 328p lub 2560; Łańcuch narzędzi ARM firmy SAMD; xtensa dla układów Espressif.

Nowością jest Arduino CLI , który koncentruje się na używaniu Arduino z wierszem poleceń.

Konstruktor Arduino, Arduino CLI i rdzeń Arduino esp8266 są Open Source. Narzędzia Extensa i Espressif SDK nie są open source, ale są bezpłatne.

Odpowiedź

Wypróbuj PlatformIO: https://platformio.org

Open Source i wiele platform.

Komentarze

  • Świetna odpowiedź na inne pytanie 🙂

Odpowiedź

Wystarczy spojrzeć tutaj https://github.com/arduino/Arduino/wiki/Build-Process , aby zrozumieć proces.

W rzeczywistości kod Arduino to nie „C lub C ++ ”na 100%. Możesz skompilować bezpośrednio, ponieważ brakuje niektórych informacji. Dlatego, kiedy „kompilujesz” z IDE, kopiuje ono pliki do folderu tymczasowego, dodaje kilka wierszy na początku tych plików, a następnie wywołuje podstawowy i dobrze znany avr -gcc. Jeśli masz serwer dedykowany, po prostu musisz wyszukać pakiet avr-gcc zgodnie z systemem operacyjnym. Np. dla Debiana: https://packages.debian.org/stretch/gcc-avr

Następnie lub wyślij bezpośrednio kod, na który czeka avr-gcc, lub zastosuj w kodzie te same zmiany, które robi IDE przed wysłaniem kodu do GCC.

Mam nadzieję, że ta pomoc

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *