X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/5366852335044c1e68a5c32548d3051cc943552f..refs/tags/fatfs-0.12b:/fatfs/doc/ja/appnote.html diff --git a/fatfs/doc/ja/appnote.html b/fatfs/doc/ja/appnote.html index 0fb5579..8b6cb66 100644 --- a/fatfs/doc/ja/appnote.html +++ b/fatfs/doc/ja/appnote.html @@ -6,34 +6,33 @@ -
FatFsã¢ã¸ã¥ã¼ã«ã¯ç§»æ¤æ§ã«é¢ãã¦æ¬¡ã®ç¹ãåæã¨ãã¦ãã¾ãã
+FatFsã¢ã¸ã¥ã¼ã«ã¯ãã¼ã¿ããªãã£ã«é¢ãã¦æ¬¡ã®ç¹ãåæã¨ãã¦ãã¾ãã
ä¸ã«ç¤ºãä¾åé¢ä¿å³ã¯ãFatFsã¢ã¸ã¥ã¼ã«å©ç¨ã®çµã¿è¾¼ã¿ã·ã¹ãã ã«ããã代表çãªæ§æã示ãã¾ãã
- -(a) FatFsç¨ã«æ¸ããããã£ã¹ã¯ã»ã¢ã¸ã¥ã¼ã«ãããå ´åã¯ããã®ã¾ã¾è¿½å ããã ãã§ãã (b) ããããå¤ãã®æ¢åã®ãã£ã¹ã¯ã»ã¢ã¸ã¥ã¼ã«ã¯ãã®APIãFatFsã«åããããããã°ã«ã¼é¢æ°ãå¿ è¦ã«ãªãã§ãããã
- + +(a) FatFsç¨ã«æ¸ããããã£ã¹ã¯ ã¢ã¸ã¥ã¼ã«ãããå ´åã¯ããã®ã¾ã¾è¿½å ããã ãã§ãã (b) ããããå¤ãã®æ¢åã®ãã£ã¹ã¯ ã¢ã¸ã¥ã¼ã«ã¯ãã®APIãFatFsã«åããããããã°ã«ã¼é¢æ°ãå¿ è¦ã«ãªãã§ãããã
+å¿ è¦ãªã®ã¯FatFsã¢ã¸ã¥ã¼ã«ã®è¦æ±ãããã£ã¹ã¯é¢æ°ãç¨æãããã¨ã ãã§ããã以å¤ã«ãããã¨ã¯ããã¾ãããæ¢ã«åä½ãã¦ãããã£ã¹ã¯ã»ã¢ã¸ã¥ã¼ã«ããããªãããã®APIãFatFsã«åããããã°ã«ã¼é¢æ°ãä»ãã¦ã¤ãªãã ãã§æ¸ã¿ã¾ãããç¡ãå ´åã¯ã»ããã移æ¤ãããæåããæ¸ããããå¿ è¦ãããã¾ããå®ç¾©ããã¦ããå ¨ã¦ã®é¢æ°ã常ã«å¿ è¦ãªããã§ã¯ããã¾ãããä¾ãã°ããªã¼ãã»ãªã³ãªã¼æ§æã§ã¯æ¸ãè¾¼ã¿ç³»é¢æ°ã¯å¿ è¦ããã¾ããã次ã®è¡¨ã«æ§æãªãã·ã§ã³ã¨è¦æ±ãããé¢æ°ã®å¯¾å¿ã示ãã¾ãã
+ãã¼ãã£ã³ã°ä½æ¥ã¯ãè¦æ±ãããããã¤ã¹å¶å¾¡é¢æ°ãç¨æãããã¨ãå ¨ã¦ã§ããã以å¤ã«ãããã¨ã¯ä½ãããã¾ãããæ¢ã«åä½ãã¦ããããã¤ã¹å¶å¾¡ã¢ã¸ã¥ã¼ã«ããããªãããã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãFatFsã«åããããã°ã«ã¼é¢æ°ãä»ãã¦ã¤ãªãã ãã§æ¸ã¿ã¾ãããç¡ãå ´åã¯ã»ããã移æ¤ãããæåããæ¸ããããå¿ è¦ãããã¾ããå®ç¾©ããã¦ããå ¨ã¦ã®é¢æ°ã常ã«å¿ è¦ãªããã§ã¯ããã¾ãããä¾ãã°ããªã¼ã ãªã³ãªæ§æã§ã¯æ¸ãè¾¼ã¿ç³»é¢æ°ã¯å¿ è¦ããã¾ããã次ã®è¡¨ã«æ§æãªãã·ã§ã³ã¨è¦æ±ãããé¢æ°ã®å¯¾å¿ã示ãã¾ãã
å¿ è¦ãªé¢æ° | å¿ è¦ã¨ãªãæ¡ä»¶ | åè |
---|---|---|
disk_status disk_initialize disk_read | 常æ | ffsample.zip (ãµã³ãã«) ãã®ä»webä¸ã«å¤æ° |
disk_write get_fattime disk_ioctl (CTRL_SYNC) | _FS_READONLY == 0 | |
disk_ioctl (GET_SECTOR_COUNT) disk_ioctl (GET_BLOCK_SIZE) | _USE_MKFS == 1 | |
disk_ioctl (GET_SECTOR_SIZE) | _MAX_SS != _MIN_SS | |
disk_ioctl (CTRL_ERASE_SECTOR) | _USE_ERASE == 1 | |
ff_convert ff_wtoupper | _USE_LFN >= 1 | option/unicode.c |
disk_ioctl (CTRL_TRIM) | _USE_TRIM == 1 | |
ff_convert ff_wtoupper | _USE_LFN != 0 | option/unicode.cãããã¸ã§ã¯ãã« å ããã°ãã |
ff_cre_syncobj ff_rel_grant ff_req_grant ff_del_syncobj | _FS_REENTRANT == 1 | option/syscall.c (ãµã³ãã«) |
ff_mem_alloc ff_mem_free | _USE_LFN == 3 |
次ã®è¡¨ã«ããã¤ãã®ã¿ã¼ã²ããã«ãããã¡ã¢ãªä½¿ç¨éã®ä¾ã示ãã¾ãããã¹ãæã®æ§æãªãã·ã§ã³ã¯ãã®ä¸ã®éãã§ããæ°å¤ã®åä½ã¯ãã¤ãã§ãVã¯ããªã¥ã¼ã æ°ãFã¯åæãªã¼ãã³ã»ãã¡ã¤ã«æ°ã示ãã¾ããã³ã³ãã¤ã©ã®æé©åãªãã·ã§ã³ã¯ã³ã¼ãã»ãµã¤ãºã¨ãã¦ãã¾ãã
+次ã®è¡¨ã«ããã¤ãã®ã¿ã¼ã²ããã«ãããã¡ã¢ãªä½¿ç¨éã®ä¾ã示ãã¾ãããã¹ãæã®æ§æãªãã·ã§ã³ã¯ãã®ä¸ã®éãã§ããæ°å¤ã®åä½ã¯ãã¤ãã§ãVã¯ããªã¥ã¼ã æ°ãFã¯åæãªã¼ãã³ ãã¡ã¤ã«æ°ã示ãã¾ããã³ã³ãã¤ã©ã®æé©åãªãã·ã§ã³ã¯ã³ã¼ã ãµã¤ãºã¨ãã¦ãã¾ãã
ARM7 32bit | ARM7 Thumb | CM3 Thumb-2 | AVR | H8/300H | PIC24 | RL78 | V850ES | SH-2A | RX600 | IA-32 | |
---|---|---|---|---|---|---|---|---|---|---|---|
Compiler | GCC | GCC | GCC | GCC | CH38 | C30 | CC78K0R | CA850 | SHC | RXC | VC6 |
_WORD_ACCESS | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
text (Full, R/W) | 10675 | 7171 | 6617 | 13355 | 10940 | 11722 | 13262 | 8113 | 9048 | 6032 | 7952 |
text (Min, R/W) | 6727 | 4631 | 4331 | 8569 | 7262 | 7720 | 9088 | 5287 | 5800 | 3948 | 5183 |
text (Full, R/O) | 4731 | 3147 | 2889 | 6235 | 5170 | 5497 | 6482 | 3833 | 3972 | 2862 | 3719 |
text (Min, R/O) | 3559 | 2485 | 2295 | 4575 | 4064 | 4240 | 5019 | 2993 | 3104 | 2214 | 2889 |
bss | V*4 + 2 | V*4 + 2 | V*4 + 2 | V*2 + 2 | V*4 + 2 | V*2 + 2 | V*2 + 2 | V*4 + 2 | V*4 + 2 | V*4 + 2 | V*4 + 2 |
Work area (_FS_TINY == 0) | V*560 + F*550 | V*560 + F*550 | V*560 + F*550 | V*560 + F*544 | V*560 + F*550 | V*560 + F*544 | V*560 + F*544 | V*560 + F*544 | V*560 + F*550 | V*560 + F*550 | V*560 + F*550 |
Work area (_FS_TINY == 1) | V*560 + F*36 | V*560 + F*36 | V*560 + F*36 | V*560 + F*32 | V*560 + F*36 | V*560 + F*32 | V*560 + F*32 | V*560 + F*36 | V*560 + F*36 | V*560 + F*36 | V*560 + F*36 |
Compiler | GCC | GCC | GCC | GCC | CH38 | C30 | CC78K0R | CA850 | SHC | RXC | MSC |
text (Full, R/W) | 10.4k | 6.8k | 6.3k | 12.4k | 9.8k | 11.1k | 12.8k | 8.6k | 8.9k | 6.4k | 8.5k |
text (Min, R/W) | 6.8k | 4.6k | 4.3k | 8.2k | 6.7k | 7.6k | 9.1k | 6.0k | 5.9k | 4.5k | 5.9k |
text (Full, R/O) | 4.8k | 3.1k | 2.8k | 5.6k | 4.6k | 5.3k | 6.3k | 4.0k | 3.9k | 3.0k | 3.9k |
text (Min, R/O) | 3.6k | 2.4k | 2.3k | 4.4k | 3.5k | 4.0k | 4.9k | 3.3k | 3.0k | 2.4k | 3.1k |
bss | V*4 + 2 | V*4 + 2 | V*4 + 2 | V*2 + 2 | V*4 + 2 | V*2 + 2 | V*2 + 2 | V*4 + 2 | V*4 + 2 | V*4 + 2 | V*4 + 2 |
Work area (_FS_TINY == 0) | V*564 + F*552 | V*564 + F*552 | V*564 + F*552 | V*560 + F*546 | V*560 + F*546 | V*560 + F*546 | V*560 + F*546 | V*564 + F*552 | V*564 + F*552 | V*564 + F*552 | V*564 + F*552 |
Work area (_FS_TINY == 1) | V*564 + F*40 | V*564 + F*40 | V*564 + F*40 | V*560 + F*34 | V*560 + F*34 | V*560 + F*34 | V*560 + F*34 | V*564 + F*40 | V*564 + F*40 | V*564 + F*40 | V*564 + F*40 |
-FatFs R0.10a options: -_FS_READONLY 0 (R/W) or 1 (R/O) -_FS_MINIMIZE 0 (Full function) or 3 (Minimized function) -_USE_STRFUNC 0 (Disable string functions) -_USE_MKFS 0 (Disable f_mkfs function) -_USE_FORWARD 0 (Disable f_forward function) -_USE_FASTSEEK 0 (Disable fast seek feature) -_CODE_PAGE 932 (Japanese Shift-JIS) -_USE_LFN 0 (Disable LFN feature) -_MAX_SS 512 (Fixed sector size) -_FS_RPATH 0 (Disable relative path feature) -_FS_LABEL 0 (Disable volume label functions) -_VOLUMES V (Number of logical drives to be used) -_MULTI_PARTITION 0 (Single partition per drive) -_FS_REENTRANT 0 (Disable thread safe) -_FS_LOCK 0 (Disable file lock control) +FatFs R0.12b options: +_FS_READONLY 0 (R/W) or 1 (R/O) +_FS_MINIMIZE 0 (Full, with all basic functions) or 3 (Min, with fully minimized) +_FS_TINY 0 (Default) or 1 (Tiny file object) +And any other options are left not changed from default setting.
次ã®è¡¨ã¯æ§æãªãã·ã§ã³ã®è¨å®å¤ã«ããã©ã®æ©è½ãåé¤ããããã示ãã¾ãã
+次ã®è¡¨ã¯æ§æãªãã·ã§ã³ã®è¨å®å¤ã«ããã©ã®æ©è½ãåé¤ããããã示ãã¾ããAPIé¢æ°ã®è¡ã«xãç¡ããã°ãã®é¢æ°ã¯ä½¿ç¨å¯è½ã§ãã
Function | _FS_MINIMIZE | _FS_READONLY | _USE_STRFUNC | _FS_RPATH | _FS_LABEL | _USE_MKFS | _USE_FORWARD | _MULTI_PARTITION | |||||||||||||||||
0 | 1 | 2 | 3 | 0 | 1 | 0 | 1/2 | 0 | 1 | 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0/1 | 2 | |||||||
f_mount | |||||||||||||||||||||||||
f_open | |||||||||||||||||||||||||
f_close | |||||||||||||||||||||||||
f_read | |||||||||||||||||||||||||
f_write | x | ||||||||||||||||||||||||
f_sync | x | ||||||||||||||||||||||||
f_lseek | x | ||||||||||||||||||||||||
f_opendir | x | x | |||||||||||||||||||||||
f_closedir | x | x | |||||||||||||||||||||||
f_readdir | x | x | |||||||||||||||||||||||
f_stat | x | x | x | ||||||||||||||||||||||
f_getfree | x | x | x | x | |||||||||||||||||||||
f_truncate | x | x | x | x | |||||||||||||||||||||
f_unlink | x | x | x | x | |||||||||||||||||||||
f_mkdir | x | x | x | x | |||||||||||||||||||||
f_chmod | x | x | x | x | |||||||||||||||||||||
f_utime | x | x | x | x | |||||||||||||||||||||
f_rename | x | x | x | x | |||||||||||||||||||||
f_chdir | x | ||||||||||||||||||||||||
f_chdrive | x | ||||||||||||||||||||||||
f_getcwd | x | x | |||||||||||||||||||||||
f_getlabel | x | ||||||||||||||||||||||||
f_setlabel | x | x | |||||||||||||||||||||||
f_forward | x | ||||||||||||||||||||||||
f_mkfs | x | x | |||||||||||||||||||||||
f_fdisk | x | x | x | ||||||||||||||||||||||
f_putc | x | x | |||||||||||||||||||||||
f_puts | x | x | |||||||||||||||||||||||
f_printf | x | x | |||||||||||||||||||||||
f_gets | x | ||||||||||||||||||||||||
Function | _FS_ MINIMIZE | _FS_ READONLY | _USE_ STRFUNC | _FS_ RPATH | _USE_ FIND | _USE_ CHMOD | _USE_ EXPAND | _USE_ LABEL | _USE_ MKFS | _USE_ FORWARD | _MULTI_ PARTITION | ||||||||||||||
0 | 1 | 2 | 3 | 0 | 1 | 0 | 1 | 0 | 1 | 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | |
f_mount | |||||||||||||||||||||||||
f_open | |||||||||||||||||||||||||
f_close | |||||||||||||||||||||||||
f_read | |||||||||||||||||||||||||
f_write | x | ||||||||||||||||||||||||
f_sync | x | ||||||||||||||||||||||||
f_lseek | x | ||||||||||||||||||||||||
f_opendir | x | x | |||||||||||||||||||||||
f_closedir | x | x | |||||||||||||||||||||||
f_readdir | x | x | |||||||||||||||||||||||
f_findfirst | x | x | x | ||||||||||||||||||||||
f_findnext | x | x | x | ||||||||||||||||||||||
f_stat | x | x | x | ||||||||||||||||||||||
f_getfree | x | x | x | x | |||||||||||||||||||||
f_truncate | x | x | x | x | |||||||||||||||||||||
f_unlink | x | x | x | x | |||||||||||||||||||||
f_mkdir | x | x | x | x | |||||||||||||||||||||
f_rename | x | x | x | x | |||||||||||||||||||||
f_chdir | x | ||||||||||||||||||||||||
f_chdrive | x | ||||||||||||||||||||||||
f_getcwd | x | x | |||||||||||||||||||||||
f_chmod | x | x | |||||||||||||||||||||||
f_utime | x | x | |||||||||||||||||||||||
f_getlabel | x | ||||||||||||||||||||||||
f_setlabel | x | x | |||||||||||||||||||||||
f_expand | x | x | |||||||||||||||||||||||
f_forward | x | ||||||||||||||||||||||||
f_mkfs | x | x | |||||||||||||||||||||||
f_fdisk | x | x | x | ||||||||||||||||||||||
f_putc | x | x | |||||||||||||||||||||||
f_puts | x | x | |||||||||||||||||||||||
f_printf | x | x | |||||||||||||||||||||||
f_gets | x |
FatFsã¢ã¸ã¥ã¼ã«ã¯ãé·ããã¡ã¤ã«å(LFN)ããµãã¼ããã¾ãããã¡ã¤ã«ã«ä»ãããã2ã¤ã®ç°ãªãåå(çããã¡ã«åã¨é·ããã¡ã¤ã«å)ã¯ãf_readdir()ãé¤ããã¡ã¤ã«æä½é¢æ°ã«ããã¦ééã§ããããã©ã«ãæ§æã§ã¯ãLFNæ©è½ã¯OFFã«ãªã£ã¦ãã¾ããLFNæ©è½ãæå¹ã«ããã«ã¯ã_USE_LFNã1,2ã¾ãã¯3ã«è¨å®ããoption/unicode.cãããã¸ã§ã¯ãã«è¿½å ãã¾ããLFNæ©è½ã¯ãå ãã¦ããç¨åº¦ã®ã¯ã¼ã¯ã»ã¨ãªã¢(LFNæä½ãããã¡)ãå¿ è¦ã¨ãã¾ãããããã¡é·ã¯ä½¿ç¨ã§ããã¡ã¢ãªã«å¿ãã¦_MAX_LFNãªãã·ã§ã³ã§æ§æããããã¨ãã§ãã¾ããLFNã®é·ãã¯æ大255æåã«éããã®ã§ãLFNå®å ¨å¯¾å¿ã®ããã«ã¯_MAX_LFNã¯255ã«è¨å®ãããã¹ãã§ããä¸ãããããã¡ã¤ã«åã«å¯¾ãã¦ãããã¡é·ãä¸è¶³ããå ´åããã¡ã¤ã«é¢æ°ã¯FR_INVALID_NAMEã§å¤±æãã¾ãã
-ãã¡ã¤ã«é¢æ°ã«åå ¥ãè¡ãæ¡ä»¶ã®ä¸ã§LFNæ©è½ã使ç¨ããå ´åã¯ã_USE_LFNã¯2ã¾ãã¯3ã«è¨å®ãããªããã°ãªãã¾ããããã®å ´åããã¡ã¤ã«é¢æ°ã¯ã¯ã¼ã¯ã»ã¨ãªã¢ãåçã«ç¢ºä¿(ã¹ã¿ãã¯ã¾ãã¯ãã¼ã)ãã¾ãããããã¡ã»ãµã¤ãºã¯ã(_MAX_LFN + 1) * 2ãã¤ãã«ãªãã®ã§ãã¹ã¿ãã¯çã®ãµã¤ãºã¯ãããèæ ®ããååãªãµã¤ãºã§ãªããã°ãªãã¾ããã
+FatFsã¢ã¸ã¥ã¼ã«ã¯ãé·ããã¡ã¤ã«å(LFN)ããµãã¼ããã¾ãããã¡ã¤ã«ã«ä»ãããã2ã¤ã®ç°ãªãåå(çããã¡ã«åã¨é·ããã¡ã¤ã«å)ã¯ãf_readdiré¢æ°ãé¤ããã¡ã¤ã«æä½é¢æ°ã«ããã¦ééã§ããããã©ã«ãæ§æã§ã¯ãLFNæ©è½ã¯OFFã«ãªã£ã¦ãã¾ããLFNæ©è½ãæå¹ã«ããã«ã¯ã_USE_LFNã1,2ã¾ãã¯3ã«è¨å®ããoption/unicode.cãããã¸ã§ã¯ãã«è¿½å ãã¾ããLFNæ©è½ã¯ãå ãã¦ããç¨åº¦ã®ã¯ã¼ã¯ ã¨ãªã¢(LFNæä½ãããã¡)ãå¿ è¦ã¨ãã¾ãããããã¡é·ã¯ä½¿ç¨ã§ããã¡ã¢ãªã«å¿ãã¦_MAX_LFNã§æ§æããããã¨ãã§ãã¾ããLFNã®é·ãã¯æ大255æåã«éããã®ã§ãLFNå®å ¨å¯¾å¿ã®ããã«ã¯_MAX_LFNã¯255ã«è¨å®ãããã¹ãã§ããä¸ãããããã¡ã¤ã«åã«å¯¾ãã¦ãããã¡é·ãä¸è¶³ããå ´åããã¡ã¤ã«é¢æ°ã¯FR_INVALID_NAMEã§å¤±æãã¾ãã
+ãã¡ã¤ã«é¢æ°ã«åå ¥ãè¡ãæ¡ä»¶ã®ä¸ã§LFNæ©è½ã使ç¨ããå ´åã¯ã_USE_LFNã¯2ã¾ãã¯3ã«è¨å®ãããªããã°ãªãã¾ããããã®å ´åããã¡ã¤ã«é¢æ°ã¯ã¯ã¼ã¯ ã¨ãªã¢ãåçã«ç¢ºä¿(ã¹ã¿ãã¯ã¾ãã¯ãã¼ã)ãã¾ããã¯ã¼ã¯ ã¨ãªã¢ã®ãµã¤ãºã¯ã(_MAX_LFN + 1) * 2ãã¤ã(exFATå©ç¨æã¯ããã«+608ãã¤ã)ã«ãªãã®ã§ãã¹ã¿ãã¯çã®ãµã¤ãºã¯ãããèæ ®ããååãªä½è£ããªããã°ãªãã¾ããã
ã³ã¼ããã¼ã¸ | ã³ã¼ããµã¤ãº[bytes] |
---|---|
SBCS | +3721 |
932(Shift-JIS) | +62609 |
936(GBK) | +177797 |
949(Korean) | +139857 |
950(Big5) | +111497 |
_CODE_PAGE | 追å ã³ã¼ã |
SBCS | +2.8K |
932(Shift_JIS) | +62.6k |
936(GBK) | +177k |
949(Korean) | +139k |
950(Big5) | +111k |
LFNæ©è½ã®ä¸æãªä½¿ãæ¹ã¯ãããã使ããªãã¨ãããã¨ã§ããå®éãçµã¿è¾¼ã¿ç¨éã§ã¯LFNæ©è½ãã©ããã¦ãå¿ è¦ã«ãªãã¨ãããã¨ã¯ã»ã¨ãã©ç¡ãã¯ãã§ããLFNãæå¹ã«ããã¨ãé¸æãããã³ã¼ãã»ãã¼ã¸ã«å¿ãã¦ã¢ã¸ã¥ã¼ã«ã»ãµã¤ãºãå¢å¤§ããã¾ããå³ã®è¡¨ã«åã³ã¼ãã»ãã¼ã¸ã«ãããLFNãæå¹ã«ããã¨ãã®ã¢ã¸ã¥ã¼ã«ã»ãµã¤ãºã®éãã示ãã¾ããç¹ã«ãCJKå°åã§ã¯æ°ä¸ã®æåã使ããã¦ãã¾ãããä¸å¹¸ãªãã¨ã«ããã¯å·¨å¤§ãªOEMï¼Unicodeç¸äºå¤æãã¼ãã«ãè¦æ±ããã¢ã¸ã¥ã¼ã«ã»ãµã¤ãºã¯åçã«å¢å¤§ããã¾ãããã®çµæããããã®ã³ã¼ãã»ãã¼ã¸ã«ããã¦LFNãæå¹ã«ããFatFsã¢ã¸ã¥ã¼ã«ã¯ãAVRãå«ãæ®ã©ã®8ãããã»ãã¤ã³ã³ã«ã¤ã³ããªã¡ã³ãããããã¨ãã§ãã¾ããã
-LFNæ©è½ã®ãã¼ãã«ã¯ããã ãã§ã¯ããã¾ããããã¤ã¯ãã½ãã社ã¯FATãã¡ã¤ã«ã»ã·ã¹ãã ã«ã¤ãã¦ããã¤ãã®ç¹è¨±ãä¿æãã¦ãã¾ããããããLFNæ©è½ã®å®è£ ã«é¢ãããã®ã§ããã®å©ç¨ã«å¯¾ãã¦$0.25/unitã®ã©ã¤ã»ã³ã¹æãè¦æ±ãã¦ãã¾ãããã®ãããåç¨è£½åã§LFNæ©è½ãå©ç¨ããã¨ãã¯ãæçµä»åå°ã«ãã£ã¦ã¯ã©ã¤ã»ã³ã¹ãå¿ è¦ã«ãªãã¾ããæè¿ã®FAT32ãã©ã¤ãã®å¤ãã¯LFNæ©è½ãå«ãã§ããããããããã®ä½¿ç¨ã«å½ãã£ã¦ã©ã¤ã»ã³ã¹ãå¿ è¦ã«ãªãã¾ãããFatFsã§ã¯LFNæ©è½ãæ§æãªãã·ã§ã³ã§ä»»æã«ON/OFFã§ãããããç¡å¹ã«ãã¦ã©ã¤ã»ã³ã¹åé¡ãåé¿ãããã¨ãã§ãã¾ãã
+LFNæ©è½ã®ä¸æãªä½¿ãæ¹ã¯ãããã使ããªãã¨ãããã¨ã§ããå®éãçµã¿è¾¼ã¿ç¨éã§ã¯LFNæ©è½ãã©ããã¦ãå¿ è¦ã«ãªãã¨ãããã¨ã¯ã»ã¨ãã©ç¡ãã¯ãã§ããLFNãæå¹ã«ããã¨ãé¸æãããã³ã¼ã ãã¼ã¸ã«å¿ãã¦ã¢ã¸ã¥ã¼ã« ãµã¤ãºãå¢å¤§ãã¾ããå³ã®è¡¨ã«åã³ã¼ã ãã¼ã¸ã«ãããLFNãæå¹ã«ããã¨ãã®ã¢ã¸ã¥ã¼ã« ãµã¤ãºã®éãã示ãã¾ããç¹ã«ãCJKå°åã§ã¯æ°ä¸ã®æåã使ããã¦ãã¾ãããä¸å¹¸ãªãã¨ã«ããã¯å·¨å¤§ãªOEMï¼Unicodeç¸äºå¤æãã¼ãã«ãè¦æ±ããã¢ã¸ã¥ã¼ã« ãµã¤ãºã¯åçã«å¢å¤§ãã¾ãããã®çµæããããã®ã³ã¼ã ãã¼ã¸ã«ããã¦LFNãæå¹ã«ããFatFsã¢ã¸ã¥ã¼ã«ã¯ãå¤ãã®8ããã ãã¤ã³ã³ã«ã¤ã³ããªã¡ã³ããããã¨ãã§ãã¾ããã
+LFNæ©è½ã®ãã¼ãã«ã¯ããã ãã§ã¯ããã¾ããããã¤ã¯ãã½ãã社ã¯FATãã¡ã¤ã«ã·ã¹ãã ã«ã¤ãã¦ããã¤ãã®ç¹è¨±ãä¿æãã¦ãã¾ããããããLFNæ©è½ã®å®è£ ã«é¢ãããã®ã§ããã®å©ç¨ã«å¯¾ãã¦$0.25/unitã®ã©ã¤ã»ã³ã¹æãè¦æ±ãã¦ãã¾ãããã®ãããåç¨è£½åã§LFNæ©è½ãå©ç¨ããå ´åã¯ã製åã®æçµä»åå°ã«ãã£ã¦ã¯ã©ã¤ã»ã³ã¹ãå¿ è¦ã«ãªãã¾ããæè¿ã®FAT32ãã©ã¤ãã®å¤ãã¯LFNæ©è½ãå«ãã§ããããããããã®ä½¿ç¨ã«å½ãã£ã¦ã©ã¤ã»ã³ã¹ãå¿ è¦ã«ãªãã¾ãããFatFsã¯æ§æãªãã·ã§ã³ã§LFNæ©è½ãä»»æã«ON/OFFã§ãããããç¡å¹ã«ãã¦ã©ã¤ã»ã³ã¹åé¡ãåé¿ãããã¨ãã§ãã¾ãã
CP932(Shift_JIS)ã§ãã¤éLFNæ§æã®ã¨ãã¯ãæ¡å¼µæåã®å°æå(2ãã¤ãè±åã»ããªã«æåã»ã®ãªã·ã£æå)ã«å¯¾ãã¦å¤§æåå¤æãè¡ãããå°æåã®ã¾ã¾SFNã¨ã³ããªã«è¨é²ã»æ¤ç´¢ããã¾ã(æ¥æ¬èªMSDOSä»æ§)ããã®ãããéLFNæ§æã§å ¨è§å°æåãå«ããã¡ã¤ã«ãä½æããã¨ãNTç³»Windowsã§ãã®ãã¡ã¤ã«ãéããªããªãã¾ããLFNæ§æã§ã¯å¤§æåå¤æãè¡ãã¾ã(NTç³»Windowsä»æ§)ã
+FatFs APIä¸ã«ããããã¡ã¤ã«åçã®æååãã¼ã¿ã®å ¥åºåã¯ãããã©ã«ãã§ã¯ANSI/OEMã³ã¼ãã§è¡ããã¾ããããããUnicode(UTF-16)ã«åãæ¿ãããã¨ãã§ãã¾ã(_LFN_UNICODEã§è¨å®)ãã¤ã¾ããããã¯FatFsãLFNæ©è½ã«å®å ¨å¯¾å¿ãã¦ãããã¨ãæå³ãã¾ããUnicodeã®ãã¡ã¤ã«åã«é¢ãã詳細ã¯ããã¹åã®ãã©ã¼ããããåç §ãã¦ãã ããã
FatFs APIä¸ã«ããããã¡ã¤ã«åçã®æååãã¼ã¿ã®å ¥åºåã¯ãããã©ã«ãã§ã¯ANSI/OEMã³ã¼ãã§è¡ããã¾ããããããUnicode(UTF-16)ã«åãæ¿ãããã¨ãã§ãã¾ã(_LFN_UNICODEãªãã·ã§ã³ã§è¨å®)ãã¤ã¾ããããã¯FatFsãLFNæ©è½ã«å®å ¨å¯¾å¿ãã¦ãããã¨ãæå³ãã¾ããUnicodeã®ãã¡ã¤ã«åã«é¢ãã詳細ã¯ããã¡ã¤ã«åãåç §ãã¦ãã ããã
+exFAT(Microsoft's Extended File Allocation Table)ãã¡ã¤ã«ã·ã¹ãã ã¯ãæ¢ã«çµã¿è¾¼ã¿ã·ã¹ãã ãæ å ±å®¶é»ã§åºã使ããã¦ããFATãã¡ã¤ã«ã·ã¹ãã ãç½®ãæããç®çã§éçºããã¾ãããexFATã¯ã64GiB以ä¸ã®SDã¡ã¢ãª ã«ã¼ãã§æ¨æºãã¡ã¤ã«ã·ã¹ãã ã«æ¡ç¨ããããªã©ãFATã«ä¸¦ã³ãªã ã¼ããã« ã¡ãã£ã¢ã®æ¨æºãã¡ã¤ã«ã·ã¹ãã ã®ä¸ã¤ã¨ãªãã¤ã¤ããã¾ãã
+exFATããªã¥ã¼ã ã§ã¯ãFATããªã¥ã¼ã ã§å¶ç´ã¨ãªã£ã¦ãã4GiB以ä¸ã®ãµã¤ãºã®ãã¡ã¤ã«ãæ±ãããã¡ã¤ã«ã·ã¹ãã ã®ãªã¼ãã¼ããã(ç¹ã«ãã¡ã¤ã« ã¢ãã±ã¼ã·ã§ã³ ãã£ã¬ã¤)ãå¤§å¹ ã«ä½æ¸ãããæ¸ãè¾¼ã¿ã¹ã«ã¼ããããFATããåä¸ãã¦ãã¾ããããããç¾ãªãã¸ã§ã³ã®FatFsã§ã¯ãå®è£ ä¸ã®çç±ããä¸é£ç¶ãã¡ã¤ã«ã¸ã®ãµã¤ãºæ¡å¤§ãä¼´ãæ¸ãè¾¼ã¿æã®ã¨ããã¹ã«ã¼ããããFATããä½ä¸ãã¾ããf_expandé¢æ°ã«ããé£ç¶é åã®å²ãå½ã¦æ©è½ã¯ããã®åé¡ã®åé¿ã«æå¹ããããã¾ããã
+exFATã¯ãã¤ã¯ãã½ãã社ãéçºãããã®ãªã®ã§ããã¤ã¯ãã½ãã社ã¯exFATã«ã¤ãã¦ããã¤ãã®ç¹è¨±ãä¿æãã¦ãã¾ããFatFsã®exFATæ©è½ã¯ãããã® US. Pat. App. Pub. No. 2009/0164440 A1 ã«åºã¥ããå®è£ ã§ãããã®ãããåç¨è£½åã§exFATæ©è½ãå©ç¨ããå ´åã製åã®æçµä»åå°ã«ãã£ã¦ã¯ã©ã¤ã»ã³ã¹ãå¿ è¦ã«ãªãã¾ããæè¿ã®FATãã©ã¤ãã®å¤ãã¯exFATæ©è½ãå«ãã§ããããããããã®ä½¿ç¨ã«å½ãã£ã¦ã©ã¤ã»ã³ã¹ãå¿ è¦ã«ãªãã¾ãããFatFsã¯æ§æãªãã·ã§ã³ã§exFATæ©è½ãä»»æã«ON/OFFã§ãããããç¡å¹ã«ãã¦ã©ã¤ã»ã³ã¹åé¡ãåé¿ãããã¨ãã§ãã¾ãã
+exFATãæå¹ã«ããã¨ãFatFsã¢ã¸ã¥ã¼ã«ã®C89äºæã¯å¤±ããã¾ã(64ãããæ´æ°åãå¿ è¦ãªãã)ã
äºãã«ç°ãªãããªã¥ã¼ã ã«å¯¾ãããã¡ã¤ã«æä½ã¯ãªã¨ã³ãã©ã³ãã§ã常ã«åæå¹³è¡ã«åä½ã§ãã¾ããåãããªã¥ã¼ã ã«å¯¾ãã¦ã¯ããã©ã«ãã§ã¯ãªã¨ã³ãã©ã³ãã§ã¯ããã¾ãããã_FS_REENTRANTãªãã·ã§ã³ã§ãªã¨ã³ãã©ã³ã(ã¹ã¬ããã»ã»ã¼ã)ã«ãããã¨ã¯ã§ãã¾ãããã®å ´åãOSä¾åã®åæãªãã¸ã§ã¯ãæä½é¢æ°ff_cre_syncobj(), ff_del_syncobj(), ff_req_grant(), ff_rel_grant()ãã¾ãããã¸ã§ã¯ãã«è¿½å ãããªããã°ãªãã¾ããããµã³ãã«ã»ã³ã¼ãã¨è§£èª¬ã¯option/syncobj.cã«ããã¾ãã
-ãã®å ´åãããã¿ã¹ã¯ãããªã¥ã¼ã ã使ç¨ä¸ã«ä»ã®ã¿ã¹ã¯ãããã®ããªã¥ã¼ã ã«å¯¾ãããã¡ã¤ã«é¢æ°ãå¼ã³åºãããã¨ããã®ã¢ã¯ã»ã¹ã¯å ã®ã¿ã¹ã¯ããã¡ã¤ã«é¢æ°ãæããã¾ã§ãããã¯ããã¾ãããããå¾ ã¡æéã_TIMEOUTã§æå®ãããæéãè¶ãã¨ããã®é¢æ°ã¯FR_TIMEOUTã§ã¢ãã¼ããã¾ããããã¤ãã®RTOSã§ã¯ã¿ã¤ã ã¢ã¦ãæ©è½ã¯ãµãã¼ããããªãããç¥ãã¾ããã
-ã²ã¨ã¤ã®ä¾å¤ãf_mount(), f_mkfs(), f_fdisk()ã«ããã¾ãããããã®é¢æ°ã¯åãããªã¥ã¼ã (ã¾ãã¯é¢é£ããç©çãã©ã¤ã)ã«å¯¾ãã¦ãªã¨ã³ãã©ã³ãã§ã¯ããã¾ããããããã®é¢æ°ã使ç¨ããã¨ãã¯ãã¢ããªã±ã¼ã·ã§ã³ã»ã¬ãã«ã§æä»å¶å¾¡ããªããã°ãªãã¾ããã
-注: ãã®ã»ã¯ã·ã§ã³ã¯FatFsã¢ã¸ã¥ã¼ã«ããèªä½ã®ãªã¨ã³ãã©ã³ã·ã¼ã«ã¤ãã¦èª¬æãã¦ãã¾ãããã®ä¸ä½ã®ãã£ã¹ã¯I/Oã¢ã¸ã¥ã¼ã«ã®ãªã¨ã³ãã©ã³ã·ã¼ã«é¢ãã¦ã¯ä½ã®åæãããã¾ããã
+äºãã«ç°ãªãããªã¥ã¼ã ã«å¯¾ãããã¡ã¤ã«æä½ã¯ã_USE_LFN == 1ãé¤ãã¦æ§æã«ããããããªã¨ã³ãã©ã³ãã§ã常ã«åæå¹³è¡ã«åä½ã§ãã¾ãã
+åãããªã¥ã¼ã ã«å¯¾ãã¦ã¯ããã©ã«ãã§ã¯ãªã¨ã³ãã©ã³ãã§ã¯ããã¾ãããã_FS_REENTRANTã§ãªã¨ã³ãã©ã³ã(ã¹ã¬ãã ã»ã¼ã)ã«ãããã¨ã¯ã§ãã¾ãããã®å ´åãOSä¾åã®åæãªãã¸ã§ã¯ãæä½é¢æ°ff_cre_syncobj, ff_del_syncobj, ff_req_grant, ff_rel_granté¢æ°ãã¾ãããã¸ã§ã¯ãã«è¿½å ãããªããã°ãªãã¾ããããµã³ãã« ã³ã¼ãã¨è§£èª¬ã¯option/syncobj.cã«ããã¾ãã
+ãã®å ´åãããã¿ã¹ã¯ãããªã¥ã¼ã ã使ç¨ä¸ã«ä»ã®ã¿ã¹ã¯ãããã®ããªã¥ã¼ã ã«å¯¾ãããã¡ã¤ã«é¢æ°ãå¼ã³åºãããã¨ããã®ã¢ã¯ã»ã¹ã¯å ã®ã¿ã¹ã¯ããã¡ã¤ã«é¢æ°ãæããã¾ã§ãµã¹ãã³ãããã¾ããå¾ ã¡æéã_TIMEOUTã§æå®ãããæéãè¶ããå ´åããã®é¢æ°ã¯FR_TIMEOUTã§ã¢ãã¼ããã¾ããããã¤ãã®RTOSã§ã¯ã¿ã¤ã ã¢ã¦ãæ©è½ã¯ãµãã¼ããããªãããç¥ãã¾ããã
+ã²ã¨ã¤ã®ä¾å¤ãf_mount, f_mkfs, f_fdiské¢æ°ã«ããã¾ãããããã®ããªã¥ã¼ã å¶å¾¡é¢æ°ã¯åãããªã¥ã¼ã (ã¾ãã¯é¢é£ããç©çãã©ã¤ã)ã«å¯¾ãã¦ãªã¨ã³ãã©ã³ãã§ã¯ããã¾ããããããã®é¢æ°ã使ç¨ããã¨ãã¯ãã¢ããªã±ã¼ã·ã§ã³ ã¬ãã«ã§æä»å¶å¾¡ããªããã°ãªãã¾ããã
+注: ãã®ã»ã¯ã·ã§ã³ã¯FatFsã¢ã¸ã¥ã¼ã«ããèªä½ã®ãªã¨ã³ãã©ã³ã·ã¼ã«ã¤ãã¦èª¬æãã¦ãã¾ãã_FS_REENTRANTã¯ãåãã¡ã¤ã«ã·ã¹ãã ãªãã¸ã§ã¯ãã®æä»å¶å¾¡ãè¡ãã®ã¿ã§ãä¸ä½ã®ãã£ã¹ã¯é¢æ°ã¸ã®åå ¥ãé²æ¢ãããã®ã§ã¯ããã¾ããããã¨ãã°ãã·ã³ã°ã« ããªã¥ã¼ã æ§æã§ã¯disk_statusé¢æ°ã®ã¿åå ¥ãããå¯è½æ§ãããããã«ã ããªã¥ã¼ã æ§æã§ã¯ã©ã®ãã£ã¹ã¯é¢æ°ãåå ¥ãããå¯è½æ§ãããã¾ãããã®ããã«ãè¤æ°ã®ã¿ã¹ã¯ããåæã«FatFs APIã使ãæ¡ä»¶ã§ã¯ããã£ã¹ã¯I/Oã¢ã¸ã¥ã¼ã«ã¯ã¹ã¬ãã ã»ã¼ãã§ããå¿ è¦ãããã¾ãã
FatFsã¢ã¸ã¥ã¼ã«ã§ã¯ããã©ã«ãã§ã¯å¤éã¢ã¯ã»ã¹å¶å¾¡æ©è½ããµãã¼ããã¦ãã¾ããããã¡ã¤ã«ã«å¯¾ããå¤éã¢ã¯ã»ã¹ã¯ããã®ã¢ã¯ã»ã¹ã»ã¢ã¼ãã«ãã£ã¦å¶éããã¾ããä¸ã¤ã®ãã¡ã¤ã«ã«å¯¾ããå¤éãªã¼ãã³ã¯ãããããå ¨ã¦ãªã¼ãã»ã¢ã¼ãã®ã¨ãã«éã£ã¦è¨±å¯ããã¾ããæ¸ãè¾¼ã¿ã¢ã¼ããå«ãå¤éãªã¼ãã³ãã¾ãéããã¦ãããã¡ã¤ã«ã«å¯¾ãããªãã¼ã ãåé¤ãè¡ã£ã¦ã¯ãªãã¾ããããããªãã¨ããã®ããªã¥ã¼ã ã®FATæ§é ãç ´å£ãããå¯è½æ§ãããã¾ãã
-_FS_LOCKã«1以ä¸ã®å¤(å¤ã¯åæã«ç®¡çã§ãããã¡ã¤ã«æ°)ãã»ãããããã¨ã§å¤éã¢ã¯ã»ã¹å¶å¾¡æ©è½ãæå¹ã«ãªãããã¡ã¤ã«åä½ã®ã¢ã¯ã»ã¹å¶å¾¡ãèªåã§è¡ããã¨ãã§ãã¾ãããã®å ´åãä¸è¨ã®ã«ã¼ã«ãç ´ã£ããªã¼ãã³ã»ãªãã¼ã ã»åé¤ã試ã¿ãã¨ããã®é¢æ°ã¯FR_LOCKEDã§å¤±æãã¾ããã¾ãã_FS_LOCKãè¶ããæ°ã®ãã¡ã¤ã«ããµãã»ãã£ã¬ã¯ããªãåæã«ãªã¼ãã³ãããã¨ããã¨ãFR_TOO_MANY_OPEN_FILESã§å¤±æãã¾ãã
+FatFsã¢ã¸ã¥ã¼ã«ã§ã¯ããã©ã«ãã§ã¯å¤éã¢ã¯ã»ã¹å¶å¾¡æ©è½ããµãã¼ããã¦ãã¾ããããã¡ã¤ã«ã«å¯¾ããå¤éã¢ã¯ã»ã¹ã¯ããã®ã¢ã¯ã»ã¹ ã¢ã¼ãã«ãã£ã¦å¶éããã¾ããä¸ã¤ã®ãã¡ã¤ã«ã«å¯¾ããå¤éãªã¼ãã³ã¯ãããããå ¨ã¦ãªã¼ã ã¢ã¼ãã®ã¨ãã«éã£ã¦è¨±å¯ããã¾ããæ¸ãè¾¼ã¿ã¢ã¼ããå«ãå¤éãªã¼ãã³ãã¾ãéããã¦ãããã¡ã¤ã«ã«å¯¾ãããªãã¼ã ãåé¤ãè¡ã£ã¦ã¯ãªãã¾ããããããªãã¨ããã®ããªã¥ã¼ã ã®FATæ§é ãç ´å£ãããå¯è½æ§ãããã¾ãã
+_FS_LOCKã«1以ä¸ã®å¤(å¤ã¯åæã«ç®¡çã§ãããã¡ã¤ã«æ°)ãã»ãããããã¨ã§å¤éã¢ã¯ã»ã¹å¶å¾¡æ©è½ãæå¹ã«ãªãããã¡ã¤ã«åä½ã®ã¢ã¯ã»ã¹å¶å¾¡ãèªåã§è¡ããã¨ãã§ãã¾ãããã®å ´åãä¸è¨ã®ã«ã¼ã«ãç ´ã£ããªã¼ãã³ã»ãªãã¼ã ã»åé¤ã試ã¿ãã¨ããã®é¢æ°ã¯FR_LOCKEDã§å¤±æãã¾ããã¾ãã_FS_LOCKãè¶ããæ°ã®ãã¡ã¤ã«ããµã ãã£ã¬ã¯ããªãåæã«ãªã¼ãã³ãããã¨ããã¨ãFR_TOO_MANY_OPEN_FILESã§å¤±æãã¾ãã
å°è¦æ¨¡ãªçµè¾¼ã·ã¹ãã ã§ã®ãã¡ã¤ã«ã®èªã¿æ¸ãã«ãããå¹çã®è¯ãã¢ã¯ã»ã¹ã®ãããã¢ããªã±ã¼ã·ã§ã³ã»ããã°ã©ãã¯FatFsã¢ã¸ã¥ã¼ã«ã®ä¸ã§ã©ã®ãããªå¦çãè¡ããã¦ãããèæ ®ãã¹ãã§ããã¹ãã¬ã¼ã¸ä¸ã®ãã¼ã¿ã¯f_read()ã«ãã次ã®ã·ã¼ã±ã³ã¹ã§è»¢éããã¾ãã
-å³1. ã»ã¯ã¿ã»ãã¹ã¢ã©ã¤ã³ãã»ãªã¼ã (ã·ã§ã¼ã)
-
+
å°è¦æ¨¡ãªçµè¾¼ã·ã¹ãã ã§ã®ãã¡ã¤ã«ã®èªã¿æ¸ãã«ãããå¹çã®è¯ãã¢ã¯ã»ã¹ã®ãããã¢ããªã±ã¼ã·ã§ã³ ããã°ã©ãã¯FatFsã¢ã¸ã¥ã¼ã«ã®ä¸ã§ã©ã®ãããªå¦çãè¡ããã¦ãããèæ ®ãã¹ãã§ããã¹ãã¬ã¼ã¸ä¸ã®ãã¼ã¿ã¯f_readé¢æ°ã«ãã次ã®ã·ã¼ã±ã³ã¹ã§è»¢éããã¾ãã
+å³1. ã»ã¯ã¿ ãã¹ã¢ã©ã¤ã³ã ãªã¼ã (ã·ã§ã¼ã)
+
å³2. ã»ã¯ã¿ã»ãã¹ã¢ã©ã¤ã³ãã»ãªã¼ã (ãã³ã°)
-
+
å³2. ã»ã¯ã¿ ãã¹ã¢ã©ã¤ã³ã ãªã¼ã (ãã³ã°)
+
å³3. ã»ã¯ã¿ã»ã¢ã©ã¤ã³ãã»ãªã¼ã
-
+
å³3. ã»ã¯ã¿ ã¢ã©ã¤ã³ã ãªã¼ã
+
ãã¡ã¤ã«I/Oãããã¡ã¯ã»ã¯ã¿ã®ä¸é¨ã®ãã¼ã¿ãèªã¿æ¸ãããããã®ã»ã¯ã¿ã»ãããã¡ãæå³ãã¾ããã»ã¯ã¿ã»ãããã¡ã¯ãããããã®ãã¡ã¤ã«ã»ãªãã¸ã§ã¯ãå ã®ãã©ã¤ãã¼ãã»ã»ã¯ã¿ã»ãããã¡ã¾ãã¯ãã¡ã¤ã«ã»ã·ã¹ãã ã»ãªãã¸ã§ã¯ãå ã®å ±æã»ã¯ã¿ã»ãããã¡ã®ã©ã¡ããã§ãããããã¡æ§æãªãã·ã§ã³ã®_FS_TINYã¯ããã¼ã¿è»¢éã«ã©ã¡ãã使ããã決å®ãã¾ããã¿ã¤ãã¼ã»ãããã¡(1)ãé¸æãããã¨ãã¼ã¿ã»ã¡ã¢ãªã®æ¶è²»ã¯ããããã®ãã¡ã¤ã«ã»ãªãã¸ã§ã¯ãã§512ãã¤ãæ¸å°ããã¾ãããã®å ´åãFatFsã¢ã¸ã¥ã¼ã«ã¯ãã¡ã¤ã«ã»ãã¼ã¿ã®è»¢éã¨FAT/ãã£ã¬ã¯ããªã»ã¢ã¯ã»ã¹ã«ãã¡ã¤ã«ã»ã·ã¹ãã ã»ãªãã¸ã§ã¯ãå ã®ã»ã¯ã¿ã»ãããã¡ã ãã使ç¨ãã¾ããã¿ã¤ãã¼ã»ãããã¡ã®æ¬ ç¹ã¯ãã»ã¯ã¿ã»ãããã¡ã«ãã£ãã·ã¥ãããFATãã¼ã¿ããã¡ã¤ã«ã»ãã¼ã¿ã®è»¢éã«ãã失ãããã¯ã©ã¹ã¿å¢çã®æ¯ã«ãªãã¼ããããªããã°ãªããªããã¨ã§ããã§ããæªããªãæ§è½ã¨å°ãªãã¡ã¢ãªæ¶è²»ã®è¦ç¹ããå¤ãã®ã¢ããªã±ã¼ã·ã§ã³ã«é©ããã§ãããã
-å³1ã¯ã»ã¯ã¿ã®ä¸é¨ã®ãã¼ã¿ããã¡ã¤ã«I/Oãããã¡ãçµç±ã§è»¢éããããã¨ã示ãã¾ããå³2ã«ç¤ºãããé·ããã¼ã¿ã®è»¢éã§ã¯ã転éãã¼ã¿ã®ä¸éã®1ã»ã¯ã¿ã¾ãã¯ãã以ä¸ã®ã»ã¯ã¿ã«ã¾ããã転éãã¼ã¿ãã¢ããªã±ã¼ã·ã§ã³ã»ãããã¡ã«ç´æ¥è»¢éããã¦ãã¾ããå³3ã¯è»¢éãã¼ã¿å ¨ä½ãã»ã¯ã¿å¢çã«ã¢ã©ã¤ã¡ã³ãããã¦ããå ´åã示ãã¦ãã¾ãããã®å ´åããã¡ã¤ã«I/Oãããã¡ã¯ä½¿ç¨ããã¾ãããç´æ¥è»¢éã«ããã¦ã¯æ大ã®ç¯å²ã®ã»ã¯ã¿ãdisk_read()ã§ä¸åº¦ã«èªã¿è¾¼ã¾ãã¾ãããã¯ã©ã¹ã¿å¢çãè¶ãããã«ãã»ã»ã¯ã¿è»¢éã¯ãããé£æ¥ã§ãã£ã¦ãè¡ããã¾ããã
-ãã®ããã«ãã»ã¯ã¿ã«ã¢ã©ã¤ã¡ã³ããããã¡ã¤ã«ã®èªã¿æ¸ãã¸ã®é æ ®ã¯ãããã¡çµç±ã®ãã¼ã¿è»¢éãé¿ããèªã¿æ¸ãæ§è½ã¯æ¹åãããã§ãããããã®å¹æã«å ããã¿ã¤ãã¼æ§æã§ãã£ãã·ã¥ãããFATãã¼ã¿ããã¡ã¤ã«ã»ãã¼ã¿ã®è»¢éã«ãããã©ãã·ã¥ããããéã¿ã¤ãã¼æ§æã¨åãæ§è½ãå°ããªã¡ã¢ãªã»ãããããªã³ãã§éæã§ãã¾ãã
+ãã¡ã¤ã«I/Oãããã¡ã¯ã»ã¯ã¿ã®ä¸é¨ã®ãã¼ã¿ãèªã¿æ¸ãããããã®ã»ã¯ã¿ ãããã¡ãæå³ãã¾ããã»ã¯ã¿ ãããã¡ã¯ãããããã®ãã¡ã¤ã« ãªãã¸ã§ã¯ãå ã®ãã©ã¤ãã¼ã ã»ã¯ã¿ ãããã¡ã¾ãã¯ãã¡ã¤ã«ã·ã¹ãã ãªãã¸ã§ã¯ãå ã®å ±æã»ã¯ã¿ ãããã¡ã®ã©ã¡ããã§ãããããã¡æ§æãªãã·ã§ã³ã®_FS_TINYã¯ããã¼ã¿è»¢éã«ã©ã¡ãã使ããã決å®ãã¾ããã¿ã¤ãã¼ ãããã¡(1)ãé¸æãããã¨ãã¼ã¿ ã¡ã¢ãªã®æ¶è²»ã¯ããããã®ãã¡ã¤ã« ãªãã¸ã§ã¯ãã§_MAX_SSãã¤ãæ¸å°ããã¾ãããã®å ´åãFatFsã¢ã¸ã¥ã¼ã«ã¯ãã¡ã¤ã« ãã¼ã¿ã®è»¢éã¨FAT/ãã£ã¬ã¯ã㪠ã¢ã¯ã»ã¹ã«ãã¡ã¤ã«ã·ã¹ãã ãªãã¸ã§ã¯ãå ã®ã»ã¯ã¿ ãããã¡ã ãã使ç¨ãã¾ããã¿ã¤ãã¼ ãããã¡ã®æ¬ ç¹ã¯ãã»ã¯ã¿ ãããã¡ã«ãã£ãã·ã¥ãããFATãã¼ã¿ããã¡ã¤ã« ãã¼ã¿ã®è»¢éã«ãã失ãããã¯ã©ã¹ã¿å¢çã®æ¯ã«ãªãã¼ããããªããã°ãªããªããã¨ã§ããã§ããæªããªãæ§è½ã¨å°ãªãã¡ã¢ãªæ¶è²»ã®è¦ç¹ããå¤ãã®ã¢ããªã±ã¼ã·ã§ã³ã«é©ããã§ãããã
+å³1ã¯ã»ã¯ã¿ã®ä¸é¨ã®ãã¼ã¿ããã¡ã¤ã«I/Oãããã¡ãçµç±ã§è»¢éããããã¨ã示ãã¾ããå³2ã«ç¤ºãããé·ããã¼ã¿ã®è»¢éã§ã¯ã転éãã¼ã¿ã®ä¸éã®1ã»ã¯ã¿ã¾ãã¯ãã以ä¸ã®ã»ã¯ã¿ã«ã¾ããã転éãã¼ã¿ãã¢ããªã±ã¼ã·ã§ã³ ãããã¡ã«ç´æ¥è»¢éããã¦ãã¾ããå³3ã¯è»¢éãã¼ã¿å ¨ä½ãã»ã¯ã¿å¢çã«ã¢ã©ã¤ã¡ã³ãããã¦ããå ´åã示ãã¦ãã¾ãããã®å ´åããã¡ã¤ã«I/Oãããã¡ã¯ä½¿ç¨ããã¾ãããç´æ¥è»¢éã«ããã¦ã¯æ大ã®ç¯å²ã®ã»ã¯ã¿ãdisk_readé¢æ°ã§ä¸åº¦ã«èªã¿è¾¼ã¾ãã¾ãããã¯ã©ã¹ã¿å¢çãè¶ãããã«ã ã»ã¯ã¿è»¢éã¯ãããé£æ¥ã§ãã£ã¦ãè¡ããã¾ããã
+ãã®ããã«ãã»ã¯ã¿ã«ã¢ã©ã¤ã¡ã³ããããã¡ã¤ã«ã®èªã¿æ¸ãã¸ã®é æ ®ã¯ãããã¡çµç±ã®ãã¼ã¿è»¢éãé¿ããèªã¿æ¸ãæ§è½ã¯æ¹åãããã§ãããããã®å¹æã«å ããã¿ã¤ãã¼æ§æã§ãã£ãã·ã¥ãããFATãã¼ã¿ããã¡ã¤ã« ãã¼ã¿ã®è»¢éã«ãããã©ãã·ã¥ããããéã¿ã¤ãã¼æ§æã¨åãæ§è½ãå°ããªã¡ã¢ãª ãããããªã³ãã§éæã§ãã¾ãã
HDDãªã©ã®ãã£ã¹ã¯ã»ã¡ãã£ã¢ã¨ã¯ç°ãªããSDCãCFCãªã©ã®ãã©ãã·ã¥ã»ã¡ã¢ãªã»ã¡ãã£ã¢ã®æ§è½ãå¼ãåºãã«ã¯ããã®ç¹æ§ãæèããå¶å¾¡ãå¿ è¦ã«ãªãã¾ãã
-HDDãªã©ã®ãã£ã¹ã¯ ã¡ãã£ã¢ã¨ã¯ç°ãªããSDCãCFCãªã©ã®ãã©ãã·ã¥ ã¡ã¢ãª ã¡ãã£ã¢ã®æ§è½ãå¼ãåºãã«ã¯ããã®ç¹æ§ãæèããå¶å¾¡ãå¿ è¦ã«ãªãã¾ãã
+ãã©ãã·ã¥ã»ã¡ã¢ãªã»ã¡ãã£ã¢ã®æ¸ãè¾¼ã¿é度ã¯ã·ã³ã°ã«ã»ã»ã¯ã¿æ¸ãè¾¼ã¿ã®æã«æãä½ããã®ã«ãªããä¸åã®ãã©ã³ã¶ã¯ã·ã§ã³ã§è»¢éãããã»ã¯ã¿æ°ã大ãããªãã»ã©æ¸ãè¾¼ã¿é度ã¯åä¸ãã¾ãããã®å¹æã¯ãã¹é度ãé«éã«ãªãã»ã©é¡èã§ã10å以ä¸ã®å·®ãç¾ãããã¨ãçããããã¾ããããã¹ãçµæã¯ããã«ãã»ã»ã¯ã¿æ¸ãè¾¼ã¿(W:16K, 32 sectors)ãã·ã³ã°ã«ã»ã»ã¯ã¿æ¸ãè¾¼ã¿(W:100, 1 sector)ããã©ã®ç¨åº¦éãããæ確ã«ç¤ºãã¦ãã¾ãã大容éã¡ãã£ã¢ã»ã©ã·ã³ã°ã«ã»ã»ã¯ã¿æ¸ãè¾¼ã¿ãé ããªãç¹ãã¾ãéè¦ã§ããæ¸ãè¾¼ã¿ãã©ã³ã¶ã¯ã·ã§ã³ã®åæ°ã¯ã¾ããã¡ãã£ã¢ã®å¯¿å½ã«ãå½±é¿ãã¦ãã¾ãããã®ãããã¢ããªã±ã¼ã·ã§ã³ã¯ãªãã¹ã大ããªãããã¯(ã¯ã©ã¹ã¿ã»ãµã¤ãºã¾ãã¯2ã®ç´¯ä¹ã»ã¯ã¿å¢çã«ã¢ã©ã¤ã¡ã³ããã)ã§èªã¿æ¸ããè¡ãå¿ è¦ãããã¾ãããã¡ãããã¢ããªã±ã¼ã·ã§ã³ããã¡ãã£ã¢ã«è³ãå ¨ã¦ã®ã¬ã¤ã¤ããã«ãã»ã»ã¯ã¿è»¢éã«å¯¾å¿ãã¦ããªãã¨æå³ãããã¾ãããæ®å¿µãªãããæ¢åã®ãªã¼ãã³ã»ã½ã¼ã¹ã®ãã©ã¤ãã®å¤ãã¯ãã«ãã»ã»ã¯ã¿è»¢éã«æªå¯¾å¿ã§ãããªããFatFsã¢ã¸ã¥ã¼ã«ããã³ãµã³ãã«ã»ãã©ã¤ãã¯ãã«ãã»ã»ã¯ã¿è»¢éã«å¯¾å¿ãã¦ãã¾ãã
+ãã©ãã·ã¥ ã¡ã¢ãª ã¡ãã£ã¢ã®æ¸ãè¾¼ã¿é度ã¯ã·ã³ã°ã« ã»ã¯ã¿æ¸ãè¾¼ã¿ã®æã«æãä½ããã®ã«ãªããä¸åã®ãã©ã³ã¶ã¯ã·ã§ã³ã§è»¢éãããã»ã¯ã¿æ°ã大ãããªãã»ã©æ¸ãè¾¼ã¿é度ã¯åä¸ãã¾ã(å³6)ããã®å¹æã¯ãã¹é度ãé«éã«ãªãã»ã©å¤§ããã10å以ä¸ã®å·®ãç¾ãããã¨ãçããããã¾ããããã¹ãçµæã¯ããã«ã ã»ã¯ã¿æ¸ãè¾¼ã¿(W:16K, 32 sectors)ãã·ã³ã°ã« ã»ã¯ã¿æ¸ãè¾¼ã¿(W:100, 1 sector)ããã©ã®ç¨åº¦éãããæ確ã«ç¤ºãã¦ãã¾ãã大容éã¡ãã£ã¢ã»ã©ã·ã³ã°ã« ã»ã¯ã¿æ¸ãè¾¼ã¿ãé ããªãç¹ãã¾ãéè¦ã§ããæ¸ãè¾¼ã¿ãã©ã³ã¶ã¯ã·ã§ã³ã®åæ°ã¯ã¾ããã¡ãã£ã¢ã®å¯¿å½ã«ãå½±é¿ãã¦ãã¾ããã¤ã¾ããåãéã®ãã¼ã¿ãæ¸ãè¾¼ãå ´åãå³6ä¸ã®ã·ã³ã°ã« ã»ã¯ã¿æ¸ãè¾¼ã¿ã¯ãå³6ä¸ã®ãã«ã ã»ã¯ã¿æ¸ãè¾¼ã¿ã«æ¯ã¹ã¦16åæ©ããã©ãã·ã¥ ã¡ã¢ãª ã¡ãã£ã¢ãæ¶èããã¦ãã¾ãã¨ãããã¨ã§ãã
+ãã®ããã«ãã¢ããªã±ã¼ã·ã§ã³ã¯ãªãã¹ã大ããªãããã¯(ã¯ã©ã¹ã¿ ãµã¤ãºã¾ãã¯2ã®ç´¯ä¹ã»ã¯ã¿å¢çã«ã¢ã©ã¤ã¡ã³ããã)ã§èªã¿æ¸ããè¡ãå¿ è¦ãããã¾ãããã¡ãããã¢ããªã±ã¼ã·ã§ã³ããã¡ãã£ã¢ã«è³ãå ¨ã¦ã®ã¬ã¤ã¤ããã«ã ã»ã¯ã¿è»¢éã«å¯¾å¿ãã¦ããªãã¨æå³ãããã¾ãããæ®å¿µãªãããæ¢åã®ãªã¼ãã³ ã½ã¼ã¹ã®ãã©ã¤ãã®å¤ãã¯ãã«ã ã»ã¯ã¿è»¢éã«æªå¯¾å¿ã§ãããªããFatFsã¢ã¸ã¥ã¼ã«ããã³ãµã³ãã« ãã©ã¤ãã¯ãã«ã ã»ã¯ã¿è»¢éã«å¯¾å¿ãã¦ãã¾ãã
é常ã®ãã¡ã¤ã«æ¶å»ã§ã¯ãè¨é²ããããã¼ã¿ã«å¯¾ãã¦ä½ããã®å¶å¾¡ãè¡ãããããã§ã¯ãªããåã«FATä¸ã«æªä½¿ç¨ã¯ã©ã¹ã¿ã¨ãã¦è¨é²ããã¦ããã ãã§ãããã®ããããã¡ã¤ã«ãæ¶å»ããããã¨ããããã¯æå¹ãªã¡ã¢ãªã»ãããã¯ã¨ãã¦ãã©ãã·ã¥ã»ã¡ã¢ãªä¸ã«æ®ãã¾ããããã§ããã¡ã¤ã«ãæ¶å»ããã¨ããå æãã¦ãããã¼ã¿ã»ã»ã¯ã¿ãæ示çã«æ¶å»(ã¤ã¾ãæªä½¿ç¨ãããã¯ã«ãã)ãããã¨ã«ãããã¡ãã£ã¢å ã®ç©ºããããã¯ãå¢ãããã¨ãã§ãã¾ããããã«ããã次ã«ãã®ãããã¯ã«æ¸ãè¾¼ãã¨ãã®æ¶å»åä½ãç¡ããªããæ¸ãè¾¼ã¿æ§è½ãåä¸ããå¯è½æ§ãããã¾ããã¾ããã¦ã§ã¢ã¬ããªã³ã°ã«ä½¿ãããããã¯ãå¢ããã¡ãã£ã¢ã®èä¹ æ§ãåä¸ããããç¥ãã¾ããããã®æ©è½ãæå¹ã«ããã«ã¯ãæ§æãªãã·ã§ã³ã®_USE_ERASEã«1ãè¨å®ãã¾ããããã¯ãã©ãã·ã¥ã»ã¡ã¢ãªã»ã¡ãã£ã¢ã®å é¨åä½ã«æå¾ ããå¶å¾¡ãªã®ã§ãå¹æãããã¨ã¯éãã¾ãããã¾ãããã¡ã¤ã«æ¶å»ã®æéã延ã³ããã¨ãèæ ®ã«å ¥ããã¹ãã§ãã
+é常ã®ãã¡ã¤ã«æ¶å»ã§ã¯ãè¨é²ããããã¼ã¿ã«å¯¾ãã¦ä½ããã®å¦çãè¡ãããããã§ã¯ãªããåã«FATä¸ã«ãã®é åãæªä½¿ç¨ã¨è¨é²ãã¦ããã ãã§ãããã®ããããã¡ã¤ã«ãæ¶å»ããããã¨ããããã¯æå¹ãªãã¼ã¿ ãããã¯ã¨ãã¦ãã©ãã·ã¥ ã¡ã¢ãªä¸ã«æ®ãã¾ããããã§ããã¡ã¤ã«ãæ¶å»ããã¨ããå æãã¦ãããã¼ã¿ ã»ã¯ã¿ãæ示çã«æ¶å»(ã¤ã¾ãæªä½¿ç¨ãããã¯ã«ãã)ãããã¨ã«ãããã¡ãã£ã¢å ã®ç©ºããããã¯ãå¢ãããã¨ãã§ãã¾ããããã«ããã次ã«ãã®ãããã¯ã«æ¸ãè¾¼ãã¨ãã®æ¶å»åä½ãç¡ããªããæ¸ãè¾¼ã¿æ§è½ãåä¸ããå¯è½æ§ãããã¾ããã¾ããã¦ã§ã¢ã¬ããªã³ã°ã«ä½¿ãããããã¯ãå¢ããã¡ãã£ã¢ã®èä¹ æ§ãåä¸ããããç¥ãã¾ããããã®æ©è½ãæå¹ã«ããã«ã¯ã_USE_TRIMã«1ãè¨å®ãã¾ããããã¯ãã©ãã·ã¥ ã¡ã¢ãª ãã©ã¤ãã®å é¨åä½ã«æå¾ ããå¶å¾¡ãªã®ã§ãå¹æãããã¨ã¯éãã¾ãããã¾ãããã¡ã¤ã«æ¶å»ã®æéã延ã³ããã¨ãèæ ®ã«å ¥ããã¹ãã§ãã
ã¹ãã¬ã¼ã¸ä¸ã®FATæ§é ãæä½ãã¦ããéä¸ã§ãåé»ãä¸æ£ãªã¡ãã£ã¢ã®åãå¤ããå復ä¸è½ãªãã¼ã¿ã»ã¨ã©ã¼çã®é害ãçºçããã¨ãå¦çãä¸éå端ãªç¶æ ã§ä¸æããããã®çµæã¨ãã¦FATããªã¥ã¼ã ã®æ§é ãç ´å£ãããå¯è½æ§ãããã¾ãã次ã«FatFsã¢ã¸ã¥ã¼ã«ã«ãããã¯ãªãã«ã«ã»ã»ã¯ã·ã§ã³ã¨ããã®éã®é害ã«ããèµ·ãããã¨ã©ã¼ã®ç¶æ ã示ãã¾ãã
+ã¹ãã¬ã¼ã¸ä¸ã®FATæ§é ãæä½ãã¦ããéä¸ã§ãåé»ãä¸æ£ãªã¡ãã£ã¢ã®åãå¤ããå復ä¸è½ãªãã¼ã¿ ã¨ã©ã¼çã®é害ãçºçããã¨ãå¦çãä¸éå端ãªç¶æ ã§ä¸æããããã®çµæã¨ãã¦FATããªã¥ã¼ã ã®æ§é ãç ´å£ãããå¯è½æ§ãããã¾ãã次ã«FatFsã¢ã¸ã¥ã¼ã«ã«ãããã¯ãªãã«ã« ã»ã¯ã·ã§ã³ã¨ããã®éã®é害ã«ããèµ·ãããã¨ã©ã¼ã®ç¶æ ã示ãã¾ãã
赤ã§ç¤ºããã»ã¯ã·ã§ã³ãå®è¡ä¸ã«é害ãçºçããå ´åãã¯ãã¹ã»ãªã³ã¯ãçºçãã¦æä½å¯¾è±¡ã®ãã¡ã¤ã«ã»ãã£ã¬ã¯ããªã失ãããå¯è½æ§ãããã¾ããé»è²ã§ç¤ºããã»ã¯ã·ã§ã³ãå®è¡ä¸ã«é害ãçºçããå ´åãã¤ãã®ãã¡ããããã¾ãã¯è¤æ°ã®çµæãçããå¯è½æ§ãããã¾ãã
+赤ã§ç¤ºããã»ã¯ã·ã§ã³ãå®è¡ä¸ã«ä¸æãçºçããå ´åãã¯ãã¹ ãªã³ã¯ãçºçãã¦æä½ä¸ã®ãã¡ã¤ã«ããã£ã¬ã¯ããªã失ãããå¯è½æ§ãããã¾ããé»è²ã§ç¤ºããã»ã¯ã·ã§ã³ãå®è¡ä¸ã«ä¸æãçºçããå ´åã次ã®ãã¡ããããã¾ãã¯è¤æ°ã®çµæãçããå¯è½æ§ãããã¾ãã
ããããæ¸ãè¾¼ã¿ä¸ãæä½ã®å¯¾è±¡ã§ãªããã¡ã¤ã«ã«ã¯å½±é¿ã¯ããã¾ããããããã®ã¯ãªãã«ã«ã»ã»ã¯ã·ã§ã³ã¯ããã¡ã¤ã«ãæ¸ãè¾¼ã¿ã¢ã¼ãã§éãã¦ããæéãæå°éã«ããããf_sync()ãé©å®ä½¿ç¨ãããã¨ã§å³5ã®ããã«ãªã¹ã¯ãæå°åãããã¨ãã§ãã¾ãã
+ãããã®å ´åãæä½ã®å¯¾è±¡ã§ãªããã¡ã¤ã«ã«ã¯å½±é¿ã¯ããã¾ããããããã®ã¯ãªãã«ã« ã»ã¯ã·ã§ã³ã¯ããã¡ã¤ã«ãæ¸ãè¾¼ã¿ã¢ã¼ãã§éãã¦ããæéãæå°éã«ããããf_syncé¢æ°ãé©å®ä½¿ç¨ãããã¨ã§å³5ã®ããã«ãªã¹ã¯ãæå°åãããã¨ãã§ãã¾ãã
FatFs APIã®æ¡å¼µç使ç¨ä¾ã§ããæç¨ãªã³ã¼ãããã£ãå ´åã¯ãéæ追å ãã¦ããã¾ããã
ã½ã¼ã¹ã»ãã¡ã¤ã«ã®ãããã«ã©ã¤ã»ã³ã¹æ¡ä»¶ãè¨è¿°ããã¦ããã®ã§ãå©ç¨ã®éã¯ããã«å¾ããã¨ãè±èªãèªããªãæ¹ã®ããã«ä»¥ä¸ã«æ¥æ¬èªè¨³ã示ãã¦ããã¾ãã
-/*----------------------------------------------------------------------------/ -/ FatFs - FAT file system module R0.10b (C)ChaN, 2014 ++FatFsã¯ãä½è (ChaN)ã®å人ããã¸ã§ã¯ãã¨ãã¦éçºããã¦ãã¾ããç¾å¨ã¾ã§ã®ãªãã¸ã§ã³ã«ããã¦ã³ã³ããªãã¥ã¼ã¿ã¼ã¯ããªããããä½è 以å¤ã®æ¸ããã½ã¼ã¹ ã³ã¼ãã¯å«ã¾ãã¾ãããã½ã¼ã¹ ãã¡ã¤ã«ã«ã©ã¤ã»ã³ã¹æ¡ä»¶ãè¨è¿°ããã¦ããã®ã§ãå©ç¨ã®éã¯ããã«å¾ããã¨ãåæã¯è±èªã§ãããåèã¾ã§ã«ä»¥ä¸ã«æ¥æ¬èªè¨³ã示ãã¦ããã¾ãã
++/*----------------------------------------------------------------------------/ +/ FatFs - Generic FAT file system module R0.12a / /-----------------------------------------------------------------------------/ -/ FatFsã¢ã¸ã¥ã¼ã«ã¯ãå°è¦æ¨¡ãªçµã¿è¾¼ã¿ã·ã¹ãã åãã®æ±ç¨FATãã¡ã¤ã«ã·ã¹ãã ã» -/ ã¢ã¸ã¥ã¼ã«ã§ããããã¯ããªã¼ã»ã½ããã¦ã§ã¢ã¨ãã¦ãæè²ã»ç 究ã»éçºã®ããã« -/ 以ä¸ã®ã©ã¤ã»ã³ã¹ã»ããªã·ã¼ã®ä¸ã§å ¬éããã¦ãã¾ãã / -/ Copyright (C) 2014, ChaN, all right reserved. +/ Copyright (C) 2016, ChaN, all right reserved. / -/ * FatFsã¢ã¸ã¥ã¼ã«ã¯ããªã¼ã»ã½ããã¦ã§ã¢ã§ãããã¾ãç¡ä¿è¨¼ã§ãã -/ * ç¨éã«å¶éã¯ããã¾ãããããªãã®è²¬ä»»ã®ä¸ã«ããã¦ãå人çã»éå¶å©ç㪠-/ ãã®ããåç¨è£½åã®éçºã«åã¶ç®çã«ä½¿ç¨ã»æ¹å¤ã»åé å¸ãããã¨ãã§ãã¾ãã -/ * ã½ã¼ã¹ã»ã³ã¼ããåé å¸ããã¨ãã¯ãä¸è¨ã®èä½æ¨©è¡¨ç¤ºãä¿æããªããã°ãªãã¾ããã +/ FatFsã¢ã¸ã¥ã¼ã«ã¯ãªã¼ãã³ã½ã¼ã¹ã½ããã¦ã§ã¢ã§ããFatFsã®åé å¸ããã³ä½¿ç¨ã¯ã +/ ã½ã¼ã¹ã³ã¼ãããã¤ããªå½¢å¼ããã¾ãå¤æ´ã®æç¡ã«ãããããã次ã®æ¡ä»¶ãæºããã +/ ãå ´åã«éã許å¯ããã¾ãã / -/-----------------------------------------------------------------------------/-è¦ããã«FatFsã¯ã¿ãã§èªç±ã«ä½¿ããã¨ãããã¨ã§ããã½ã¼ã¹ã»ã³ã¼ããåé å¸ããã¨ãã¯ããã®ãããã¯ããã®ã¾ã¾ä¿æãã¦ãããã¨ããã®ããã«FatFsã¯BSDã©ã¤ã¯ãªã©ã¤ã»ã³ã¹ã¨ãã¦ãã¾ãããä¸ã¤å¤§ããªéããããã¾ããç¹ã«çµã¿è¾¼ã¿ç¨éã§ã®å©ç¨ä¾¡å¤ãé«ããããããã¤ããªå½¢å¼(ã½ã¼ã¹ã»ã³ã¼ããå«ã¾ãªãå½¢å¼å ¨ã¦)ã§ã®åé å¸ã«ã¤ãã¦ã¯ãæ¡ä»¶ã¯è¨ãã¦ãã¾ããããã®å ´åã¯ãFatFsããã³ãã®ã©ã¤ã»ã³ã¹ææ¸ã«ã¤ãã¦ã¯ããã¥ã¡ã³ãã«æè¨ãã¦ãããªãã¦ããã¾ãã¾ãããããã¯ãä¸æ¡é BSDã©ã¤ã»ã³ã¹ã¨ç価ã¨ãããã¨ã§ãããã¡ããGNU GPLããã¸ã§ã¯ãã¨ãå ±åå¯è½ã§ããä½ããã®å¤æ´ãå ãã¦åé å¸ããéã¯ãçç¾ããªãä»ã®ã©ã¤ã»ã³ã¹(GNU GPLãä¿®æ£BSDã©ã¤ã»ã³ã¹ãªã©)ã«å¤æ´ãããã¨ãå¯è½ã§ãã
+/ 1. ã½ã¼ã¹ã³ã¼ãã§åé å¸ããã¨ãã¯ããã®ä¸ã«ä¸è¨ã®èä½æ¨©è¡¨ç¤ºããã®æ¡ä»¶ãããã³ +/ 次ã®å 責äºé ãä¿æãããã¨ã +/ +/ ãã®ã½ããã¦ã§ã¢ã¯ãèä½æ¨©è ãããã³ã³ã³ããªãã¥ã¼ã¿ã¼ãã«ãã£ã¦ç¾ç¶ã®ã¾ã¾ +/ æä¾ããã¦ããããããªãä¿è¨¼ãããã¾ããã +/ èä½æ¨©è ãã³ã³ããªãã¥ã¼ã¿ã¼ãããã®ã½ããã¦ã§ã¢ã®ä½¿ç¨ã«ããçºçãããããªã +/ æ害ã«ã¤ãã¦ãã責任ãè² ãã¾ããã +/----------------------------------------------------------------------------*/ +
ãã®ããã«FatFsã¯BSDã©ã¤ã¯ãªã©ã¤ã»ã³ã¹ã¨ãã¦ãã¾ãããä¸ã¤å¤§ããªéããããã¾ããFatFsã¯ä¸»ã«çµã¿è¾¼ã¿åãã¨ãã¦éçºãããããããã¤ããªå½¢å¼(ã½ã¼ã¹ ã³ã¼ããå«ã¾ãªãå½¢å¼å ¨ã¦)ã§ã®åé å¸ã«ã¤ãã¦ã¯ãåç¨ã§ã®ä½¿ãããããèæ ®ãã¦é å¸æã®æ¡ä»¶ãè¨ãã¦ãã¾ãããã¤ã¾ãããã¤ããªé å¸ã®å ´åã¯ãFatFsããã³ãã®ã©ã¤ã»ã³ã¹ææ¸ã«ã¤ãã¦ããã¥ã¡ã³ãã«æè¨ãã¦ãããªãã¦ããã¾ãã¾ãããããã¯ãä¸æ¡é BSDã©ã¤ã»ã³ã¹ã¨ç価ã¨ãããã¨ã§ãããã¡ãããGNU GPLãªã©ã»ã¨ãã©å ¨ã¦ã®ãªã¼ãã³ ã½ã¼ã¹ ã©ã¤ã»ã³ã¹ã®ä¸ã®ããã¸ã§ã¯ãã«ããã¦å ±åå¯è½ã§ããFatFsãããã©ã¼ã¯ãä½æãå ¬éããå ´åã¯ãçç¾ããªãä»ã®ãªã¼ãã³ ã½ã¼ã¹ ã©ã¤ã»ã³ã¹(GNU GPLãä¿®æ£BSDã©ã¤ã»ã³ã¹ãªã©)ã«å¤æ´ãããã¨ãå¯è½ã§ãã