手持ちの8GByte以下のSDHCではMBRのPartitonTypeフィールド値が0xb(FAT32)ですべて問題なくアクセスできています。
とりあえずPartitonTypeフィールドのチェックをマスクしても、やはり他でエラーになってしまいました。
多分SDHCカードのコマンド・レスポンスアクセス自体はCRC7エラーになっていないようなので正しくアクセスできているようです。ただ使っているFATファイルシステムのコードはReadデータのCRC16はチェックしていないので確実性はありません。
SanDiscと上海問屋のカードでPartitonTypeフィールドだけでなくMBRの値が全く違うことになっており、SanDiscは比較的正しい値に近いですが、上海問屋のカードはかなりかけ離れた値をして示しています。
SDHCが採用しているFAT32の論理上限は2TBなので、ソフト的な観点からは32GBを越えるカードも可能だそうですが、SDHCでは32GByteまでしか容量を確保できない仕様になっているようです。
しかしそれ以外に8GByte以下と16Gbyte以上でFAT32のフォーマットが異なるように見えます。
ちょっと調べてただけではなかなかそれらしい記述を見つけられていません。
とりあえず8GbyteのSDHCで確認を進めつつ、16GByte以上の件について調べていこうかと思います。
正常にアクセスできるTrancend 8GByte class10 SDHC
Partition Type:0x0cのSanDisc 16GByte class6 MicoroSDHC
Partition Type:0x72の上海問屋 16GByte class10 MicoroSDHC
0 件のコメント:
コメントを投稿