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

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

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/

はじめに

FatFs WinシミュレーションでSDカードに直接制御する話。
今回は「FatFsでパーティション分け」の続き。
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対話モード時のパーティション分けコマンド

フクさん
フクさん

じゃ、実際にFatFsの対話モード時のパーティション分けコマンドを見ていこう。

太郎くん
太郎くん

おー!

フクさん
フクさん

コマンドとしては「fp」ってコマンドを使用する。

太郎くん
太郎くん

FilePartitionの略かな?

フクさん
フクさん

たぶんそうだろうねー。

FatFs対話モード時のパーティション分けコマンドのパラメータ

フクさん
フクさん

「fp」コマンドはヘルプの説明としては以下になっている。

fp <pd#> <p1 size> <p2 size> ... - Divide physical drive
太郎くん
太郎くん

pd#は・・・物理ドライブか!

フクさん
フクさん

そうそう。

太郎くん
太郎くん

で、<p1 size> <p2 size>は?
パーティションのサイズ?

フクさん
フクさん

まぁその認識であっているといえばあっているんだが・・・。

太郎くん
太郎くん

(なんかあるのか・・・。)

FatFsのパーティション分け時のサイズ指定について

フクさん
フクさん

<p1 size> <p2 size>のところはサイズそのものを指定してもOKなんだけど、
百分率で指定することもできる。

太郎くん
太郎くん

百分率?何パーセントとかの?

フクさん
フクさん

そうそう。
物理ドライブの何パーセントを割り当てるかを指定できるんだよ。
これはコマンド仕様ではなく、FatFsのAPI仕様のレベルでそういう仕様になってる。

太郎くん
太郎くん

具体的にどんな感じの指定になるの?

フクさん
フクさん

物理ドライブ1を40:40:20で分割する場合以下になる。

fp 1 40 40 20
太郎くん
太郎くん

ほう。
予想以上にシンプルだ!

フクさん
フクさん

size指定が100を超えた値になると、実際のbyteサイズとして認識するようだ。
今回は百分率指定の方が楽なんでこっちを使用する予定。

太郎くん
太郎くん

物理ドライブの最大値とか考えなくて良いから確かに楽そうだねー。

太郎くん
太郎くん

そいえば、例のコマンドは3つのパーティションを作ったわけだけど、
最大でどのくらい作れるの?

物理ドライブのパーティション数

フクさん
フクさん

まぁ結論としては4つまでだな。
パーティション仕様としては上限が4。
そのうち一つを拡張パーティションにして、拡張パーティションの中に複数の論理ドライブを配置できる。
が、
FatFsは拡張パーティション未対応なので、結果的に4つまでってことになる。

太郎くん
太郎くん

????

フクさん
フクさん

詳細を知りたい場合は、Wikipedia参照だな。

太郎くん
太郎くん

と、とりあえずFatFsでは4つまでのパーティションしか作れないってことだね。

フクさん
フクさん

まぁ今回はその認識だけで良いね。

フクさん
フクさん

じゃ、次回は実際にパーティション分けをやってみよう。

まとめ

フクさん
フクさん

まとめだよ。

  • FatFs対話モード時のパーティション分けコマンド確認
    • 「fp」コマンドを使用。
  • コマンドパラメータを確認。
    • ドライブ指定は論理ドライブ番号ではなく、物理ドライブ番号で指定。
    • FatFsのパーティション分けは百分率が使える。
  • パーティションについて簡単に説明。
    • FatFsは拡張パーティションは未対応。

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

コメント

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