00001 #ifndef __EFSL_CONFIG_H__ 00002 #define __EFSL_CONFIG_H__ 00003 00004 /* Close enough */ 00005 #define HW_ENDPOINT_LPC2000_SD 00006 00007 /* Memory configuration 00008 -------------------- 00009 00010 * Here you must configure wheter your processor can access memory byte 00011 * oriented. All x86 processors can do it, AVR's can do it to. Some DSP 00012 * or other microcontrollers can't. If you have an 8 bit system you're safe. 00013 * If you are really unsure, leave the setting commented out, it will be slower 00014 * but it will work for sure. 00015 */ 00016 00017 /* disabled for ARM (mt): #define BYTE_ALIGNMENT */ 00018 00019 /* Cache configuration 00020 ------------------- 00021 00022 * Here you must configure how much memory of cache you can/want to use. 00023 * The number you put at IOMAN_NUMBUFFER is multiplied by 512. So 1 means 00024 * 512 bytes cache, 4 means 2048 bytes cache. More is better. 00025 * The number after IOMAN_NUMITERATIONS should be untouched. 00026 * The last field (IOMAN_DO_MEMALLOC) is to tell ioman to allocate it's 00027 * own memory in it's structure, or not. If you choose to do it yourself 00028 * you will have to pass a pointer to the memory as the last argument of 00029 * ioman_init. 00030 */ 00031 /*#define IOMAN_NUMBUFFER 1*/ 00032 #define IOMAN_NUMBUFFER 6 00033 #define IOMAN_NUMITERATIONS 3 00034 #define IOMAN_DO_MEMALLOC 00035 00036 /* Cluster pre-allocation 00037 ---------------------- 00038 00039 * When writing files, the function that performs the actual write has to 00040 * calculate how many clusters it will need for that request. It then allocates 00041 * that number of new clusters to the file. Since this involves some calculations 00042 * and writing of the FAT, you might find it beneficial to limit the number of 00043 * allocations, and allow fwrite to pre-allocate a number of clusters extra. 00044 * This setting determines how many clusters will be extra allocated whenever 00045 * this is required. 00046 * Take in carefull consideration how large your clustersize is, putting 10 here 00047 * with a clustersize of 32kb means you might waste 320 kb. 00048 * The first option is for preallocating files, the other is used when enlarging 00049 * a directory to accomodate more files 00050 */ 00051 /*#define CLUSTER_PREALLOC_FILE 0*/ 00052 #define CLUSTER_PREALLOC_FILE 2 00053 #define CLUSTER_PREALLOC_DIRECTORY 0 00054 00055 00056 /* Endianess configuration 00057 ----------------------- 00058 00059 * Here you can configure wheter your architecture is little or big endian. This 00060 * is important since all FAT structures are stored in intel little endian order. 00061 * So if you have a big endian system the library has to convert all figures to 00062 * big endian in order to work. 00063 */ 00064 #define LITTLE_ENDIAN 00065 00066 00067 /* Date and Time support 00068 --------------------- 00069 00070 * Here you can enable or disable date and time support. If you enable 00071 * it you will have to create 6 functions, that are described in the 00072 * EFSL manual. If the functions are not present when linking your 00073 * program with the library you will get unresolved dependencies. 00074 */ 00075 /*#define DATE_TIME_SUPPORT*/ 00076 00077 /* Error reporting support 00078 ----------------------- 00079 00080 * When you receive an error in userland, it usually only gives limited 00081 * information (most likely, fail or success). If error detection and 00082 * reporting is important for you, you can enable more detailed error 00083 * reporting here. This is optional, the costs are 1 byte per object, 00084 * and a small increase in code size. 00085 * You can enable error recording for all object, or you can select the 00086 * object manually. 00087 * For full error reporting use FULL_ERROR_SUPPORT 00088 * For only the base-core of the library use BASE_ERROR_SUPPORT 00089 * For IO/Man use ERRSUP_IOMAN 00090 * For Disc use ERRSUP_IOMAN 00091 * For Part use ERRSUP_PARTITION 00092 * For Fs use ERRSUP_FILESYSTEM 00093 * For File use ERRSUP_FILE 00094 */ 00095 00096 #define FULL_ERROR_SUPPORT 00097 /*#define BASE_ERROR_SUPPORT*/ 00098 00099 /* List options 00100 ------------ 00101 00102 * In this section youcan configure what kind of data you will get from 00103 * directory listing requests. Please refer to the documentation for 00104 * more information 00105 */ 00106 00107 #define LIST_MAXLENFILENAME 12 00108 00109 00110 00111 00112 /* Debugging configuration 00113 ----------------------- 00114 00115 * Here you can configure the debugging behaviour. Debugging is different 00116 * on every platform (see debug.h for more information). 00117 * If your hardware has no means of output (printf) dont define any anything, 00118 * and nothing will happen. For real world use debugging should be turned off. 00119 */ 00120 00121 /* #define DEBUG */ 00122 00123 #define lpc2000_debug_printf dbg_blocking_printf 00124 00125 #endif