12章:ESP-WROOM-02のファームウエア書き換え方法の検討
作成2015.10.29
- 超小型USBシリアル変換モジュール
USBシリアル変換モジュールはこれまで手持ちが無く、AE-USBPIC44基板使用シリアル-USB変換モジュールを代用してきましたが、通信速度115200bpsで連続の送受信をすると、エラー率の増加が確認されました。
そこで、以下の超小型USBシリアル変換モジュールを購入しました。
購入先;秋月電子通称
名称:超小型USBシリアル変換モジュール[AE-FT234X]
価格:¥600
外観を以下に示します。(かなり、コンパクトです。)
*すんなり動作しました。(黒=GND、青=TX、緑=RXを接続します。)
- ESP-WROOM-02のファームウエア書き換え方法の参考アドレス
ねむいさんのぶろぐ
ESP-WROOM-02を使ってみる2 -外付けSPIフラッシュの書き換え
http://nemuisan.blog.bai.ne.jp/?eid=215341
**2015.10.16更新
**最新版に更新されており、丁寧に解説されています。
- [SDK Release] esp_iot_sdk_v1.4.0_15_09_18のダウンロード
(1)ダウンロード
以下のアドレスからダウンロードします。
http://bbs.espressif.com/viewtopic.php?f=46&t=1124
esp_iot_sdk_v1.4.0_15_09_18.zip
(2.06 MiB) Downloaded 4468 times
をクリックするとダウンロードが始まります。
(2)必要なファイルの場所
解凍後
*\esp_iot_sdk_v1.4.0_15_09_18\esp_iot_sdk_v1.4.0\binフォルダー内に
blank.bin
boot_v1.4(b1).bin
esp_init_data_default.bin
\esp_iot_sdk_v1.4.0_15_09_18\esp_iot_sdk_v1.4.0\bin\at\1024+1024フォルダー内に
user1.2048.new.5.bin
があります。
また、\esp_iot_sdk_v1.4.0_15_09_18\esp_iot_sdk_v1.4.0\bin\at\readme.txtにはファームウエアの設定条件が記載されています。その一部を以下に示します。
***********************BOOT MODE***********************
download:
Flash size 8Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0xfc000 (optional)
blank.bin 0x7e000 & 0xfe000
Flash size 16Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x1fc000 (optional)
blank.bin 0x7e000 & 0x1fe000
Flash size 16Mbit-C1: 1024KB+1024KB
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x1fc000 (optional)
blank.bin 0xfe000 & 0x1fe000
Flash size 32Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0x7e000 & 0x3fe000
Flash size 32Mbit-C1: 1024KB+1024KB
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0xfe000 & 0x3fe000
- Flash書き込みツールのダウンロード
(1)ダウンロード
以下のアドレスからダウンロードします。
http://bbs.espressif.com/viewtopic.php?f=5&t=433
FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar
(5.44 MiB) Downloaded 2177 times
をクリックしてダウンロードします。
(2)解凍と保存場所
アーカイブ解凍ソフトで解凍して、適当な場所に保存します。
- フラッシュレイアウト説明書のダウンロード
以下のアドレスからダウンロードします。
http://bbs.espressif.com/viewtopic.php?f=10&t=175
2A-ESP8266__IOT_SDK_User_Manual__EN_v1.1.0.pdf
(1.17 MiB) Downloaded 200 times
をクリックしてダウンロードします。
*英文の説明書ですが、\esp_iot_sdk_v1.4.0_15_09_18\esp_iot_sdk_v1.4.0\bin\at\readme.txtの設定条件と一致しません。
- フラッシュ書き換え前のボーレート76800bps受信データ
フラッシュ書き換え前のボーレート76800bps受信データを以下に示します。
ets Jan 8 2013,rst cause:1, boot mode:(3,0)
load 0x40100000, len 1396 room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc
csum 0xc0
2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
SDK??jtN?g? ??cb&b g? ??h???
- .Flash size 32Mbit-C1: 1024KB+1024KBモードでのフラッシュ書き換え
(1)設定条件
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0xfe000 & 0x3fe000
(2)USBシリアル変換モジュールをパソコンに接続し、デバイスマネージャーのポートで接続ポートを確認します。
(COM14に接続しました。)
(2)ESP-WROOM-02のフラッシュ書き換え時のピン設定
*ENピン:(Chip Enable.)→Highに設定します。
*GPIO-15ピン:(Type I/O MTDO;HSPI_CS; UART0_RTS)→Lowに設定します。
*GPIO-2ピン:(Type I/O UART Tx during flash programming)→Highに設定します。
*GPIO-0ピン:(Type I/O SPI_CS2)→Lowに設定します。(Lowでラッシュ書き換えモード)
(3)ESP-WROOM-02の電源を投入します。
(4)ESP_DOWNLOAD_TOOL_V2.4.exeをダブルクリックで起動します。
(5)以下のように設定します。
(6)STARTボタンを押します。
(7)フラッシュ書き換えが完了して以下のようになります。
- Flash size 32Mbit-C1: 1024KB+1024KBモードでのボーレート76800bps受信データ
(1)GPIO-0ピン:(Type I/O SPI_CS2)→Highに設定します。(フラッシュROMブートモード)
(2)ESP-WROOM-02の電源を再投入します。
(3)以下のデータを受信します。
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0
2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000
??+?????)?jAj?h c?(A*rt?|??+?????)?jAj?h c?(A*rt?|??+?????)?jAj?h c?(A*rt?|
(4)TCPサーバでの受信確認
以下のように正常受信が確認できます。
- Flash size 8Mbit: 512KB+512KBモードでのフラッシュ書き換え
(1)設定条件
Flash size 8Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0xfc000 (optional)
blank.bin 0x7e000 & 0xfe000
(2)USBシリアル変換モジュールをパソコンに接続し、デバイスマネージャーのポートで接続ポートを確認します。(COM14に接続しました。)
(2)ESP-WROOM-02のフラッシュ書き換え時のピン設定
*ENピン:(Chip Enable.)→Highに設定します。
*GPIO-15ピン:(Type I/O MTDO;HSPI_CS; UART0_RTS)→Lowに設定します。
*GPIO-2ピン:(Type I/O UART Tx during flash programming)→Highに設定します。
*GPIO-0ピン:(Type I/O SPI_CS2)→Lowに設定します。(Lowでラッシュ書き換えモード)
(6)STARTボタンを押します。
(7)フラッシュ書き換えが完了して以下のようになります。
- Flash size 8Mbit: 512KB+512KBモードでのボーレート76800bps受信データ
(1)GPIO-0ピン:(Type I/O SPI_CS2)→Highに設定します。(フラッシュROMブートモード)
(2)ESP-WROOM-02の電源を再投入します。
(3)以下のデータを受信します。
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0
2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
??+?????)?jAj?h
SDK ver: 1.4.0 compiled @ Sep 18 2015 20:55:49
phy ver: 484, pp ver: 9.5
??j?l
(4)TCPサーバでの受信確認
以下のように正常受信が確認できます。
- ESP-WROOM-02のファームウエア書き換え方法の検討まとめ
(1)超小型USBシリアル変換モジュール[AE-FT234X]はすんなり動作しました。
(2)超小型USBシリアル変換モジュールを使用することにより、ESP-WROOM-02のファームウエア書き換えが可能となりました。
(3)ファームウエアの書き換え条件には、BOOT MODEとNON-BOOT MODEがあります。
(4)BOOT MODEには5通りの条件が記載されている。
(5)Flash size 8Mbit: 512KB+512KBとFlash size 32Mbit-C1: 1024KB+1024KBの2条件でESP-WROOM-02のファームウエア書き換えを実施しました。
(6)上記2条件ともシリアル_WIFI変換は正常に動作することが確認できました。
(7)Flash size 8Mbit: 512KB+512KBとFlash size 32Mbit-C1: 1024KB+1024KBの2条件でESP-WROOM-02の違いはSPI Flash Size & Map: 8Mbit(512KB+512KB)かSPI Flash Size & Map: 32Mbit(1024KB+1024KB)かの違いのみでその他の違いは確認できなかった。
(8)ESP-WROOM-02のファームウエアに異常が発生した場合は、ファームウエア書き換えで回復可能です。
13章:ESP-WROOM-02とArduinoIDEでLED点滅に行く。
トップページに戻る。