バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDイメージをPCとFatFsで認識&編集をするシミュレーションの話。
今回は「Windows上でSDカードに作成されたテキストファイルを確認」
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
シミュレーション手順

手順はこんな感じ。
前回は「LinuxでディスクイメージをSDカードへ書き込み」までをやった。
まぁついでにLinux上でそのSDカードが読めるかも確認しちゃったけどねー。
- WindowsでSDカードをFATでフォーマット
- 適当なテキストファイルをSDカード内に作成
- LinuxでSDカードのディスクイメージ作成
- そのディスクイメージをFatFsシミュレータで読み込み
- Windowsで作成したテキストファイルをFatFsで確認
- FatFsで適当なテキストファイルを作成
- LinuxでディスクイメージをSDカードへ書き込み
- Windows上でSDカードに作成されたテキストファイルを確認


Linuxで読めたんだから、Windowsでも読めちゃうよねー。

まぁ普通はそうだろうけど、
ファイルを作った手順が特殊だったからねー。
念のためWindowsでも確認しておいた方が良いだろう。
Windows上でSDカードに作成されたテキストファイルを確認

とりあえず、VMwareを終了させたら、
Windows側でSDカードリーダの認識はしたっぽい。

とりあえず、SDカードの中を見てみよう。


うん。
「long_file_name_fule_by_fatfs.txt」はちゃんと出来てるね。

続けてファイルの中身の確認だ。


こっちもあってるね。

というわけで、
FatFs、Windows、Linuxでファイルの相互確認が取れたってことになる。

あ、そういえば元々はそういう趣旨で始めたんだっけか。
ディスクイメージを経由してはいるけど、
概念としては相互で同一の情報を認識できたってことになるよね。
感想とか

じゃ、感想でも聞こうか。

最初は「ホントにできるの?!」
って思ったけど、割とサクっとできちゃった感じだ。
OS上からみたディスクって結構ブラックボックス出し、
何が書かれてるかなんて意識してないから、
基本的に「直接さわったりしたらヤバイ!」
くらいの認識しかなかったもんねー。

まぁそうだろうね。
普通はブラックボックスのままでの良いのだけど、
理屈を知ってると、今回のような手順で
ソフトウェアモジュールの有効性も確認できるわけだ。

たしかに、ディスクイメージが作れたり、書き戻せたりとか
ブラックボックスのままの理解だと思いつきもしないなー。
今後の方針

で、今後はどうするの?
相互確認も出来たんでFatFsの有効性ってのもわかったわけだけど。

そうだねー。
これは完全に興味の話になってしまうが、
Windows上からFatFsで直接SDカードのFAT制御できないかやっているってのも面白いかもねー。

え?!
そんなことできるの!!?

うーん、これも試してみないとわからないけど、
Windows APIのDeviceIoControl関数を駆使するとできた気がするんだよねー。

気がするって・・・。

まぁチャレンジだけでもしてみるかー。

(「気がする」ってだけでチャレンジするのか・・・)
まとめ

まとめだよ。
- Windows上でSDカードに作成されたテキストファイルを確認。
- ファイルの存在を確認OK。
- ファイルの内容を確認OK。
- ディスク関連はブラックボックスのまま使用してしまうことが多いが、概念だけでも知っておくといろいろな確認手段が得られる。
- 今後の方針としてWindows上からSD直接制御。
コメント