KEI

車載外部ストレージ

【FatFs】車載外部ストレージ その126【SDカード直接制御⑨】

前回FatFsで作成したファイルの確認。 ファイル名:long_file_name_file_by_fatfs_to_sdcard.txt ファイルサイズ:20000byte 内容:'d'を連続で20000文字 Windows上でファイルの確認。 問題無くファイルを確認できた。
車載外部ストレージ

【FatFs】車載外部ストレージ その125【SDカード直接制御⑧】

FatFs WinシミュレーションでSDカードに直接制御する話。 「FatFsでファイル生成して書き込み、リスト表示、内容表示」してみた。 問題無く動作。 ファイル名OK。 ファイルサイズOK。 書き込まれた内容OK。 あとは、同じようにWindowsからもこのファイルが見えるかを確認する必要がある。
車載外部ストレージ

【FatFs】車載外部ストレージ その124【SDカード直接制御⑦】

「FatFsでSDカードのFAT認識」の続き。 FatFsでSDカード内のファイルリスト表示。 「fl 1:」 FatFsでSDカード内のファイル内容表示。 「fo 1 long_file_name_file_by_fatfs.txt」 「fd」 「fc」 共に問題無く処理できた。
車載外部ストレージ

【FatFs】車載外部ストレージ その123【SDカード直接制御⑥】

「FatFsでSDカードのFAT認識」を実施。 マウント「fi 1」及びvolume status「fs 1:」は読み出せた。 VolToPart配列の定義が反映され論理ドライブ1にSDカードが配置。 あとは実際に読み書きをしてみる。(理屈上は動くはず)
車載外部ストレージ

【FatFs】車載外部ストレージ その122【SDカード直接制御⑤】

FatFs内のVolToPart配列について説明。 マルチボリューム、マルチパーティション想定したパラメータ。 PARTITION構造体について説明。 物理ドライバ番号とパーティション番号が格納される。 これにより、論理ドライブ番号、物理ドライブ番号、パーティション番号が紐づけられる。
車載外部ストレージ

【FatFs】車載外部ストレージ その121【SDカード直接制御④】

OSから見たマウント解除方法説明。 CreateFileに「\\.\d」を指定すると論理ドライブのハンドルを取得できる。 DeviceIoControlに以下の制御コードを渡すことでOSの論理ドライブアクセスを禁止できる。 FSCTL_LOCK_VOLUME。 FSCTL_DISMOUNT_VOLUME。
車載外部ストレージ

【FatFs】車載外部ストレージ その120【SDカード直接制御③】

FatFs改造のソースコード差分提示。 次回から以下に注力する形で開設予定。 dismount_volume関数。 DeviceIoControlがポイントとなる。 main.cのVolToPart配列。 論理ドライブと物理ドライブ関連。
車載外部ストレージ

【FatFs】車載外部ストレージ その119【SDカード直接制御②】

FatFs改造方針。 DeviceIoControl関数を使用する。 余談として、ファイルアクセス以外にデバイスアクセスにもReadFile、WriteFileを使用する。 DeviceIoControlの制御コードにFileSystem関連のものがあるので、これでリムーバブルディスクの直接制御はできそう。
車載外部ストレージ

【FatFs】車載外部ストレージ その118【SDカード直接制御①】

Windows上からSDカード直接制御に意味があるのか?特にない。面白そうだからやる。 方針を提示。まずは改造。 その後、FatFs-Windows間で相互運用できるかを確認。 一応OS側で保護されているが、HDDにアクセスしないように気を付ける。リムーバブルディスクにしかアクセスできないはず。
車載外部ストレージ

【FatFs】車載外部ストレージ その117【SDカードディスクイメージ⑦】

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