バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
FatFs WinシミュレーションでSDカードに直接制御する話。
「FatFsでSDカードのFAT認識」の続き。
登場人物
博識フクロウのフクさん

イラスト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
実験手順

フクさん
想定実験手順は以下。
今回は「FatFsでSDカードのFAT認識」の続き
- FatFs改造方針を考える
- FatFs改造
- FatFsでSDカードのFAT認識 ← これの2回目/全2回
- FatFsでファイル書き込みとWindowsでの認識
- FatFsでFAT32フォーマットしてWindowsで認識

フクさん
そして、全体構成


太郎くん
あれ?前回FAT認識は出来たと思ったけど。

フクさん
volume statusを確認しただけだからね。
リスト表示、ファイルの内容表示もしておいた方が良いだろう。

太郎くん
あ、なるほど。
確かにそうかも。

フクさん
じゃ、リスト表示とファイル内容の表示をやってみよう。
リスト表示とファイル内容の表示
FatFs module test monitor (LFN, CP932, UTF-8)
PD#0 <== RAM Disk (135MB, 512 bytes * 276480 sectors)
PD#1 <== \\.\PhysicalDrive1 (14832MB, 512 bytes * 30375936 sectors)
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 enabled. Logical drives are associated with the patitions as follows:
"0:" ==> PT#1 in PD#0
"1:" ==> PD#1
"2:" ==> PD#2
"3:" ==> PD#3
"4:" ==> PD#4
"5:" ==> PD#5
"6:" ==> PD#0
"7:" ==> PD#0
>fi 1
rc=0 FR_OK
>fj 1:
rc=0 FR_OK
>fl
D-HS- 2021/04/16 16:04 0 System Volume Information
----A 2021/04/16 16:05 11200 long_file_name_file.txt
----A 2021/04/20 20:18 10000 long_file_name_file_by_fatfs.txt
2 File(s), 21200 bytes total
1 Dir(s), 43626496 bytes free
>fo 1 long_file_name_file_by_fatfs.txt
rc=0 FR_OK
>fd
00000000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
00000010: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
00000020: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
00000030: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
00000040: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
00000050: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
00000060: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
00000070: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
>fc
rc=0 FR_OK
>
リスト表示とファイル内容の表示の結果確認

太郎くん
おー。ばっちり読めてるんじゃない!?

フクさん
うん。バッチリだ。

太郎くん
ファイルが2つあるのは以前のディスクイメージの時に作ったやつだね。
ディスクイメージ上でやったとき

フクさん
これでファイルシステムの認識はOK。
あとは書き込みができるかってとこだな。

太郎くん
読み出しがばっちりなんだし、書き込みもできるんじゃん?

フクさん
OS側に保護されてたりすると失敗するんだよねー。
まぁこれもやってみればわかるけど。

太郎くん
じゃ、次回は書き込みだね。
まとめ

フクさん
まとめだよ。
- FatFsでSDカード内のファイルリスト表示。
- 「fl 1:」
- FatFsでSDカード内のファイル内容表示。
- 「fo 1 long_file_name_file_by_fatfs.txt」
- 「fd」
- 「fc」
- 共に問題無く処理できた。
バックナンバーはこちら。
コメント