1 /**************************************************************************/ 2 /* */ 3 /* Copyright (c) Microsoft Corporation. All rights reserved. */ 4 /* */ 5 /* This software is licensed under the Microsoft Software License */ 6 /* Terms for Microsoft Azure RTOS. Full text of the license can be */ 7 /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */ 8 /* and in the root directory of this software. */ 9 /* */ 10 /**************************************************************************/ 11 12 13 /**************************************************************************/ 14 /**************************************************************************/ 15 /** */ 16 /** LevelX Component */ 17 /** */ 18 /** User Specific */ 19 /** */ 20 /**************************************************************************/ 21 /**************************************************************************/ 22 23 24 /**************************************************************************/ 25 /* */ 26 /* PORT SPECIFIC C INFORMATION RELEASE */ 27 /* */ 28 /* lx_user.h PORTABLE C */ 29 /* 6.2.1 */ 30 /* */ 31 /* AUTHOR */ 32 /* */ 33 /* William E. Lamie, Microsoft Corporation */ 34 /* */ 35 /* DESCRIPTION */ 36 /* */ 37 /* This file contains user defines for configuring LevelX in specific */ 38 /* ways. This file will have an effect only if the application and */ 39 /* LevelX library are built with LX_INCLUDE_USER_DEFINE_FILE defined. */ 40 /* Note that all the defines in this file may also be made on the */ 41 /* command line when building LevelX library and application objects. */ 42 /* */ 43 /* RELEASE HISTORY */ 44 /* */ 45 /* DATE NAME DESCRIPTION */ 46 /* */ 47 /* 11-09-2020 William E. Lamie Initial Version 6.1.2 */ 48 /* 06-02-2021 Bhupendra Naphade Modified comment(s), and */ 49 /* added standalone support, */ 50 /* resulting in version 6.1.7 */ 51 /* 03-08-2023 Xiuwen Cai Modified comment(s), and */ 52 /* added new NAND options, */ 53 /* resulting in version 6.2.1 */ 54 /* */ 55 /**************************************************************************/ 56 57 #ifndef LX_USER_H 58 #define LX_USER_H 59 60 61 62 /* Defined, this option bypasses the NOR flash driver read routine in favor or reading 63 the NOR memory directly, resulting in a significant performance increase. 64 */ 65 /* 66 #define LX_DIRECT_READ 67 */ 68 69 70 /* Defined, this causes the LevelX NOR instance open logic to verify free NOR 71 sectors are all ones. 72 */ 73 /* 74 #define LX_FREE_SECTOR_DATA_VERIFY 75 */ 76 77 /* By default this value is 4, which represents a maximum of 4 blocks that 78 can be allocated for metadata. 79 */ 80 /* 81 #define LX_NAND_FLASH_MAX_METADATA_BLOCKS 4 82 */ 83 84 /* Defined, this disabled the extended NOR cache. */ 85 /* 86 #define LX_NOR_DISABLE_EXTENDED_CACHE 87 */ 88 89 /* By default this value is 8, which represents a maximum of 8 sectors that 90 can be cached in a NOR instance. 91 */ 92 /* 93 #define LX_NOR_EXTENDED_CACHE_SIZE 8 94 */ 95 96 97 /* By default this value is 16 and defines the logical sector mapping cache size. 98 Large values improve performance, but cost memory. The minimum size is 8 and all 99 values must be a power of 2. 100 */ 101 /* 102 #define LX_NOR_SECTOR_MAPPING_CACHE_SIZE 16 103 */ 104 105 /* Defined, this makes LevelX thread-safe by using a ThreadX mutex object 106 throughout the API. 107 */ 108 /* 109 #define LX_THREAD_SAFE_ENABLE 110 */ 111 112 /* Defined, LevelX will be used in standalone mode (without Azure RTOS ThreadX) */ 113 114 /* #define LX_STANDALONE_ENABLE */ 115 116 /* Define user extension for NOR flash control block. */ 117 /* 118 #define LX_NOR_FLASH_USER_EXTENSION ???? 119 */ 120 121 /* Define user extension for NAND flash control block. */ 122 /* 123 #define LX_NAND_FLASH_USER_EXTENSION ???? 124 */ 125 126 #endif 127 128