2021-05

車載外部ストレージ

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

FatFsパーティション分け用のコード修正。 VolToPart配列を変更するだけ。 VolToPart配列で物理ドライブ1に4つのパーティションを認識できるように設定。 パーティション1~4。 パーティション0は自動検知でパーティション1相当になる。 パーティション分けの時のみ使用。
車載外部ストレージ

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

FatFsでFAT32フォーマットを実施。 フォーマットOK。 WindowsでFAT32が認識されることを確認。 問題なく認識。 パーティション分けも試したくなった。 ダメもとで実施予定。
車載外部ストレージ

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

SDカードをFatFsでフォーマットしてみる。 物理的に壊れることはない。はず。 RAMディスクに対してフォーマットしたことはある。 FatFs対話モードのコマンドは「fm」。 fm <ld#> [<fs type> [<au size> [<align> [<N fats> [<N root>]]]]]
車載外部ストレージ

【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配列。 論理ドライブと物理ドライブ関連。