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ó