ESP-WROOM-32を使ってみる4 -SPI-ROMの吸出し・最初にそれやれとか言われそう-
ESP-WROOM-32の目次に戻る
今回はやらかしてしまった時に初期状態に戻すために前もって工場出荷時のファームを
吸い出す手順を紹介します。なお、オシロの波形ばっかり見せられて辟易していた方の
中でねむいさんに突っ込み入れたい方は落ち着いて今回のサブタイトルを100回ほど
音読してください。
20170216追:
ESP-WROOM-32は暗号化してプログラムをフラッシュに書き込むそうで、
書き込み中に途中で電源を落とすなど異常な状態が起こるとプロテクトが
発動しESP-WROOM-02の時みたいには容易に回復とはいかないようです。
こちらの件は現在調査中ですのでしばらくお待ちください!!!
●工場出荷時のファームを吸い出す
さて、前回はIDF(IoT. Development Framework)をgitでダウンロードしてExampleを
ビルドする手順を紹介しました。このIDFにはESP32に繋がっている外付けSPI-ROMを
書き込むためのフラッシュライタのプログラムも同梱されています。
普段はmake flashで呼び出されるものですがこれから単独で操作して逆にROMの中身を
吸い出しちゃいます!
まずは前回の手順の"4."まで完了しているものと想定して進めます。このときまだ
homeにいるのでこの場で以下の呪文を唱えます。
source ${IDF_PATH}/add_path.sh
このシェルスクリプトは"IDF_PATH"が設定されているときに発動して、pythonスクリプト
esptool.pyのあるディレクトリにパスを通します。
次にボードの
して以下の呪文を唱えます。たったこれだけ!(VCOMのポートがCOM3の場合です)
↑間違いをずっと放置してましたorz 間違った情報でうなされたaisuke様申し訳ありません。
ENをGNDに落としてたらそりゃうごかんがや
esptool.py --port COM3 --baud 921600 read_flash 0 0x400000 original_contents.bin

921600bps早い・・・4MBの読み出しもあっという間です・・・
これで工場出荷時のバイナリの読み出しはおしまいです。
書き戻す時はESPTOOLで0x0からoriginal_contents.binを書いてやれば復活します!
たったこれだけの手順でとても簡単にサルベージ出来ますので皆さんもESP-WROOM-32の
ボードを入手したら真っ先に吸い出しておきましょう!
●ついでなので公式のExample以外の作例も試してみる
尺が余ったのでもう少しだけESP-WROOM-32で遊んでみます。既に有志でちょっとだけ
有用なプログラムが公開されていますが簡単にwifiの機能を試すプログラムとして、
ねむいさんはこちらの方の"ESP32_WifiScan"に目をつけました。
もはやgitで落とすのすらめどいのでzipで纏めて落としてhomeに展開しました!

そしてビルドしているところです。
OpenOCDのビルド時もそうですがねむいさんなんでか無事にビルドが通るようビルド
画面見ながら応援する変な癖があります・・・

無事にビルドが完了してmake flashで書き込みます。
921600bpsで圧縮だと400kByteが4Secですか・・・超早いすね・・・。

このプログラムは近場にあるwifiのAPをスキャンしてひたすら表示します。
テスト対象としてESP-WROOM-02を久々に稼動させてみます!夢の競演です♥

ESP-WROOM-02のAPが無事表示。やったぜ。
お隣さんのAPまで見えちゃったので自分の以外は隠しました。
というわけでねむいさんがESP-WROOM-32でやれることは全部やりきったつもりなので
今度こそホントの本当にSTM32に戻りますよぅ!
- ARM/STM32 (88)
- OpenOCD (20)
- ARM/NxP (34)
- ARM/Cypress (5)
- ARM/Others (3)
- AVR (5)
- FPGA (4)
- GPS/GNSS (17)
- MISC (45)
- Wirelessなアレ (16)
- ブラウザベンチマーク (28)
- 日本の自然歩道 (10)
- GNSSモジュールを試用する18 -みちびき四機体制記念-
⇒ matsup (04/19) - いろいろ試す28
⇒ ひかわ (09/23) - いろいろ試す28
⇒ ねむい (09/22) - WVGAな解像度で容量性タッチパネルなTFT-LCDモジュールを動かすその1
⇒ ねむい (09/22) - WVGAな解像度で容量性タッチパネルなTFT-LCDモジュールを動かすその1
⇒ あきらひとし (09/21) - いろいろ試す28
⇒ ひかわ (09/18) - いろいろ試す28
⇒ ひかわ (09/18) - GNSSモジュールを試用する16 -みちびき参号機打ち上げ成功記念-
⇒ ねむい (09/16) - GNSSモジュールを試用する16 -みちびき参号機打ち上げ成功記念-
⇒ matsup (09/14) - いろいろ試す28
⇒ ねむい (08/31)
- GNSSモジュールを試用する18 -みちびき四機体制記念-

- April 2018 (1)
- March 2018 (1)
- February 2018 (1)
- January 2018 (1)
- December 2017 (2)
- November 2017 (2)
- October 2017 (1)
- September 2017 (1)
- August 2017 (1)
- July 2017 (1)
- June 2017 (1)
- May 2017 (1)
- April 2017 (1)
- March 2017 (2)
- February 2017 (2)
- January 2017 (2)
- December 2016 (7)
- November 2016 (2)
- October 2016 (2)
- September 2016 (1)
- August 2016 (1)
- July 2016 (1)
- June 2016 (1)
- May 2016 (2)
- April 2016 (1)
- March 2016 (2)
- February 2016 (1)
- January 2016 (1)
- December 2015 (3)
- November 2015 (1)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (3)
- June 2015 (3)
- May 2015 (4)
- April 2015 (2)
- March 2015 (4)
- February 2015 (1)
- January 2015 (3)
- December 2014 (3)
- November 2014 (2)
- October 2014 (1)
- September 2014 (2)
- August 2014 (2)
- July 2014 (3)
- June 2014 (2)
- May 2014 (1)
- April 2014 (1)
- March 2014 (4)
- February 2014 (4)
- January 2014 (3)
- December 2013 (5)
- November 2013 (4)
- October 2013 (3)
- September 2013 (2)
- August 2013 (2)
- July 2013 (2)
- June 2013 (3)
- May 2013 (2)
- April 2013 (2)
- March 2013 (2)
- February 2013 (2)
- January 2013 (3)
- December 2012 (4)
- November 2012 (2)
- October 2012 (2)
- September 2012 (4)
- August 2012 (1)
- July 2012 (3)
- June 2012 (2)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (3)
- January 2012 (3)
- December 2011 (5)
- November 2011 (3)
- October 2011 (2)
- September 2011 (2)
- August 2011 (2)
- July 2011 (2)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (3)
- December 2010 (7)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (3)
- July 2010 (4)
- May 2010 (1)
- April 2010 (2)
- March 2010 (2)
- February 2010 (2)
- January 2010 (3)
- December 2009 (3)
- November 2009 (8)
- October 2009 (7)
- September 2009 (5)
- August 2009 (4)
- July 2009 (6)
- June 2009 (7)
- May 2009 (14)
- January 1970 (1)

