123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- #ifndef __EFSL_CONFIG_H__
- #define __EFSL_CONFIG_H__
- /* include RT-Thread to import configuration */
- #include <rtthread.h>
- /* Hardware target
- ---------------
- * Here you will define for what hardware-endpoint EFSL should be compiled.
- * Look in interfaces.h to see what systems are supported, and add your own
- * there if you need to write your own driver. Then, define the name you
- * selected for your hardware there here. Make sure that you only select one
- * device!
- */
- /*#define HW_ENDPOINT_LINUX*/
- /*#define HW_ENDPOINT_ATMEGA128_SD*/
- /*#define HW_ENDPOINT_DSP_TI6713_SD*/
- #define MULTIPLE_INTERFACE_SUPPORT
- /*#define HWIFUNC_INIT(x) lf_init(x)
- #define HWIFUNC_READ(x,y,z) lf_readBuf(x,y,z)
- #define HWIFUNC_WRITE(x,y,z) lf_writeBuf(x,y,z)
- #define HWIFUNC_HEADER interfaces/linuxfile.h */
- /* Architecture
- ------------
- * In this section you should configure how large the default variable
- * types in your system are. This is controlled in types.h in the general
- * include directory. The selection you make here defines to what the various
- * e(s|u)int(8,16,32) types will map.
- * For 32 bit Linux : VARSIZE_LINUX32
- * For 64 bit Linux : VARSIZE_LINUX64
- * For AVR's : VARSIZE_ATMEGA
- * For TMS67XX : VARSIZE_TMS67XX
- */
- #define VARSIZE_LINUX32
- /* Memory configuration
- --------------------
- * Here you must configure wheter your processor can access memory byte
- * oriented. All x86 processors can do it, AVR's can do it to. Some DSP
- * or other microcontrollers can't. If you have an 8 bit system you're safe.
- * If you are really unsure, leave the setting commented out, it will be slower
- * but it will work for sure.
- */
- /* #define BYTE_ALIGNMENT */
- /* Cache configuration
- -------------------
- * Here you must configure how much memory of cache you can/want to use.
- * The number you put at IOMAN_NUMBUFFER is multiplied by 512. So 1 means
- * 512 bytes cache, 4 means 2048 bytes cache. More is better.
- * The number after IOMAN_NUMITERATIONS should be untouched.
- * The last field (IOMAN_DO_MEMALLOC) is to tell ioman to allocate it's
- * own memory in it's structure, or not. If you choose to do it yourself
- * you will have to pass a pointer to the memory as the last argument of
- * ioman_init.
- */
- #define IOMAN_NUMBUFFER 10
- #define IOMAN_NUMITERATIONS 3
- #define IOMAN_DO_MEMALLOC
- /* Cluster pre-allocation
- ----------------------
- * When writing files, the function that performs the actual write has to
- * calculate how many clusters it will need for that request. It then allocates
- * that number of new clusters to the file. Since this involves some
- * calculations and writing of the FAT, you might find it beneficial to limit
- * the number of allocations, and allow fwrite to pre-allocate a number of
- * clusters extra. This setting determines how many clusters will be extra
- * allocated whenever this is required.
- * Take in carefull consideration how large your clustersize is, putting 10 here
- * with a clustersize of 32kb means you might waste 320 kb.
- * The first option is for preallocating files, the other is used when enlarging
- * a directory to accomodate more files
- */
- #define CLUSTER_PREALLOC_FILE 5
- #define CLUSTER_PREALLOC_DIRECTORY 2
- /* Endianess configuration
- -----------------------
- * Here you can configure wheter your architecture is little or big endian. This
- * is important since all FAT structures are stored in intel little endian
- * order. So if you have a big endian system the library has to convert all
- * figures to big endian in order to work.
- */
- /*#define HOST_BIG_ENDIAN*/
- #define HOST_LITTLE_ENDIAN
- /* Date and Time support
- ---------------------
- * Here you can enable or disable date and time support. If you enable
- * it you will have to create 6 functions, that are described in the
- * EFSL manual. If the functions are not present when linking your
- * program with the library you will get unresolved dependencies.
- */
- /* #define DATE_TIME_SUPPORT */
- /* Error reporting support
- -----------------------
- * When you receive an error in userland, it usually only gives limited
- * information (most likely, fail or success). If error detection and
- * reporting is important for you, you can enable more detailed error
- * reporting here. This is optional, the costs are 1 byte per object,
- * and a small increase in code size.
- * You can enable error recording for all object, or you can select the
- * object manually.
- * For full error reporting use FULL_ERROR_SUPPORT
- * For only the base-core of the library use BASE_ERROR_SUPPORT
- * For IO/Man use ERRSUP_IOMAN
- * For Disc use ERRSUP_IOMAN
- * For Part use ERRSUP_PARTITION
- * For Fs use ERRSUP_FILESYSTEM
- * For File use ERRSUP_FILE
- */
- #define FULL_ERROR_SUPPORT
- /*#define BASE_ERROR_SUPPORT*/
- /* Debugging configuration
- -----------------------
- * Here you can configure the debugging behaviour. Debugging is different
- * on every platform (see debug.h for more information).
- * If your hardware has no means of output (printf) dont define any anything,
- * and nothing will happen. For real world use debugging should be turned off.
- */
- /*#define DEBUG*/
- /*#define DO_FUNC_DEBUG*/
- /* List options
- ------------
- * In this section you can configure what kind of data you will get from
- * directory listing requests. Please refer to the documentation for
- * more information
- */
- #define LIST_MAXLENFILENAME 12
- #endif
|