Skip to content

Instantly share code, notes, and snippets.

@fi01
Created October 19, 2013 12:59
Show Gist options
  • Save fi01/7055457 to your computer and use it in GitHub Desktop.
Save fi01/7055457 to your computer and use it in GitHub Desktop.
SH-06EのMMC WP(ライトプロテクト)まとめ
SH-06EのMMC WP(ライトプロテクト)まとめ
自分の見た資料ではMMCのWPは下記の様になっている。
MMCのコマンド
SEND_WRITE_PROT_TYPE
現在のプロテクトステータスを得る。
ステータスは2ビットで表される。
11:permanent 電源を切ってもWPが有効。
10:power-on 電源を切るまでWPが有効。
01:temporary 電源を切るか、CLR_WRITE_PROTされるまでWPが有効。
00:WPされていない。
SET_WRITE_PROT
WPを有効にする。
CLR_WRITE_PROT
temporaryプロテクトを解除する。
ISW11K/ISW12KではWPステータスは01 temporaryとなっていて、CLR_WRITE_PROTで解除が出来る。
SH-06Eの場合はWPステータスは01 temporaryだが、何故かCLR_WRITE_PROTで解除できない。エラーは出ないが効果がない。
SET_WRITE_PROTでpower-onを設定するとステータスは10に変わる。ここで再起動するとステータスは01に戻る。
SET_WRITE_PROTでpower-onをセットした後、CLR_WRITE_PROTでpower-onをリセットする。この時ステータスは10のままで実際は解除されていない。しかしここで再起動するとステータス00となり、二度と01にならなくなった。
SH-06Eは自分の見た資料とは挙動が異なるが、取り敢えずMMCに書き込める様になった。
ただし自分の端末は資料が英語であったためミスリードし、再設定が不可能なフラグを設定してしまったため、通常のSH-06Eとはまた挙動が異なるかも知れない。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment