X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/e1deb7c3bc0500aabf5d099adb231f6d1d27f01d..b30c4e8f1aef96f6fdc93da9f125545f5f74d06e:/fatfs/doc/en/dread.html diff --git a/fatfs/doc/en/dread.html b/fatfs/doc/en/dread.html index 2e7c279..e7c2d7d 100644 --- a/fatfs/doc/en/dread.html +++ b/fatfs/doc/en/dread.html @@ -30,11 +30,11 @@ DRESULT disk_read (
pdrv
Physical drive number to identify the target device.
buff
-
Pointer to the byte array to store the read data.
+
Pointer to the first item of the byte array to store read data.
sector
Start sector number in 32-bit LBA.
count
-
Number of sectors to read in range of from 1 to 128..
+
Number of sectors to read.
@@ -56,12 +56,12 @@ DRESULT disk_read (

Description

-

The data read/write operation to the storage devices is done in unit of sector. FatFs supports the sector size in range of from 512 to 4096 bytes. When FatFs is configured to fixed sector size (_MIN_SS == MAX_SS, this will be the most case), the read/write function must work at that sector size. If variable sector size is selected (_MIN_SS < MAX_SS), FatFs inquires the sector size with disk_ioctl() after initialization. -

The memory address specified by buff is not that always aligned to word boundary because the argument is defined as BYTE*. The misaligned read/write request can occure at direct transfer. If the bus architecture, especially DMA controller, does not allow misaligned memory access, it should be solved in this function. There are some workarounds described below to avoid this issue.

+

The data read/write operation to the storage devices is done in unit of sector. FatFs supports the sector size in range of from 512 to 4096 bytes. When FatFs is configured to fixed sector size (_MIN_SS == MAX_SS, this will be the most case), the read/write function must work at that sector size. When FatFs is configured to variable sector size (_MIN_SS != MAX_SS), sector size is inquired with disk_ioctl function following disk_initialize function.

+

The memory address specified by buff is not that always aligned to word boundary because the argument is defined as BYTE*. The unaligned read/write request can occure at direct transfer. If the bus architecture, especially DMA controller, does not allow unaligned memory access, it should be solved in this function. There are some workarounds described below to avoid this issue.

Generally, a multiple sector transfer request must not be split into single sector transactions to the storage device, or you will not get good read throughput.