FatFS/doc/00index_j.html
savelij13 86d6ced87e fatfs v0.02a Jun 10, 2006:
- Added a configuration option _FS_MINIMUM.
2025-09-11 08:54:50 +03:00

113 lines
5.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<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>
</head>
<body>
<h1>FATファイルシステム・モジュール</h1>
<hr>
<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>
<h4>FatFsモジュールの特徴</h4>
<ul>
<li>システム用と各ファイル用バッファを分離し、複数ファイルの高速アクセスに適する</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>
</ul>
<h4>Tiny-FatFsモジュールの特徴</h4>
<ul>
<li>システム用と各ファイル用バッファを共通化し、RAMの使用量を削減</li>
<li>メモリの消費が少なく、小メモリ・システム(1KB)に対応</li>
<li>FAT12, FAT16(+FAT64)に対応</li>
<li>8.3形式ファイル名とNT小文字フラグに対応</li>
<li>FDISKフォーマット(基本区画)およびSFDフォーマット(512B/sectorのみ)に対応</li>
</ul>
</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>
<ul>
<li><a href="ja/open.html">f_open</a> - ファイルのオープン・作成</li>
<li><a href="ja/close.html">f_close</a> - ファイルのクローズ</li>
<li><a href="ja/read.html">f_read</a> - ファイルの読み込み</li>
<li><a href="ja/write.html">f_write</a> - ファイルの書き込み</li>
<li><a href="ja/lseek.html">f_lseek</a> - ファイルR/Wポインタの移動</li>
<li><a href="ja/sync.html">f_sync</a> - キャッシュされたデータのフラッシュ</li>
<li><a href="ja/opendir.html">f_opendir</a> - ディレクトリのオープン</li>
<li><a href="ja/readdir.html">f_readdir</a> - ディレクトリの読み出し</li>
<li><a href="ja/getfree.html">f_getfree</a> - ディスク空き領域の取得</li>
<li><a href="ja/stat.html">f_stat</a> - ファイル・ステータスの取得</li>
<li><a href="ja/mkdir.html">f_mkdir</a> - ディレクトリの作成</li>
<li><a href="ja/unlink.html">f_unlink</a> - ファイルまたはディレクトリの削除</li>
<li><a href="ja/chmod.html">f_chmod</a> - ファイルまたはディレクトリ属性の変更</li>
<li><a href="ja/mountdrv.html">f_mountdrv</a> - ファイル・システムの明示的初期化</li>
</ul>
</div>
<div class="para">
<h3>下位レイヤI/F</h3>
<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>
<li><a href="ja/dread.html">disk_read</a> - ディスクからの読み込み</li>
<li><a href="ja/dwrite.html">disk_write</a> - ディスクへの書き込み</li>
<li><a href="ja/fattime.html">get_fattime</a> - 日付・時刻の取得</li>
</ul>
</div>
<div class="para">
<h3>資料</h3>
<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="../../docs/mmc/mmc.html">MMCの使いかた</a></li>
</ul>
</div>
</body>
</html>