arduinoOTAライブラリでフラッシュされたいくつかのnodeMCUデバイスをプログラムするWebアプリに取り組んでいます。
http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html
例を試しましたが、ArduinoIDEからコンパイルされたバイナリファイルのOTAアップロードが機能します。
私のウェブアプリでユーザーがSketchでコーディングできるようになるとしましょう。Sketchコードをbinファイルにコンパイルできるオープンソースのサーバー側またはクライアント側のコンパイラはありますか?
コメント
- Arduino IDEで詳細なコンソール出力をオンにすると、コンパイルおよびリンクするために実行されたすべてのコマンドが表示されます。ビルダーは外部であり、オープンソースです
- たとえば、Sloeber、Arduino Eclipseプラグイン、ArduinoIDEなしでArduinoツールチェーンとコアパッケージを使用する方法を参照してください
- @Jurajこれを回答として書き込むか、既存のチュートリアルなどのURLを指定してください知っている場合は、Web上で。
- AVC GCCが使用され、オープンソースです gcc.gnu.org
回答
Arduino IDEは、外部ツールを実行して、16進ファイルまたはbinファイルを作成します。最初に、プロジェクトのinoファイルが arduino builder によってcppファイルに処理されます。次に、arduinoビルダーはMCUアーキテクチャのツールチェーン(コンパイラーとリンカー)を呼び出します。たとえば、328pまたは2560用のAVRツール。 SAMDのARMツールチェーン。 Espressifチップ用のxtensaツール。
新しいのは Arduino CLI で、コマンドラインでのArduinoの使用に重点を置いています。
Arduinoビルダー、Arduino CLI、およびesp8266Arduinoコアはオープンソースです。 ExtensaツールとEspressifSDKはオープンソースではありませんが、無料です。
回答
回答
ご覧くださいここで https://github.com/arduino/Arduino/wiki/Build-Process プロセスを理解します。
実際、Arduinoコードは「CまたはC ++ “を100%で。一部の情報が欠落しているため、直接コンパイルすることはできません。これが、IDEで「コンパイル」するときに、ファイルを一時フォルダーにコピーし、これらのファイルの先頭にいくつかの行を追加してから、基本的でよく知られているavrを呼び出す理由です。 -gcc。専用サーバーがある場合は、OSに応じてavr-gccパッケージを検索する必要があります。たとえば、Debianの場合: https://packages.debian.org/stretch/gcc-avr
次に、avr-gccが待機しているコードを直接送信するか、コードをGCCに送信する前にIDEが行っているのと同じ変更をコードに適用します。
このヘルプを希望します