Työskentelen verkkosovelluksella ohjelmoimaan joitain nodeMCU-laitteita, jotka vilkaistiin arduinoOTA-kirjaston kanssa.
http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html
Yritin esimerkkiä ja Arduino IDE: stä kootun binaaritiedoston OTA-lähetys toimii.
Sanotaan, että verkkosovellukseni sallii käyttäjän koodata Sketchissä, onko olemassa avoimen lähdekoodin palvelin- tai asiakaspuolen kääntäjää, joka voi kääntää Sketch-koodin roskatiedostoon?
Kommentit
- ota käyttöön monipuolinen konsolilähtö Arduino IDE: ssä ja näet kaikki suoritetut komennot käännettäväksi ja linkitettäväksi. rakennustyökalu on ulkoinen ja se on avoimen lähdekoodin
- katso esimerkiksi Sloeber, Arduino Eclipse -laajennus, kuinka se käyttää Arduino-työkaluketjua ja ydinpaketteja ilman Arduino IDE: tä
- @Juraj Kirjoita tämä vastauksena tai anna URL-osoite tms. verkossa, jos tiedät sellaisen.
- AVC GCC: tä käytetään ja se on avoimen lähdekoodin gcc.gnu.org
Vastaa
Arduino IDE käyttää ulkoisia työkaluja hex- tai bin-tiedoston luomiseen. Ensin arduino builder käsittelee projektin ino-tiedostot cpp-tiedostoksi. Sitten arduino-rakentaja kutsuu MCU-arkkitehtuurin työkaluketjun – kääntäjän ja linkin. Esimerkiksi AVR-työkalut malleille 328p tai 2560; ARM-työkaluketju SAMD: lta; xtensa-työkalut Espressif-siruille.
Uusi on Arduino CLI , joka keskittyy Arduinon käyttöön komentorivillä.
Tha Arduino Builder, Arduino CLI ja esp8266 Arduino core ovat avointa lähdekoodia. Extensa-työkalut ja Espressif SDK eivät ole avointa lähdekoodia, mutta ovat ilmaisia.
Vastaa
Kokeile PlatformIO: https://platformio.org
Avaa lähdekoodin ja alustan.
Kommentit
- Erinomainen vastaus johonkin toiseen kysymykseen 🙂
Vastaa
Katsokaa tässä https://github.com/arduino/Arduino/wiki/Build-Process prosessin ymmärtämiseksi.
Itse asiassa Arduino-koodi ei ole ”C” tai C ++ ”100%: lla. Et voi kääntää suoraa, koska jotkut tiedot puuttuvat. Siksi, kun ”käännät” IDE: n kanssa, se kopioi tiedostot temp-kansioon, lisää joitain rivejä opinnäytetiedostojen alkuun ja kutsuu sitten perus- ja tunnettua avr-tiedostoa. -gcc. Jos sinulla on oma palvelin, sinun täytyy vain etsiä avr-gcc-pakettia käyttöjärjestelmän mukaan. Esimerkiksi Debian: https://packages.debian.org/stretch/gcc-avr
Sitten tai lähetät suoraan koodin, jota avr-gcc odottaa, tai syötät koodiin samat muutokset, joita IDE tekee ennen koodin lähettämistä GCC: lle.
Toivottavasti tätä apua