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