Van nyílt forráskódú fordító az Arduino Sketch kódokhoz?

Egy webalkalmazáson dolgozom néhány arodeinoOTA könyvtárral felvillantott nodeMCU eszköz programozásához.

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

Kipróbáltam a példát, és az Arduino IDE-ből összeállított bináris fájl OTA feltöltése működik.

Mondjuk azt, hogy a webalkalmazásom lehetővé teszi a felhasználó számára, hogy a Sketch-ben kódoljon, van-e olyan nyílt forráskódú szerver vagy kliens oldali fordító, amely lefordíthatja a Sketch kódot a bin fájlba?

Megjegyzések

  • kapcsolja be a részletes konzol kimenetet az Arduino IDE-ben, és az összes végrehajtott parancsot látni fogja a fordításhoz és a linkeléshez. Az építő külső és nyílt forráskódú
  • lásd például a Sloeber, az Arduino Eclipse bővítmény, hogyan használja az Arduino eszköztárat és az alapvető csomagokat Arduino IDE nélkül
  • @Juraj Kérjük, írja ezt válaszként, vagy adja meg URL-t egy oktatóanyaghoz stb. az interneten, ha tud róla.
  • Az AVC GCC-t használják és nyílt forráskódú gcc.gnu.org

Válasz

Az Arduino IDE külső eszközöket futtat a hex vagy bin fájl létrehozásához. Először a projekt ino fájljait dolgozza fel a arduino builder a cpp fájlba. Ezután az arduino készítő meghívja az MCU architektúra eszköztárát – a fordítót és a linkert. Például AVR eszközök 328p vagy 2560 esetén; ARM eszközlánc a SAMD-tól; xtensa eszközök az Espressif chipekhez.

Új az Arduino CLI , amely az Arduino parancssoros használatára összpontosít.

A Tha Arduino builder, az Arduino CLI és az esp8266 Arduino core nyílt forráskódúak. Az Extensa eszközök és az Espressif SDK nem nyílt forráskódúak, de ingyenesek.

Válasz

Próbálja ki a PlatformIO: https://platformio.org

Nyissa meg a forrást és több platformot.

Megjegyzések

  • Kiváló válasz egy másik kérdésre 🙂

Válasz

Csak nézz utána itt https://github.com/arduino/Arduino/wiki/Build-Process a folyamat megértése érdekében.

Valójában az Arduino kód nem “C” vagy C ++ “100% -nál. A közvetlen fordítást nem lehet lefordítani, mivel néhány információ hiányzik. Ezért amikor az IDE-vel “fordít”, akkor a fájlokat egy temp mappába másolja, a tézisek elejére néhány sort felvesz, majd meghívja az alap és jól ismert avr fájlt. -gcc. Ha dedikált szervered van, akkor csak az operációs rendszer szerint kell keresned az avr-gcc csomagot. Például a Debian esetében: https://packages.debian.org/stretch/gcc-avr

Ezután vagy közvetlenül elküldi a várakozásra váró avr-gcc kódot, vagy ugyanazokat a módosításokat alkalmazza a kódra, amelyeket az IDE végez, mielőtt elküldené a kódot a GCC-nek.

Remélem, hogy ez a súgó

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük