X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/4bc81323e51ac138e733c14eeb6f283ae706e904..05437fb4cdb907816a4fc3ffafa2617fcf33266a:/fatfs/doc/ja/dread.html diff --git a/fatfs/doc/ja/dread.html b/fatfs/doc/ja/dread.html index 18b4238..2dac64e 100644 --- a/fatfs/doc/ja/dread.html +++ b/fatfs/doc/ja/dread.html @@ -1,7 +1,7 @@ - + @@ -13,59 +13,60 @@

disk_read

-

ƒXƒgƒŒ[ƒWEƒfƒoƒCƒX‚©‚çƒf[ƒ^‚ð“ǂݏo‚µ‚Ü‚·B

+

ストレージ デバイスからデータを読み出します。

 DRESULT disk_read (
-  BYTE pdrv,     /* [IN] •¨—ƒhƒ‰ƒCƒu”ԍ† */
-  BYTE* buff,    /* [OUT] “ǂݏo‚µƒoƒbƒtƒ@‚ւ̃|ƒCƒ“ƒ^ */
-  DWORD sector,  /* [IN] “ǂݏo‚µŠJŽnƒZƒNƒ^”ԍ† */
-  UINT count     /* [IN] “ǂݏo‚·ƒZƒNƒ^” */
+  BYTE pdrv,     /* [IN] 物理ドライブ番号 */
+  BYTE* buff,    /* [OUT] 読み出しバッファへのポインタ */
+  DWORD sector,  /* [IN] 読み出し開始セクタ番号 */
+  UINT count     /* [IN] 読み出すセクタ数 */
 );
 
-

ˆø”

+

引数

pdrv
-
‘Ώۂ̃fƒoƒCƒX‚ðŽ¦‚·•¨—ƒhƒ‰ƒCƒu”ԍ†(0-9)‚ªŽw’肳‚ê‚Ü‚·B
+
対象のデバイスを示す物理ドライブ番号(0-9)が指定されます。シングル ドライブ システムでは、常に0が指定されます。
buff
-
ƒXƒgƒŒ[ƒWEƒfƒoƒCƒX‚©‚ç“ǂݏo‚µ‚½ƒf[ƒ^‚ðŠi”[‚·‚éƒoƒCƒg”z—ñ‚ªŽw’肳‚ê‚Ü‚·B
+
ストレージ デバイスから読み出したデータを格納するバイト配列が指定されます。
sector
-
“ǂݏo‚µ‚ðŠJŽn‚·‚éƒZƒNƒ^”ԍ†BLBA‚ÅŽw’肳‚ê‚Ü‚·B
+
読み出しを開始するセクタ番号。32ビットLBAで指定されます。
count
-
“ǂݏo‚·ƒZƒNƒ^”BFatFs‚©‚ç‚̌Ăяo‚µ‚Å‚Í1`128‚͈̔͂ɌÀ‚ç‚ê‚Ü‚·B
+
読み出すセクタ数(1~128)。
-

–ß‚è’l

+

戻り値

RES_OK (0)
-
³íI—¹B
+
正常終了。
RES_ERROR
-
“ǂݍž‚Ý’†‚ɃGƒ‰[‚ª”­¶‚µA‚»‚̉ñ•œ‚É‚àŽ¸”s‚µ‚½B
+
読み込み中にエラーが発生し、その回復にも失敗した。
RES_PARERR
-
ƒpƒ‰ƒ[ƒ^‚ª•s³B
+
パラメータが不正。
RES_NOTRDY
-
ƒhƒ‰ƒCƒu‚ª“®ì‰Â”\ó‘Ô‚Å‚Í‚È‚¢i‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢jB
+
ドライブが動作可能状態ではない(初期化されていない)。
-

‰ðà

-

buff‚ÍBYTEŒ^‚Ȃ̂ŁAŽw’肳‚ê‚éƒAƒhƒŒƒX‚͏í‚Ƀ[ƒhEƒAƒ‰ƒCƒƒ“ƒg‚³‚ê‚Ä‚¢‚é‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñB”ñƒAƒ‰ƒCƒƒ“ƒgEƒAƒhƒŒƒX‚Ö‚Ì“]‘—‚́A’¼Ú“]‘—‚É‚¨‚¢‚Ä”­¶‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·B‚à‚µ‚àAƒn[ƒhƒEƒFƒAã‚̐§–ñ‚Å‚»‚̂悤‚È“]‘—‚ª•s‰Â”\‚È‚Æ‚«‚́A‚±‚̊֐”“à‚Å“ñ’i“]‘—‚·‚é‚È‚Ç‚µ‚Ä‰ðŒˆ‚·‚é‚©A‚Ü‚½‚Í•Ê‚Ì•û–@‚őΉž‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñBŽŸ‚É‚¢‚­‚‚©‚̑Ήž•û–@‚ðŽ¦‚µ‚Ü‚·(‚¢‚¸‚ê‚©ˆê‚‚ÅOK)B

+

解説

+

ストレージ デバイスに対するデータの読み書きは、セクタ単位で行われます。FatFsでは512~4096バイトのセクタ サイズをサポートします。固定セクタ サイズ構成(_MIN_SS == MAX_SS)のときは、暗黙的にそのセクタ サイズで動作しなければなりません。可変セクタ サイズ構成(_MIN_SS < MAX_SS)

のときは、初期化後disk_ioctl()でセクタ サイズを問い合わせてくるので、それに対して正しい値を返す必要があります。 +

buffはBYTE型なので、指定されるアドレスは常にワード アライメントされているとは限りません。非アライメント アドレスへの転送は、直接転送において発生することがあります。もしも、ハードウェア上の制約でそのような転送が不可能なときは、この関数内で二段転送するなどして解決するか、または別の方法で対応しなければなりません。次にいくつかの対応方法を示します(いずれか一つでOK)。

-

ˆê”Ê“I‚ɁA•¡”ƒZƒNƒ^‚Ì“]‘——v‹‚́AƒXƒgƒŒ[ƒWEƒfƒoƒCƒX‚ɑ΂µ‚ĉ”\‚ÈŒÀ‚èƒ}ƒ‹ƒ`EƒZƒNƒ^“]‘—‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB•¡”‚̃Vƒ“ƒOƒ‹EƒZƒNƒ^“ǂݏo‚µ‚É•ª‰ð‚³‚ꂽê‡AƒXƒ‹[ƒvƒbƒg‚ª’ቺ‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·B

+

一般的に、複数セクタの転送要求は、ストレージ デバイスに対して可能な限りマルチ セクタ転送しなければなりません。複数のシングル セクタ読み出しに分解された場合、スループットが低下することがあります。

-

–ß‚é

+

戻る