マイコン独立大作戦
SDカードインターフェースの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
独立大作戦の作戦その1はCRTインターフェースボードの製作です。
作戦その2はキーボードインターフェースです。
そして作戦その3は、SDカードインターフェースです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第17回]
●注文していた2GBSDカードが届きました(2)
前回からの続きです。
FATのサイズはF0なのに、それを読み間違えてFFだと思ってしまった結果、当然のことながらFAT2が行方不明で読み出せません。
その時点では自分の間違いには気が付いていませんから、さては購入直後のSDカードにはFAT2は存在しないのか、などと見当違いの邪推をしたりしました。
どうしようもないので、とにかく前のSDカードと同じようにテスト的にファイルをコピーしてみようと考えました。
前回のテストと同じファイルをコピーしました。
そしてそのようにしたSDカードを前回と同じように読み出して確認していましたら、やっと自分の犯したミスに気が付きました(ええい!なってこったい!)。
あらためて読み出したFAT1の最初のセクタです。
ここはファイルをコピーする前のテストと同じセクタbP00です。
>cm 8103 8103 00- 8104 00-01 8105 FF-00 8106 3E- >jp 8100 FF01FF01FF00FF00FFFFFE F8FFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 96DA |
ファイルコピーをしましたので、その分のデータ領域のクラスタがFFFFになっています。
さて、そこでいよいよ問題のFAT2です。
前回はFAT2の先頭のセクタbェ1FFだと思い込んでしまったので、FAT2を正しく読み出すことができませんでした。
FATのサイズはFFではなくてF0ですので、FAT2の先頭のセクタbヘ1F0になるはずです。
そこで1F0を指定してセクタを読み出してみました。
>cm 8103 8103 00- 8104 01- 8105 00-f0 8106 3E- >jp 8100 FF01FF01FF00FF00FFFFFE F8FFFF7FFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 336A |
おお。
やっとFAT2がみつかりました。
おや、やっぱりクラスタbPは7FFFになっていますね。
多分これはSDカードを購入したときからこの状態だと思うのですが、残念ながらファイルコピーをしてしまいましたので、未使用の状態でもこのようになっているのか、それともWindowsでファイルコピーをしたためにそうなったのかは、判断できません。
そこを確かめたかったのですが、おばかなミスのために今となっては確認することもできません。
ただ、クラスタbPに限って言えば、このようにFAT1とFAT2で相違があっても、Windowsでは特に問題にはならないようです。
それはそれとして、やっぱり痛恨のミスのままでは面白くありません。
そこで、また、もう一枚SDカードを注文してしまいました。
それが届いたら、今度は間違えないようにして、もう一度試してみるつもりです。
今回のカードも結局ファイルをコピーしてしまいましたので、せっかくですから、ディレクトリも読み出してみました。
FAT2はセクタbO1F0から始まって、そのサイズ(セクタ数)はF0ですから、そしてディレクトリセクタは、FAT2が終った次のセクタから始まるはずですから、01F0+F0=02E0がディレクトリの最初のセクタのはずです。
そこで02E0を指定してセクタを読み出してみました。
>cm 8103 8103 00- 8104 01-02 8105 F0-e0 8106 3E- >jp 8100 FF01FF01FF00FF00FFFFFE 4E44334D4F4E324F545854201077B4AE704970490000A236293D020037320000 4E44334D4F4E324F42494E20007CB4AE704970490000B836293D0300E4050000 4E44334D4F4E324F42544B200081B4AE704970490000B836293D0400E8050000 4E44334D4F4E324F4C5354200084B4AE704970490000B836293D050000400000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 01FA >dm 8800,88ff 8800 4E 44 33 4D 4F 4E 32 4F-54 58 54 20 10 77 B4 AE ND3MON2OTXT .wエョ 8810 70 49 70 49 00 00 A2 36-29 3D 02 00 37 32 00 00 pIpI..「6)=..72.. 8820 4E 44 33 4D 4F 4E 32 4F-42 49 4E 20 00 7C B4 AE ND3MON2OBIN .|エョ 8830 70 49 70 49 00 00 B8 36-29 3D 03 00 E4 05 00 00 pIpI..ク6)=...... 8840 4E 44 33 4D 4F 4E 32 4F-42 54 4B 20 00 81 B4 AE ND3MON2OBTK ..エョ 8850 70 49 70 49 00 00 B8 36-29 3D 04 00 E8 05 00 00 pIpI..ク6)=...... 8860 4E 44 33 4D 4F 4E 32 4F-4C 53 54 20 00 84 B4 AE ND3MON2OLST ..エョ 8870 70 49 70 49 00 00 B8 36-29 3D 05 00 00 40 00 00 pIpI..ク6)=...@.. 8880 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8890 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 88A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 88B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 88C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 88D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 88E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 88F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ >/exit 0000 00C3 - リモート接続を終了しました logfile closed at Wed Nov 16 22:08:39 2016 |
ディレクトリが正しく読み出せました。
SDカードインターフェースの製作[第17回]
2016.11.19upload
前へ
次へ
ホームページトップへ戻る