バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDイメージをPCとFatFsで認識&編集をするシミュレーションの話。
ディスクイメージをFatFsシミュレータで読み込みの確認。
登場人物
博識フクロウのフクさん

イラスト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カードのディスクイメージ作成」まで終わった。
- WindowsでSDカードをFATでフォーマット
- 適当なテキストファイルをSDカード内に作成
- LinuxでSDカードのディスクイメージ作成
- そのディスクイメージをFatFsシミュレータで読み込み
- Windowsで作成したテキストファイルをFatFsで確認
- FatFsで適当なテキストファイルを作成
- LinuxでディスクイメージをSDカードへ書き込み
- Windows上でSDカードに作成されたテキストファイルを確認


今回は「そのディスクイメージをFatFsシミュレータで読み込み」のところからだねー。
前回作った、PhysicalDrive2ってディスクイメージはWindows側にコピー済みだよ。

じゃー、FatFs Winodwsシミュレータのプロジェクトフォルダへコピーだ。

はいよー。
PhysicalDrive2というファイル名について

そういうえば、ディスクイメージのファイル名が「PhysicalDrive2」なんだけど、
なんでこの名前になってるの?

FatFsシミュレータを改造した時に、
Disk0:RAMディスク
それ以降は
Disk#N:PhysicalDrive#N
みたいな関係にしてあるんだよ。
以前、実験した時に、PhysicalDrive1ってファイルが出来てると思うよ。

あ、ホントだ。
「PhysicalDrive2」って名称にしておけば、自動的にDisk2扱いになるってことか。
ディスクイメージをFatFsシミュレータで読み込み

じゃ、ざっとvolume status確認までの対話の流れをざっとやっていまおう。
FatFs module test monitor (LFN, CP932, UTF-8)
PD#0 <== RAM Disk (135MB, 512 bytes * 276480 sectors)
PD#1 <== PhysicalDrive1 (Not Ready)
PD#2 <== PhysicalDrive2 (Not Ready)
PD#3 <== PhysicalDrive3 (Not Ready)
PD#4 <== PhysicalDrive4 (Not Ready)
PD#5 <== PhysicalDrive5 (Not Ready)
PD#6 <== PhysicalDrive6 (Not Ready)
PD#7 <== PhysicalDrive7 (Not Ready)
PD#8 <== PhysicalDrive8 (Not Ready)
PD#9 <== PhysicalDrive9 (Not Ready)
Multiple partition is disabled.
Each logical drive is associated with the same physical drive number.
>fi 2
rc=0 FR_OK
>fj 2:
rc=0 FR_OK
>fs
FAT type = FAT16
Cluster size = 4096 bytes
Root DIR entries = 512
Sectors/FAT = 42
Number of FATs = 2
Number of clusters = 10660
Volume start sector = 0
FAT start sector = 4
Root DIR start sector = 88
Data start sector = 120
Volume name is BOOT
Volume S/N is CCB4-A9D5
3 files, 11288 bytes.
1 folders.
4210120 KiB total disk space.
42616 KiB available.
>
動作状況の確認

お、ちゃんと認識してるっぽいね。
FAT16でフォーマットされてたのか。

まぁディスクイメージが大きくなり過ぎないよう40Mbyteくらいでパーティションを切っておいたからね。
Windows側としてはFAT16で十分な領域として自動的に選択したようだ。

無事認識できたってことで、
次は実際に作成したファイルが参照できるかだねー。
まとめ

まとめだよ。
- ディスクイメージをWindows側に持ってきてFatFsシミュレータのプロジェクトフォルダへコピー。
- PhysicalDrive2というファイル名はFatFsシミュレータがDisk2と認識するルールに則った名称。
- FatFsシミュレータでディスクイメージ認識はOK。
- fsコマンドで確認できた。
バックナンバーはこちら。
コメント