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

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

バックナンバーはこちら。
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で認識
フクさん
フクさん

そして、全体構成

FatFS、FileSystem、DiskIO、DeviceIoControl、読み書き実施、SDHC、WindowsAPIを駆使してSDを直接制御
太郎くん
太郎くん

あれ?前回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」
  • 共に問題無く処理できた。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました