はじめに
M5StickC Plusを使っていて、とある不具合にぶち当たました。解決策が「QIOで書き込まずにDOUTで書き込め」でした。そういえば、フラッシュの書き込みモードってよく知らんかった。
ということで、調べました。
SPI Flash Mode
翻訳監修:DeepL先生
DIO
SPIホストは、「Dual I/O Fast Read」コマンド(BBh)を使用します。2本のSPIピンは、コマンドのフラッシュアドレス部分の書き込みと、フラッシュデータの読み出しに使用されます。そのため、これらのフェーズに必要なクロック・サイクルは、標準的なSPIに比べて半分になります。
DOUT
SPI ホストは「Dual Output Fast Read」コマンド(3Bh)を使用します。2つのSPIピンがフラッシュデータの読み出しに使用されます。1本のMOSIデータ・ピンでアドレスが書き込まれるため、DIOよりも若干遅くなります。
QIO
SPIホストは「Quad I/O Fast Read」コマンド(EBh)を使用します。コマンドのフラッシュ・アドレス部分の書き込みと、フラッシュ・データの読み出しには、4本のSPIピンが使用されます。そのため、これらのフェーズに必要なクロックサイクルは、標準的なSPIに比べて1/4になります。
QOUT
SPIホストは「Quad Output Fast Read」コマンド(6Bh)を使用します。4本のSPIピンがフラッシュデータの読み出しに使用されます。1本のMOSIデータピンでアドレスが書き込まれるため、QIOよりも若干遅くなります。
(了)