Github: https://github.com/espressif/esptool
esptool.py
Espressif ESP8266およびESP32チップのROMブートローダと通信する、Pythonベースのオープンソースのプラットフォームに依存しないユーティリティです。
esptool.pyは、非公式コミュニティプロジェクトとしてFredrik Ahlberg(@ themadinventor )によって開始されました。 これは現在、Espressifでもサポートされています。 現在のプライマリメンテナーはAngus Gratton(@ projectgus )です。
esptool.pyは、GPLv2ライセンスの下でフリーソフトウェアです。
インストール/依存関係
簡単インストール
Python 2.7またはPython 3.4以上がシステムにインストールされている必要があります。
最新の安定したesptool.pyリリースは、 pipiからpip経由でインストールできます:
$ pip install esptool
いくつかのPythonのインストールでは、これはうまくいかず、エラーがpython -m pip install esptool
うpython -m pip install esptool
またはpip2 install esptool
試してみてください。
インストール後、デフォルトのPython実行可能ファイルディレクトリにesptool.py
インストールし、 esptool.py
コマンドで実行する必要があります。
手動インストール
手動インストールでは、このリポジトリから最新の開発バージョンを実行できます。
esptool.pyは、ターゲットデバイスとのシリアル通信のpySerialバージョン2.5以降に依存します。
python setup.py install
実行してesptool.pyをシステム全体でインストールすることを選択した場合、これは自動的に処理されます。
setup.py
を使用しない場合、あなたのプラットフォームに応じてpip install pyserial
、 easy_install pyserial
またはapt-get install python-serial
ようなものを実行して、手動でpySerialをインストールする必要があります。 (正式なpySerialのインストール手順はこちら )。
esptool.pyはpyaes&ecdsa Pythonモジュールを “vendored”ライブラリとしてバンドルしています。 これらのモジュールは、ESP32のみのespsecure.py
およびespefuse.py
ツールを使用する場合に必要です。 上記のようにpip
またはsetup.py
てesptool.pyをインストールすると、これらのライブラリのバージョンがpypiからインストールされます。 esptool.pyをリポジトリディレクトリから直接実行すると、 “vendored”バージョンが使用されます。
使用法
esptool.py -h
を使用して、使用可能なすべてのコマンドとコマンドラインオプションの概要を確認してください。
特定のコマンドのすべてのオプションを表示するには、コマンド名に-h
を追加します。 つまり、 esptool.py write_flash -h
です。
共通オプション
シリアルポート
シリアルポートは、 -p /dev/ttyUSB0
(LinuxおよびOSXのようなunixenの場合)や-p COM1
(Windowsの場合)のように-p
オプションを使用して選択します。
WindowsでCygwinを使用している場合は、Windows形式の名前をUnixスタイルのパス( COM1
→ /dev/ttyS0
など)に変換する必要があり/dev/ttyS0
。 (ESP32にESP32を指定したWindows環境でesp-idfを使用する場合は不要ですが、この環境ではCOMポートをそのまま受け入れるmingw Pythonとpyserialを使用します)。
Linuxでは、現在のユーザーがシリアルポートにアクセスできないことがあり、「Permission Denied」エラーが表示されます。 ほとんどのLinuxディストリビューションでは、解決策はsudo usermod -a -G dialout <USERNAME>
ようなコマンドでユーザをdialout
グループに追加することです。 詳細については、Linuxディストリビューションのドキュメントを参照してください。
ボーレート
デフォルトのesptool.pyボーレートは115200bpsです。 異なるレートは、 -b 921600
(またはあなたの選択した別のボーレート)を使用して設定できます。 デフォルトのボーレートは、 ESPTOOL_BAUD
環境変数を使用して指定することもできます。 これwrite_flash
、 read_flash
操作とread_flash
操作が高速化されます。
esptool.pyが初期接続を確立するときボーレートは115200に制限されますが、高速転送はデータ転送にのみ使用されます。
ほとんどのハードウェア構成は-b 230400
、一部は-b 460800
、 -b 921600
、および/または-b 1500000
以上で動作します。
接続に問題がある場合は、ボーレートを115200未満に設定することもできます。 ブート・ログ情報を出力するためにESP8266が使用する通常のボー・レートである74880を選択することもできます。
コマンド
ELFをバイナリに変換する
elf2image
コマンドは、ELFファイル(コンパイラ/リンカの出力から)をフラッシュするバイナリブロブに変換します。
esptool.py --chip esp8266 elf2image my_app.elf
このコマンドはシリアル接続を必要としません。
elf2image
は、 フラッシュモードの引数--flash_freq
とelf2image
も受け付けます。これはイメージヘッダーのデフォルト値を設定するために使用できます。 これは、チップによって直接ブートされるイメージを生成する場合に重要です。 これらの値は、 write_flash
コマンドで上書きすることもできます。詳しくは、 write_flashコマンドを参照してください。
ESP8266のelf2イメージ
デフォルトのコマンド出力は、 my_app.elf-0x00000.bin
とmy_app.elf-0x40000.bin
2つのバイナリファイルです。 ファームウェアファイル名のプレフィックスは、 – --output/-o
オプションを使用して変更できます。
elf2image
は、 rbootやEspressifブートローダプログラムなどのソフトウェアブートローダスタブでの使用に適した「バージョン2」イメージファイルを生成することもできます。 適切なブートローダーを点滅させることなく “バージョン2″イメージをフラッシュすることはできません。
esptool.py --chip esp8266 elf2image --version=2 -o my_app-ota.bin my_app.elf
elf2image for ESP32
esp32の場合、elf2imageは単一の出力バイナリ “image file”を生成します。 デフォルトでは、これは.elfファイルと同じ名前で、拡張子は.binです。 すなわち:
esptool.py --chip esp32 elf2image my_esp32_app.elf
上記の例では、出力イメージファイルはmy_esp32_app.bin
と呼ばれmy_esp32_app.bin
。
バイナリをフラッシュに書き込む
elf2imageまたはmake_imageのバイナリは、シリアルwrite_flash
コマンドを使ってチップに送ることができます:
esptool.py --port COM4 write_flash 0x1000 my_app-0x01000.bin
複数のフラッシュアドレスとファイル名を同じコマンドラインで指定することができます:
esptool.py --port COM4 write_flash 0x00000 my_app.elf-0x00000.bin 0x40000 my_app.elf-0x40000.bin
フラッシュに書き込むときに--chip
引数はオプションです。シリアルポートに接続するときにesptoolがチップの種類を検出します。
--port
引数は、シリアルポートを指定します。 これは、COMx(Windows)、/ dev / ttyUSBx(Linux)、/dev/tty.usbserial(OS X)または類似の名前のような形式をとります。
write_flashの次の引数は、オフセット(アドレス)とファイル名の1つ以上のペアです。 ESP8266「バージョン1」イメージを生成する場合、elf2imageによって作成されるファイル名には、ファイル名の一部としてフラッシュオフセットが含まれます。 他のタイプの画像については、SDKのマニュアルを参照して、オフセットするファイルを確認してください。
write_flash(および他のコマンド)に渡される数値は、16進数(0x1000)または10進数(4096)のいずれかで指定できます。
デフォルトを上書きする場合は、 フラッシュモードとフラッシュサイズの引数を指定する必要があります。 例えば:
esptool.py --port /dev/ttyUSB0 write_flash --flash_mode qio --flash_size 32m 0x0 bootloader.bin 0x1000 my_app.bin
esptool v2.0以降、デフォルトでは.bin
イメージファイルからフラッシュモードとサイズを保持し、フラッシュサイズを検出するため、これらのオプションはほとんど必要ありません。 詳細については、 Flashモードのセクションを参照してください。
デフォルトでは、パフォーマンス向上のためにシリアル転送データが圧縮されています。 -u/--no-compress
オプションは、この動作を無効にします。
write_flashコマンドが失敗した場合、またはフラッシュされたモジュールが起動に失敗した場合は、 「トラブルシューティング」を参照してください。
フラッシュの確認
write_flash
はフラッシュに書き込まれたデータのMD5ハッシュを常に検証するため、通常は手動での検証は必要ありません。 ただし、フラッシュの内容を確認したい場合は、 verify_flash
コマンドで行うことができます。
./esptool.py verify_flash 0x40000 my_app.elf-0x40000.bin
注記:デフォルトのブートイメージ(ESP8266ではオフセット0、ESP32ではオフセット0x1000)を検証する場合、 --flash_size
に渡されたwrite_flash
、– --flash_size
、– --flash_freq
引数もwrite_flash
に渡されなければなりません。 それ以外の場合、 verify_flash
はイメージファイルのヘッダーの不一致を検出します。
フラッシュを消去する
フラッシュチップ全体を消去するには(すべてのデータを0xFFバイトに置き換えます)
esptool.py erase_flash
フラッシュ領域を消去するには、アドレス0x20000から開始し、長さ0x4000バイト(16KB)で開始します。
esptool.py erase_region 0x20000 0x4000
アドレスと長さは共にSPIフラッシュ消去セクタサイズの倍数でなければなりません。 これは、サポートされているフラッシュチップの0x1000(4096)バイトです。
ファームウェアイメージを手動で組み立てる
次のように、バイナリセグメント(objcopyから抽出したものなど)からファームウェアイメージを手動でアセンブルすることもできます。
esptool.py --chip esp8266 make_image -f app.text.bin -a 0x40100000 -f app.data.bin -a 0x3ffe8000 -f app.rodata.bin -a 0x3ffe8c00 app.flash.bin
このコマンドはシリアル接続を必要としません。
注:make_imageは現在、ESP8266ではサポートされていますが、ESP32ではサポートされていません。
ダンプメモリ
dump_mem
コマンドは、チップのメモリ空間から領域をダンプします。 たとえば、ESP8266からROM(64 KiB)をダンプするには:
esptool.py dump_mem 0x40000000 65536 iram0.bin
内蔵MACアドレスを読み込む
esptool.py read_mac
ESP32専用コマンド
esptool.pyにバンドルされているESP32の次のコマンドは、wikiに記載されています。
SPIフラッシュIDを読み込む
esptool.py flash_id
出力例:
Manufacturer: e0
Device: 4016
Detected flash size: 4MB
フラッシュチップの製造元名および部品番号については、 flashromソースコードを参照してください。
内部チップIDを読む:
esptool.py chip_id
ESP8266では、これはsystem_get_chip_id()
SDK関数の出力と同じです。 チップIDは4バイト長で、下位3バイトはMACアドレスの最終バイトです。 上位バイトは、ほとんどの(すべて?)ESP8266ではゼロです。
ESP32では、このIDはオンチップefuseに格納されているベースMACアドレスから得られます。
シリアル接続
ESP8266およびESP32 ROMシリアルブートローダは、3.3V UARTシリアル接続を使用します。 多くの開発ボードは、オンボードでシリアル接続を行います。
ただし、チップをUSB /シリアルアダプタなどに配線する場合は、次の接続を行う必要があります。
ESP32 / ESP8266ピン | シリアルポートピン |
---|---|
TX(別名GPIO1) | RX(受信) |
RX(別名GPIO3) | TX(送信) |
接地 | 接地 |
ESP8266のTX(送信)はシリアルポート接続のRX(受信)に接続されており、逆も同様です。
チップを5V TTLシリアルアダプタに接続しないでください。特に高電圧RS-232アダプタには接続しないでください。 3.3Vシリアルのみ!
ブートローダの起動
シリアルブートローダを起動するには、ESP8266とESP32の両方を特定の方法でリセットする必要があります。
いくつかの開発ボード(NodeMCU、WeMOS、HUZZAH Feather、Core Board、ESP32-WROVER-KITを含む)では、esptool.pyは自動的にシリアルブートローダにリセットをトリガすることができます。
他のすべての人にとって、シリアルブートローダに入るには3つのことが起こらなければなりません – リセット、必要なピンが正しく設定され、GPIO0が低くなった:
起動モード
ESP8266とESP32はどちらもリセットするたびにブートモードを選択します。 リセットイベントは、次のいずれかの方法で発生します。
- チップに印加される電力。
- nRESETピンはローで、ハイになります(ESP8266のみ)。
- CH_PD / ENピン( “イネーブル”)ピンはローで、ハイになっています。
ESP8266では、nRESETピンとCH_PDピンの両方をハイにプルアップして、チップが動作を開始する必要があります。
ブートモードの選択の詳細については、次のWikiページを参照してください。
フラッシュモード
write_flash
およびその他のコマンドラインは、ブートローダのフラッシュモード、フラッシュサイズ、フラッシュクロック周波数を設定するコマンドライン引数を受け入れます。 正確に動作させるためには、チップに正しいモード、周波数、サイズの設定が必要です。柔軟性はありますが、 起動可能イメージの先頭にあるヘッダーには、これらの値が含まれています。
これらの値を無効にするには、 --flash_size
--flash_mode
、– --flash_size
および/または--flash_freq
オプションをコマンドラインでwrite_flash
後にwrite_flash
する必要があります。
esptool.py --port /dev/ttyUSB1 write_flash --flash_mode dio --flash_size 4MB 0x0 bootloader.bin
これらのオプションは、起動可能イメージをオフセット0x0のESP8266またはオフセット0x1000のESP32に点滅させる場合にのみ参照してください。 これらは、ROMブートローダがフラッシュからロードするために使用するアドレスです。 他のすべてのオフセットで点滅する場合、これらの引数は使用されません。
フラッシュモード(–flash_mode、-fm)
これらは、クワッドフラッシュI / OまたはデュアルフラッシュI / Oモードを設定します。 有効な値は、 keep
、 qio
、 qout
、 dio
、 dout
です。 デフォルトはkeep
で、イメージファイルに既に値が入っていても保持します。 このパラメータは、環境変数ESPTOOL_FM
を使用して指定することもできます。
ほとんどのボードはqio
モードを使用します。 一部の(すべてではない)NodeMCUボード上のESP-12Eモジュールを含む一部のESP8266モジュールはデュアルI / Oで、ファームウェアは--flash_mode dio
フラッシュされたときにのみ起動します。 ほとんどのESP32モジュールはデュアルI / Oです。
qio
モードでは、2つのGPIO(9と10)がSPIフラッシュ通信に使用されます。 フラッシュモードがdio
設定されている場合、これらのピンは他の目的に使用できます。
これらのモードの詳細については、 SPI Flash Modes wikiページを参照してください 。
フラッシュ周波数(–flash_freq、-ff)
SPIフラッシュ・インタラクションのクロック周波数。 有効な値は、 keep
、 40m
、 26m
、 20m
、 80m
(MHz)です。 デフォルトはkeep
で、画像ファイルに既に値が入っていても保持します。 このパラメータは、環境変数ESPTOOL_FF
を使用して指定することもできます。
ほとんどのチップに接続されているフラッシュチップは40MHzのクロック速度で動作しますが、デバイスが起動しない場合は、より低い値を試すことができます。 最高80MHzのフラッシュクロック速度が最高の性能を発揮しますが、フラッシュまたはボードの設計がこの速度に対応していないとクラッシュする可能性があります。
フラッシュサイズ(–flash_size、-fs)
SPIフラッシュのサイズ(メガバイト単位)。 有効な値はチップタイプによって異なります。
チップ | flash_sizeの値 |
---|---|
ESP32 | detect 、 1MB 、 2MB 、 4MB 、 8MB 、 16MB |
ESP8266 | detect 、 256KB 、 512KB 、 1MB 、 2MB 、 4MB 、 2MB-c1 8MB 、 16MB |
ESP8266の場合、 OTAの「ファームウェアスロット」のいくつかの追加のサイズとレイアウトが利用可能です 。
デフォルトの--flash_size
パラメータはdetect
、SPIフラッシュIDに基づいてサイズを自動検出しようとします。 検出に失敗すると、警告が出力され、デフォルト値の4MB
(4メガバイト)が使用されます。
フラッシュサイズが正常に検出されなかった場合、 flash_id
コマンドを使用してフラッシュサイズを確認し、出力からIDを検索します( Read SPI flash idを参照)。 あるいは、フラッシュチップのシルクスクリーンラベルを読み取り、そのデータシートを検索してください。
デフォルトのflash_size
パラメータは、環境変数ESPTOOL_FS
を使用して上書きすることもできます。
ESP8266およびフラッシュサイズ
ESP8266 SDKは、フラッシュの「終わり」にWiFi設定を保存し、このサイズを使って終わりを見つけます。 しかし、このサイズより大きなイメージを書く必要がない限り、あなたが実際に持っているよりも小さいフラッシュサイズを指定することには欠点はありません。
ESP-12、ESP-12EおよびESP-12Fモジュール(およびNodeMCU、HUZZAHなどのモジュールを使用するボード)は、通常、少なくとも4メガバイト/ 4MB
(時には32メガビット)のフラッシュを備えています。
OTAを使用している場合は、OTAの「ファームウェアスロット」のいくつかの追加のサイズとレイアウトが利用可能です。 OTAアップデートを使用しない場合は、これらの余分なサイズを無視することができます:
flash_size arg | OTAスロットの数 | OTAスロットのサイズ | OTA以外のスペース |
---|---|---|---|
256KB | 1(OTAなし) | 256KB | N / A |
512KB | 1(OTAなし) | 512KB | N / A |
1MB | 2 | 512KB | 0KB |
2MB | 2 | 512KB | 1024KB |
4MB | 2 | 512KB | 3072KB |
2MB-C1 | 2 | 1024KB | 0KB |
4MB-C1 | 2 | 1024KB | 2048KB |
8MB [^] | 2 | 1024KB | 6144KB |
16MB [^] | 2 | 1024KB | 14336KB |
- [^]すべてのESP8266 SDKに8MBと16MBのフラッシュ・サイズがサポートされていません。 SDKがこれらのフラッシュサイズをサポートしていない場合は、–
--flash_size 4MB
使用して--flash_size 4MB
。
ESP32とフラッシュサイズ
ESP32 esp-idfは、パーティションテーブルをオフセット0x8000のフラッシュに点滅させます。 このテーブルのすべてのパーティションは、設定されたフラッシュサイズに収まる必要があります。そうしないと、ESP32は正常に動作しません。
高度なオプション
より珍しいesptool.pyコマンドラインオプションのいくつかについては、 Advanced Options wikiページを参照してください。
リモートシリアルポート
RFC2217 (Telnet)プロトコルをサポートするネットワーク化されたリモートシリアルポート、またはプレーンなTCPソケットに接続することができます。 詳細については、 リモートシリアルポートwikiページを参照してください。
トラブルシューティング
点滅している問題は、トラブルシューティングのためには厄介なことがあります。 問題が発生している場合は、ここで提案をお試しください:
ブートローダは応答しません
“接続に失敗しました”のようなエラーが表示された場合、あなたのチップはおそらくブートローダに正しく入っていないでしょう:
- コマンドラインに正しいシリアルポートを渡していることを確認してください。
- シリアルポートにアクセスする権限を持っていることを確認してください。また、他のソフトウェア(Linuxのモデムマネージャなど)は、それと対話しようとしていません。 共通の落とし穴は、このポートにアクセスしているシリアル端末を別のウィンドウで開き、それを忘れることです。
- チップが安定した電源から3.3Vを受信していることを確認します(詳細については、「 不十分な電力」を参照)。
- ブートローダの入力の説明に従って、すべてのピンが接続されていることを確認します 。 マルチメーターで各ピンの電圧を確認し、 “高い”ピンは3.3Vに近く、 “低い”のピンは0Vに近くする必要があります。
- 上記のGPIOピンに他のデバイスを接続している場合は、それらを削除して、esptool.pyが動作するかどうか確認してください。
- より遅いボーレートを使用してみてください(
-b 9600
はボーレート問題ではないことを確認するのに非常に遅い値です)。
write_flash操作が途中で失敗する
ランダムなエラーで途中で点滅が失敗した場合は、低いボーレートで再試行してください。
電源の安定性の問題も原因です(「 不十分な電力 」を参照)。
write_flashは成功しますが、プログラムは実行されません
esptool.pyがwrite_flashでモジュールをフラッシュできますが、プログラムが実行されない場合は、次のようにしてください:
間違ったフラッシュモード
一部のデバイスはdio
フラッシュモードのみをサポートしています。 qio
モードでのフラッシュ書き込みは成功しますが、チップはフラッシュを読み取って実行することができません。したがって、起動時に何も起こりません。 -fm dio
オプションをwrite_flashに渡してみてください。
フラッシュモードの詳細と、デバイスでどのモードがサポートされているかを判断する方法については、「 SPIフラッシュモード」の wikiページを参照してください。
不十分な電力
ESP8266およびESP32用の3.3V電源は、大電流(最大70mAの連続、200-300mAのピーク、ESP32ではわずかに高い)を供給する必要があります。 また、電力需要の大きなスパイクに対応するには、電源回路に十分な容量が必要です。
容量不足
あらかじめ作成された開発ボードまたはモジュールを使用している場合、入力電源が適切であれば、通常は内蔵のパワーレギュレータとコンデンサが十分です。
これは非常に単純なピンブレークアウトモジュールには当てはまりません – これに似ています。 これらのブレークアウトは、追加コンポーネントなしで確実に動作するのに十分な容量を集積していません。 。 ESP-WROOM02やESP-WROOM32などの表面実装OEMモジュールは、信頼性の高いPCB上に外部バルクコンデンサが必要です。モジュールのデータシートを参照してください。
電源定格
esptool.pyを使用してシリアルブートローダーのステージに十分な電流を供給し、通常のファームウェア操作では十分ではない電源装置を使用することは可能です。 マルチメータで測定すると3.3VのVCC電圧が垂下することがありますが、これが起こっていなくても問題が生じる可能性があります。
より高い電流定格の3.3V電源を交換し、電源ラインにコンデンサを追加したり、3.3V電源ワイヤを短くしたりしてください。
FTDI FT232Rチップ/アダプタまたはArduinoボードからの3.3V出力は、ESP8266またはESP32に電力を供給するのに十分な電流を供給しません (時には動作するように見えるかもしれませんが、 他のUSB TTL /シリアルアダプタも限界があります。
不足しているブートローダ
最近のESP8266 SDKとESP32 esp-idfは両方とも、小さなファームウェアブートローダープログラムを使用しています。 ROMのハードウェアブートローダがこのファームウェアブートローダをフラッシュからロードし、プログラムを実行します。 ESP8266について。 ファームウェアブートローダイメージ( boot_v1.x.bin
ようなファイル名をboot_v1.x.bin
)は、オフセット0でフラッシュする必要があります。ファームウェアブートローダが見つからない場合、ESP8266は起動しません。 ESP32では、ブートローダイメージはesp-idfによってオフセット0x1000でフラッシュされます。
どのバイナリをどのオフセットでフラッシュする必要があるかについては、SDKまたはesp-idfのマニュアルを参照してください。
切断されなければならないSPIピン
esptool.pyが話すROMブートローダと比較して、実行中のファームウェアは、SPIフラッシュにアクセスするために、より多くのチップのピンを使用します。
「Quad I / O」モード( -fm qio
、esptool.pyのデフォルト)を設定すると、GPIO 7,8,9,10がSPIフラッシュを読み込むために使用され、それ以外の場合は切断する必要があります。
“Dual I / O”モード( -fm dio
)を設定した場合、GPIO 7と8はSPIフラッシュを読み込むために使用され、それ以外の場合は切断する必要があります。
以前にQuad I / Oモードを使用していても、GPIO 9と10に接続したい場合は、デュアルI / Oモードに切り替えるか、ピンから何かを切り離してください。 GPIO 9および10がSPIフラッシュチップの入力ピンにも接続されている場合、GPIO 9および10は汎用I / Oとして使用するには不適切な場合があることに注意してください。
これらのピンに加えて、GPIO 6および11もSPIフラッシュ(すべてのモード)にアクセスするために使用されます。 ただし、これらのピンが正しく接続されていないと、通常は点滅が完全に失敗します。
早期墜落
ブートログを表示するには、 シリアル端末プログラムを使用します。 (ESP8266ボーレートは74880bps、ESP32は115200bps)。 初期起動時にプログラムがクラッシュするか、エラーメッセージを出力するかどうかを確認してください。 例については、「 ブートログ 」を参照してください。
シリアルターミナルプログラム
デバッグとシリアル相互作用に適した多くのシリアルターミナルプログラムがあります。 pyserialモジュール(esptool.pyに必要)には、コマンドライン端末プログラムminiterm.pyが1つ含まれています。 詳細はこのページを参照するか、 miniterm -h
実行してください 。
すべてのシリアル・プログラムがESP8266 74880bpsの「ブート・ログ」ボー・レートをサポートしているわけではありません。 サポートは特にLinux上ではまばらです。 miniterm.py
はすべてのプラットフォームでこのボーレートをサポートしています。 ESP32はより一般的な115200bpsを使用します。
esptool.pyインタラクションのトレース
esptool.py --trace
を実行すると、すべてのシリアルインタラクションが標準出力にダンプされます(これは大量の出力です)。 これは、シリアル接続の問題をデバッグするときや、バグレポートの情報を提供するときに役立ちます。
内部技術資料
リポジトリwikiには、ROMブートローダが使用するシリアルプロトコルとファイル形式に関する技術文書が含まれています。 これは、esptool.pyを開発したり、システム内部をハッキングする場合に便利です。
約
esptool.pyは当初Fredrik Ahlberg(@themadinventor、@kongo)によって作成され、現在Angus Gratton(@projectgus)によって管理されています。 また、@rojer、@jimparis、@ jms19、@pfalcon、@tommie、@ 0ff、@ george-hopkinsなど、ESP8266コミュニティの多くのメンバーから改善を受けています。
このドキュメントと付属のソースコードは、GNU General Public License Version 2で公開されています。コピーについては、付随するファイルLICENSEを参照してください。