2016.11.19
前へ
次へ
ホームページトップへ戻る

マイコン独立大作戦
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

前へ
次へ
ホームページトップへ戻る