バックナンバーはこちら。
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は拡張パーティションは未対応。
バックナンバーはこちら。
コメント