FatFS/doc/00index_j.html
savelij13 3d65978d31 fatfs v0.04 Feb 04, 2007:
- Supported multiple drive system.
- Changed some APIs for multiple drive system.
- Added f_mkfs().
2025-09-11 09:03:34 +03:00

115 lines
5.5 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="img/layers.png" class="rset" width="245" height="255" alt="layer">
<p>小規模な組み込みシステム向けの汎用FATファイルシステム・モジュールです。ANSI C準拠でハードウェア・アーキテクチャには依存しないので、必要なワーク・エリアが確保できれば、8051, AVR, H8, Z80などほとんどのマイコンでそのまま使用可能です。いろいろな使用形態を考慮して、高機能版<strong>FatFs</strong>)と省メモリ版(<strong>Tiny-FatFs</strong>の2通りを作成してみました。実際に使用するには、各記録メディアCFC, MMC, SDC, ATA, USB, SCSI等に対応したディスクI/Oモジュールサンプルありを用意する必要があります。</p>
<h4>FatFsの特徴</h4>
<ul>
<li>ファイル・システム用とファイルI/O用バッファを分離し、複数ファイルの高速アクセスに適する</li>
<li>FAT12, FAT16(+FAT64), FAT32に対応 <small>(FAT64: FAT16 in 64KB/cluster)</small></li>
<li>複数ドライブをサポート</li>
<li>8.3形式ファイル名とNT小文字フラグに対応</li>
<li>FDISKフォーマット(基本区画)およびSFDフォーマット(512B/sectorのみ)に対応</li>
<li>8/16ビットマイコン向けにコードを最適化</li>
</ul>
<h4>Tiny-FatFsの特徴(FatFsとの相違)</h4>
<ul>
<li>RAMの使用量を削減し、小メモリ・システム(RAM:1KB)にも対応</li>
<li>単一ドライブのみサポート</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>プログラム(R/W構成)</td><td>8574</td><td>6094</td></tr>
<tr><td>プログラム(R/O構成)</td><td>4268</td><td>3494</td></tr>
<tr><td>静的ワークエリア</td><td colspan="2">2 + 2*&lt;drives&gt;</td>
<tr><td>動的ワークエリア</td><td colspan="2">550*&lt;drives&gt; + 544*&lt;files&gt;</td>
</table>
</div>
<table class="lst2">
<caption>Tiny-FatFs</caption>
<tr><th>セクション</th><th>標準</th><th>最小</th></tr>
<tr><td>プログラム(R/W構成)</td><td>7164</td><td>4890</td></tr>
<tr><td>プログラム(R/O構成)</td><td>3660</td><td>2946</td></tr>
<tr><td>静的ワークエリア</td><td colspan="2">4</td></tr>
<tr><td>動的ワークエリア</td><td colspan="2">542 + 28*&lt;files&gt;</td></tr>
</table>
</div>
<div class="para">
<h3>上位レイヤI/F</h3>
<p>FatFs/Tiny-FatFsモジュールは、次のファイル操作関数を提供しています。</p>
<ul>
<li><a href="ja/mount.html">f_mount</a> - ワークエリアの登録・削除</li>
<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/rename.html">f_rename</a> - ファイルまたはディレクトリの名前変更・移動</li>
<li><a href="ja/mkfs.html">f_mkfs</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>
<ul>
<li><a href="ja/appnote.html">FatFsモジュール・アプリケーション・ート</a></li>
<li><a href="img/rwtest.png">パフォーマンス・テスト</a>テスト・ボードATmega64/9.2MHz with <a href="img/rw_mmc.jpeg">MMC</a>/<a href="img/rw_ata.jpeg">HDD</a>/<a href="img/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>
</ul>
</div>
<hr>
<p class="foot"><a href="../../cc.html">戻る</a></p>
</body>
</html>