バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
FatFs WinシミュレーションでSDカードに直接制御する話。
今回は「FatFsでファイル書き込みとWindowsでの認識」の前半でとりあえず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
実験手順
想定実験手順は以下。
今回は「FatFsでファイル書き込みとWindowsでの認識」。
- FatFs改造方針を考える
- FatFs改造
- FatFsでSDカードのFAT認識
- FatFsでファイル書き込みとWindowsでの認識 ← これの1回目/全2回
- FatFsでFAT32フォーマットしてWindowsで認識
そして、全体構成
まずはFatFsでファイル生成して書き込みをして、
そのファイルができていること、内容があってることを確認してみよう。
おー!
じゃ、さくっと実行。
FatFsでファイル生成して書き込み、リスト表示、内容表示
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
>fo 6 long_file_name_file_by_fatfs_to_sdcard.txt
rc=0 FR_OK
>fw 20000 0x64
20000 bytes written.
>fc
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
----A 2021/05/12 16:48 20000 long_file_name_file_by_fatfs_to_sdcard.txt
3 File(s), 41200 bytes total
1 Dir(s), 43606016 bytes free
>fo 1 long_file_name_file_by_fatfs_to_sdcard.txt
rc=0 FR_OK
>fd
00000000: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
00000010: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
00000020: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
00000030: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
00000040: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
00000050: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
00000060: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
00000070: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
>fc
rc=0 FR_OK
>
FatFsでファイル生成して書き込み、リスト表示、内容表示の結果確認
これは、ばっちり書けたのでは?!
うん。ちょっと不安だったけど、書けたっぽい。
「long_file_name_file_by_fatfs_to_sdcard.txt」を生成して、0x64こと’d’を20000byte書き込み。
リスト表示でファイルが作成されていることと、
そのファイルサイズが20000byte。
そして、改めて読み出した値も0x64こと’d’になってるからOK。
あとはこれをWindows側から見れるかってところか。
まとめ
まとめだよ。
- 「FatFsでファイル生成して書き込み、リスト表示、内容表示」してみた。
- 問題無く動作。
- ファイル名OK。
- ファイルサイズOK。
- 書き込まれた内容OK。
- 問題無く動作。
- あとは、同じようにWindowsからもこのファイルが見えるかを確認する必要がある。
バックナンバーはこちら。
コメント