この方法でモジュールを損傷することはできません。おそらく 100 回のフラッシュを実行しましたが、そのうちのいくつかは失敗しました (たとえば、ボーレートが高すぎるため)。ファームウェア自体には にブートローダーが含まれていますが0x000000
、これは任意に交換できる第 2 段階のブートローダーです。第 1 段階のブートローダーを上書きできないはずです。を作成した人物からのrBoot
引用:
ブート ローダーは SPI フラッシュの最初のセクターに書き込まれ、他のプログラムと同様に実行されます。組み込みの第 1 段階のブート ローダーは、他のプログラムではなく第 2 段階のローダーをロードしていることを知りません。
では、次に何が起こるでしょうか?第 2 段階のブート ローダーはオープン ソースではなく、盲目的に使用できるようにバイナリ BLOB として提供されています。
要するに: に意味のない書き込みを行ってモジュールを損傷することはありません0x00000
。無効なオペコードが見つかる前に任意のコードを実行する可能性がありますが、それだけでは CPU が爆発したり、モジュールが損傷したりするほどではありません。破損した第 2 段階のブートローダーから回復するには、ファームウェアを再フラッシュするだけで十分です。
では、その第 1 段階のブートローダーは正確にはどこにあるのでしょうか? richard.burtons.org/2015/05/17/esp8266-boot-processのコメントから、作成者は次のように答えました。
コメンテーター: 第 1 段階のブート ローダーがプロセッサの ROM にあるのか、フラッシュにあるのかを調べています。ROMに入っていると思います。これがROMにある場合、フラッシュを台無しにしてデバイスを役に立たなくするリスクはありません. ご確認いただけますでしょうか。
リチャード: その通りです。ステージ 1 は rom にあり、それを壊すことはできません。