fatfs v0.02a Jun 10, 2006:

- Added a configuration option _FS_MINIMUM.
This commit is contained in:
savelij13 committed 2025-09-11 08:54:50 +03:00
1 parent 238747ef97
commit 86d6ced87e
43 files changed
+260 -185

No files matched your search

+34 -20
View File
@@ -3,6 +3,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="start" title="Site Top" href="../../index_j.html">
<link rel="up" title="Freewares" href="../../fsw.html">
<link rel="alternate" hreflang="en" title="English version" href="00index_e.html">
<link rel="stylesheet" href="css_j.css" type="text/css" media="screen" title="ELM Default">
<title>ELM - 汎用FATファイルシステム・モジュール</title>
@@ -14,17 +16,11 @@
<div class="abst">
<img src="layers.png" class="rset" width="245" height="255">
<p>小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワークエリアが確保できれば、PIC, AVR, H8, Z80などほとんどのマイコンでそのまま使用可能です。いろいろな使用形態を考慮して、高速版(FatFs)と省メモリ版(Tiny-FatFs)の2通りを作成してみました。読み出し専用アプリケーションではさらに書き込み関係のコードを削減した構成もできます。実際に使用するには、各記録メディア(CFC, MMC, SDC, ATA, USB, SCSI等)に対応したディスクI/Oモジュールを用意する必要があります。</p>
<p>小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワークエリアが確保できれば、PIC, AVR, H8, Z80などほとんどのマイコンでそのまま使用可能です。いろいろな使用形態を考慮して、高速版(FatFs)と省メモリ版(Tiny-FatFs)の2通りを作成してみました。実際に使用するには、各記録メディア(CFC, MMC, SDC, ATA, USB, SCSI等)に対応したディスクI/Oモジュール(サンプルあり)を用意する必要があります。</p>
<h4>FatFsモジュールの特徴</h4>
<ul>
<li>システム用と各ファイル用バッファを分離し、複数ファイルの高速アクセスに適する</li>
<li>メモリの消費が少ない(avrgccでの例)
<ul>
<li>プログラム・エリア: 8282 bytes (R/W構成), 4482 bytes (R/O構成)</li>
<li>静的ワーク・エリア: 2 bytes</li>
<li>動的ワーク・エリア: 544 + 540 * &lt;files&gt; bytes</li>
</ul>
</li>
<li>メモリの消費が少ない</li>
<li>FAT12, FAT16(+FAT64), FAT32に対応 <small>(FAT64: FAT16 in 64KB/cluster)</small></li>
<li>8.3形式ファイル名とNT小文字フラグに対応</li>
<li>FDISKフォーマット(基本区画)およびSFDフォーマット(512B/sectorのみ)に対応</li>
@@ -32,13 +28,7 @@
<h4>Tiny-FatFsモジュールの特徴</h4>
<ul>
<li>システム用と各ファイル用バッファを共通化し、RAMの使用量を削減</li>
<li>メモリの消費が少なく(avrgccでの例)、小メモリ・システム(1KB)に対応</li>
<ul>
<li>プログラム・エリア: 6868 bytes (R/W構成), 3804 bytes (R/O構成)</li>
<li>静的ワーク・エリア: 2 bytes</li>
<li>動的ワーク・エリア: 538 + 24 * &lt;files&gt; bytes</li>
</ul>
</li>
<li>メモリの消費が少なく、小メモリ・システム(1KB)に対応</li>
<li>FAT12, FAT16(+FAT64)に対応</li>
<li>8.3形式ファイル名とNT小文字フラグに対応</li>
<li>FDISKフォーマット(基本区画)およびSFDフォーマット(512B/sectorのみ)に対応</li>
@@ -46,9 +36,34 @@
</div>
<div class="para">
<h3>メモリ使用</h3>
<p>いくつかのコンフィギュレーション・オプションにより、不要な関数を削ってモジュールサイズを削減できます。次に実際のメモリ使用量[バイト]を示します(avrgccの例)。</p>
<div class="lset">
<table class="lst2">
<caption>FatFs</caption>
<tr><th>セクション</th><th>標準</th><th>最小</th></tr>
<tr><td>Program (R/W cfg.)</td><td>8282</td><td>6294</td></tr>
<tr><td>Program (R/O cfg.)</td><td>4482</td><td>3704</td></tr>
<tr><td>Work Area (static)</td><td colspan="2">2</td>
<tr><td>Work Area (dynamic)</td><td colspan="2">544 + 540 * &lt;files&gt;</td>
</table>
</div>
<table class="lst2">
<caption>Tiny-FatFs</caption>
<tr><th>セクション</th><th>標準</th><th>最小</th></tr>
<tr><td>Program (R/W cfg.)</td><td>6868</td><td>5208</td></tr>
<tr><td>Program (R/O cfg.)</td><td>3804</td><td>3136</td></tr>
<tr><td>Work Area (static)</td><td colspan="2">2</td></tr>
<tr><td>Work Area (dynamic)</td><td colspan="2">538 + 24 * &lt;files&gt;</td></tr>
</table>
</div>
<div class="para">
<h3>上位レイヤI/F</h3>
<p>FatFsモジュールとTiny-FatFsモジュールは、次のファイル操作関数を提供しています。</p>
<p>FatFs/Tiny-FatFsモジュールは、次のファイル操作関数を提供しています。</p>
<ul>
<li><a href="ja/open.html">f_open</a> - ファイルのオープン・作成</li>
<li><a href="ja/close.html">f_close</a> - ファイルのクローズ</li>
@@ -70,7 +85,7 @@
<div class="para">
<h3>下位レイヤI/F</h3>
<p>FatFsモジュールとTiny-FatFsモジュールは、物理ドライブへのアクセスや現在時刻を得るため、下位レイヤに次のインターフェースを要求します。</p>
<p>FatFs/Tiny-FatFsモジュールは、物理ドライブへのアクセスや現在時刻を得るため、下位レイヤに次のインターフェースを要求します。</p>
<ul>
<li><a href="ja/dinit.html">disk_initialize</a> - ディスク・ドライブの初期化</li>
<li><a href="ja/dstat.html">disk_status</a> - ディスク・ドライブの状態取得</li>
@@ -83,16 +98,15 @@
<div class="para">
<h3>資料</h3>
<p>FatFsモジュールとTiny-FatFsモジュールは教育・研究・開発用に公開しています。どのような利用目的(個人・非商用・商用)でも使用・改変・配布について一切の制限はありませんが、全て利用者の責任の下での利用とします。</p>
<p>FatFs/Tiny-FatFsモジュールはフリーウェアとして教育・研究・開発用に公開しています。どのような利用目的(個人・非商用・商用)でも使用・改変・配布について一切の制限はありませんが、全て利用者の責任の下での利用とします。</p>
<br>
<ul>
<li><a href="rwtest.png">パフォーマンス・テスト</a>(テストボード:ATmega64/9.2MHz with <a href="rw_mmc.jpeg">MMC</a>/<a href="rw_ata.jpeg">HDD</a>/<a href="rw_cfc.jpeg">CFC</a>)</li>
<li><a href="http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx">FAT32仕様書</a> (Microsoft)</li>
<li><a href="http://elm-chan.org/docs/mmc/mmc.html">MMCの使いかた</a></li>
<li><a href="../../docs/mmc/mmc.html">MMCの使いかた</a></li>
</ul>
</div>
<hr>
</body>
</html>