⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fs_conf.h

📁 本资料包括建立在SD卡和NANDFLASH上的文件系统
💻 H
📖 第 1 页 / 共 2 页
字号:
  and device\smc\hardware\XXX\smc_x_hw.h for samples.
*/

#if FS_USE_SMC_DRIVER
  /*
    Number of card readers in your system.
    Please note, that even if your system does have more than one
    SMC slot, it might be unable to access them both at the same
    time, because they share resources (e.g. same data port). If that
    is true for your system, you must ensure, that your implementation
    of "FS_OS_Lock_deviceop(&_FS_smcdevice_driver,id)" blocks the device
    driver for all values of "id"; the default implementation of the
    file system's OS Layer does so.
  */
  #define FS_SMC_MAXUNIT                    2  /* EP7312 SMC + on board NAND */
  /*
    The following define does tell the generic driver, if your
    system can directly check the SMC RY/BY line. 
  */
  #define FS_SMC_HW_SUPPORT_BSYLINE_CHECK   0  /* EP7312 does not support */
  /*
    FS_SMC_HW_NEEDS_POLL has to be set, if your SMC hardware driver
    needs to be called periodically for status check (e.g. diskchange).
    In such a case, the generic driver does provide a function
    "void FS_smc_check_card(FS_u32 id)", which has to be called
    periodically by your system for each card reader.
  */
  #define FS_SMC_HW_NEEDS_POLL              1  /* EP7312 needs poll for diskchange */
  /*
    Logical Block Read Cache Settings for SMC driver.
    Options are not used if FS_USE_LB_READCACHE is 0.
  */
  #define FS_SMC_CACHENUM         10     /* Number of sector buffers; 0 disables cache for this device. */
  /*
    The minimum erase unit on an SMC is a physical block, which consists
    of 16 or 32 pages. A page is 256+8 or 512+16 bytes. If the file system
    is going to change a single sector (512 bytes) on the media, the SMC
    driver usually has to copy the whole corresponding physical block to
    a new block. To avoid that time consuming task for every single sector
    write, you can provide the SMC driver with a number of sector caches
    (512 bytes each). The driver will use them to cache sequential writes 
    to the media. If you set the value to 0, the SMC driver will not cache 
    any write access. A value of 1 makes no sense. The maximum of the media's 
    cluster size (number of logical sectors) and the number of bytes you 
    write with FS_FWrites divided by 512 is typically the best speed 
    performance value. Bigger values usually make sense only, if you plan to 
    bypass the FAT system by e.g. using the FS_IoCtl command
    FS_CMD_WRITE_SECTOR for a large number of sequential sectors.
  */
  #define FS_SMC_PAGE_BUFFER        0    /* Number of sector write caches; 0 disables write cache function. */
#endif /* FS_USE_SMC_DRIVER */


/*********************************************************************
*
*             MMC_DRIVER defines
*
  Settings of the generic MMC/SD card driver.
  For using MMC in your system, you will have to provide basic
  hardware access functions. Please check device\mmc_sd\hardware\XXX\mmc_x_hw.c
  and device\mmc_sd\hardware\XXX\mmc_x_hw.h for samples.
*/

#if FS_USE_MMC_DRIVER
  /*
    Number of card readers in your system.
    Please note, that even if your system does have more than one
    MMC interface, it might be unable to access them both at the same
    time, because they share resources (e.g. same data line). If that
    is true for your system, you must ensure, that your implementation
    of "FS_OS_Lock_deviceop(&_FS_smcdevice_driver,id)" blocks the device
    driver for all values of "id"; the default implementation of the
    file system's OS Layer does so.
  */
  #define FS_MMC_MAXUNIT                    1  
  /*
    FS_MMC_HW_NEEDS_POLL has to be set, if your MMC hardware driver
    needs to be called periodically for status check (e.g. diskchange).
  */
  #define FS_MMC_HW_NEEDS_POLL              1
  /*
    Logical Block Read Cache Settings for MMC driver.
    Options are not used if FS_USE_LB_READCACHE is 0.
  */
  #define FS_MMC_CACHENUM          2     /* Number of sector buffers; 0 disables cache for this device. */  
#endif /* FS_USE_MMC_DRIVER */


/*********************************************************************
*
*             IDE_DRIVER defines
*
  Settings of the generic IDE driver. This driver is also used to
  access CF cards. For using IDE in your system, you will have to provide basic
  hardware access functions. Please check device\ide\hardware\XXX\ide_x_hw.c
  and device\ide\hardware\XXX\ide_x_hw.h for samples.
*/

#if FS_USE_IDE_DRIVER
  /*
    Number of card readers in your system.
    Please note, that even if your system does have more than one
    IDE interface, it might be unable to access them both at the same
    time, because they share resources (e.g. same data line). If that
    is true for your system, you must ensure, that your implementation
    of "FS_OS_Lock_deviceop(&_FS_idedevice_driver,id)" blocks the device
    driver for all values of "id"; the default implementation of the
    file system's OS Layer does so.
  */
  #define FS_IDE_MAXUNIT                    1
  /*
    FS_IDE_HW_NEEDS_POLL has to be set, if your IDE hardware driver
    needs to be called periodically for status check (e.g. diskchange).
  */
  #define FS_IDE_HW_NEEDS_POLL              1
  /*
    Logical Block Read Cache Settings for IDE driver.
    Options are not used if FS_USE_LB_READCACHE is 0.
  */
  #define FS_IDE_CACHENUM         10     /* Number of sector buffers; 0 disables cache for this device. */
#endif /* FS_USE_IDE_DRIVER */


/*********************************************************************
*
*             FLASH_DRIVER defines
*
  Settings of the generic flash memory driver.
  For using flash memory in your system, you will have set your
  chip model you would like to use in device\flash_config.h
*/

#if FS_USE_FLASH_DRIVER 
  /* Size of the used ram buffer, it must be equal to the greatest
     erasable flash sector. Set this size to 0 if you don磘 have
	 enough space for a flash buffer, Buffering is the automaticly
	 done with reserved flash sectors.
   */
  #define FS_FLASH_RAMBUFFER    0x10000 /* must be equal to the biggest erase sector size */
  /* Address range settings. It is suggested that you use an external 
     flash space that is mapped into the memory range */
  #define FLASH_BASEADR         0x01000000  /* base address in external address space      */
  #define FLASH_USER_START      0x01000000  /* Start adress of flash useable area (1st sector) */
  #define FLASH_USER_LEN        0x00400000  /* Length of user flash area */
  /* Enable/disable wear leveling for flash memory */
  #define FS_FLASHWEARLEVELING  1 /* 1 = on, 0 = off */
#endif


/*********************************************************************
*
*             WINDRIVE_DRIVER defines
*
  This driver does allow to use any Windows logical driver on a
  Windows NT system with the file system. Please be aware, that Win9X
  is not supported, because it cannot access logical drives with
  "CreateFile".
*/

#if FS_USE_WINDRIVE_DRIVER
  /*
    The following define tells WINDRIVE, how many logical drives
    of your NT system you are going to access with the file system.
    if your are going to use more than 2 logical drives, you
    will have to modify function "_FS_wd_devstatus" of module
    device\windriver\wd_misc.c.
  */
  #define FS_WD_MAXUNIT         2             /* number of windows drives */
  /*
    Specify names of logical Windows drives used with the file system. For example,
    "\\\\.\\A:" is usually the floppy of your computer.
  */
  #define FS_WD_DEV0NAME        "\\\\.\\A:"   /* Windows drive name for "windrv:0:" */
  #define FS_WD_DEV1NAME        "\\\\.\\B:"   /* Windows drive name for "windrv:1:" */
  /*
    To improve performance of WINDRIVE, it does use sector caches
    for read/write operations to avoid real device operations for
    each read/write access. The number of caches can be specified
    below and must not be smaller than 1.
  */
  #define FS_WD_CACHENUM        40            /* number of read caches per drive */
  #define FS_WD_WBUFFNUM        20            /* number of write caches per drive */
  /*
    Do not change following define !
    It may become configurable in future versions of the file system.
  */
  #define FS_WD_BLOCKSIZE       0x200         /* do not change for FAT */
#endif  /* FS_USE_WINDRIVE_DRIVER */


#endif  /* _FS_CONF_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -