1                                            LevelX
2
3For version 6 and higher, please refer to the release notes on GitHub at https://github.com/eclipse-threadx/levelx/releases.
4Below is the revision history for 5.x.
5
6
708/15/2019  LevelX generic code version 5.6. This release includes the
8            following major features:
9
10        Files are modified to fix compiler warnings:
11            demo_filex_nand_flash.c
12            demo_filex_nor_flash.c
13            lx_nand_flash_256byte_ecc_check.c
14            lx_nand_flash_256byte_ecc_compute.c
15
16
1710/10/2018  LevelX generic code version 5.5. This release includes the following
18            modifications:
19
20            lx_api.h                                        Removed compiler warnings, added extended NOR cache
21                                                            support, new APIs, and new constants.
22            lx_nand_flash_256byte_ecc_check.c               Removed compiler warnings.
23            lx_nand_flash_256byte_ecc_compute.c             Removed compiler warnings.
24            lx_nand_flash_block_obsoleted_check.c           Added logic to mark the beginning of block erase.
25            lx_nand_flash_block_reclaim.c                   Removed compiler warnings, and added logic to mark
26                                                            the beginning of block erase.
27            lx_nand_flash_logical_sector_find.c             Removed compiler warnings, and added logic to use
28                                                            and maintain the last found page.
29            lx_nand_flash_next_block_to_erase_find.c        Removed compiler warnings.
30            lx_nand_flash_open.c                            Added logic to detect start of a block erase that
31                                                            was interrupted, removed system error call for more
32                                                            than one page being obsoleted since this can happen
33                                                            normally, removed compiler warnings, and added logic
34                                                            to initialize the last found page.
35            lx_nand_flash_partial_defragment.c              Added file in this release.
36            lx_nand_flash_sector_release.c                  Removed compiler warnings.
37            lx_nand_flash_sector_write.c                    Removed compiler warnings.
38            lx_nor_flash_block_reclaim.c                    Removed direct driver access for erases/reads/writes,
39                                                            removed compiler warnings, and added logic to mark
40                                                            the beginning of block erase.
41            lx_nor_flash_driver_block_erase.c               Added file in this release.
42            lx_nor_flash_driver_read.c                      Added file in this release.
43            lx_nor_flash_driver_write.c                     Added file in this release.
44            lx_nor_flash_extended_cache_enable.c            Added file in this release.
45            lx_nor_flash_logical_sector_find.c              Removed direct driver access for reads, removed compiler
46                                                            warnings, and added logic to use and maintain the last
47                                                            found sector/block.
48            lx_nor_flash_next_block_to_erase_find.c         Removed compiler warnings, and removed direct driver
49                                                            access for reads.
50            lx_nor_flash_open.c                             Removed direct driver access for erases/reads/writes,
51                                                            added logic to detect start of a block erase that was
52                                                            interrupted, removed system error call for more than
53                                                            one page being obsoleted since this can happen normally,
54                                                            removed compiler warnings, and added logic to initialize
55                                                            the last found sector/block.
56            lx_nor_flash_partial_defragment.c               Added file in this release.
57            lx_nor_flash_physical_sector_allocate.c         Removed direct driver access for reads/writes.
58            lx_nor_flash_sector_read.c                      Removed direct driver access for reads/writes.
59            lx_nor_flash_sector_release.c                   Removed direct driver access for reads/writes.
60            lx_nor_flash_sector_write.c                     Removed direct driver access for reads/writes.
61            lx_nor_flash_simulator.c                        Removed compiler warnings.
62            lx*.c                                           Changed comments and copyright header, and added
63                                                            conditional around disabling ThreadX error checking.
64            lx*.h                                           Changed comments and copyright header.
65
6605/01/2018  LevelX generic code version 5.4. This release includes the following
67            modifications:
68
69            lx_api.h                                        Added NOR flash RAM buffer, added bit constant
70                                                            for both NOR and NAND flash to indicate when
71                                                            mapping write is valid, added diagnostic counter
72                                                            for tracking when incomplete mapping is detected
73                                                            on open, add added new error code when driver
74                                                            does not supply a sector/page RAM buffer.
75            fx_nand_flash_simulated_driver.c                Added error checking, and corrected sector
76                                                            read/write processing.
77            fx_nor_flash_simulator_driver.c                 Added error checking.
78            lx_nand_flash_block_reclaim.c                   Added clearing of additional bit to indicate when
79                                                            mapping is valid, and corrected logic that could
80                                                            cause a newly mapped sector to be erased.
81            lx_nand_flash_logical_sector_find.c             Added logic to make sure the sector mapping is valid.
82            lx_nand_flash_next_block_to_erase_find.c        Added logic to improve search for free sectors.
83            lx_nand_flash_open.c                            Added logic to detect and handle a mapping entry
84                                                            interrupted before completion, and added logic to
85                                                            ensure there is a page buffer supplied by the
86                                                            driver.
87            lx_nand_flash_sector_release.c                  Added reclaim logic to help increase free sectors.
88            lx_nand_flash_sector_write.c                    Added clearing of additional bit to indicate when
89                                                            mapping is valid.
90            lx_nor_flash_block_reclaim.c                    Added clearing of additional bit to indicate when
91                                                            mapping is valid, added logic to read NOR sector
92                                                            into RAM buffer if direct NOR access is not possible,
93                                                            and corrected logic that could cause a newly mapped
94                                                            sector to be erased.
95            lx_nor_flash_logical_sector_find.c              Added logic to make sure the sector mapping is valid.
96            lx_nor_flash_next_block_to_erase_find.c         Added logic to improve search for free sectors.
97            lx_nor_flash_open.c                             Added logic to detect and handle a mapping entry
98                                                            interrupted before completion, and added logic to
99                                                            ensure there is a sector buffer supplied by the
100                                                            driver if LX_DIRECT_READ is not specified.
101            lx_nor_flash_sector_release.c                   Added reclaim logic to help increase free sectors.
102            lx_nor_flash_sector_write.c                     Added clearing of additional bit to indicate when
103                                                            mapping is valid, and removed optimization to ensure
104                                                            atomic sector write.
105            lx_nor_flash_simulator.c                        Added logic to supply RAM buffer for reading
106                                                            sector when LX_DIRECT_READ is not specified,
107                                                            and removed write attempt to already written
108                                                            sector, since this is no longer required.
109            fx*.c                                           Changed comments and copyright header.
110            lx*.c                                           Changed comments and copyright header.
111            lx*.h                                           Changed comments and copyright header.
112
11311/01/2017  LevelX generic code version 5.3. This release includes the following
114            modifications:
115
116            lx_nand_flash_block_full_update.c               Added check to make sure the block is
117                                                            actually full.
118            lx_nand_flash_block_reclaim.c                   Added support for direct logical sector
119                                                            cache.
120            lx_nand_flash_logical_sector_find.c             Added adjustment of mapped sectors when
121                                                            examining the mapped list, added support
122                                                            for direct logical sector cache.
123            lx_nand_flash_open.c                            Added support for direct logical sector cache,
124                                                            and updated diagnostics.
125            lx_nand_flash_physical_page_allocate.c          Added adjustment of the search pointer for
126                                                            next allocate request.
127            lx_nand_flash_sector_mapping_cache_invalidate.c Added support for direct logical sector cache.
128            lx_nand_flash_sector_release.c                  Added logic to update the page 0 mapping list
129                                                            if present.
130            lx_nand_flash_sector_write.c                    Added logic to update the page 0 mapping list
131                                                            if present, and added check to make sure the
132                                                            new mapping wasn't moved, added direct logical
133                                                            sector cache.
134            fx*.c                                           Changed comments and copyright header.
135            lx*.c                                           Changed comments and copyright header.
136            lx*.h                                           Changed comments and copyright header.
137
13803/01/2017  LevelX generic code version 5.2. This release includes the following
139            modifications:
140
141            lx_nand_flash_block_full_update.c               Reduced the number of words accessed in
142                                                            page 0, added driver interface layer,
143                                                            and modified the extra bytes usage in
144                                                            page 0 to support block valid-full-empty.
145            lx_nand_flash_block_obsoleted_check.c           Added file in this release.
146            lx_nand_flash_block_reclaim.c                   Added logic to update page 0 on a full
147                                                            block update, added driver interface layer,
148                                                            and added additional diagnostic information.
149            lx_nand_flash_driver_block_erase.c              Added file in this release.
150            lx_nand_flash_driver_block_erased_verify.c      Added file in this release.
151            lx_nand_flash_driver_block_status_get.c         Added file in this release.
152            lx_nand_flash_driver_block_status_set.c         Added file in this release.
153            lx_nand_flash_driver_extra_bytes_get.c          Added file in this release.
154            lx_nand_flash_driver_extra_bytes_set.c          Added file in this release.
155            lx_nand_flash_driver_page_erased_verify.c       Added file in this release.
156            lx_nand_flash_driver_read.c                     Added file in this release.
157            lx_nand_flash_driver_write.c                    Added file in this release.
158            lx_nand_flash_extended_cache_enable.c           Added file in this release.
159            lx_nand_flash_logical_sector_find.c             Reduced the number of words accessed in
160                                                            page 0, corrected check for valid sector
161                                                            mapping list, added max mapped sector logic,
162                                                            added driver interface layer, and added logic
163                                                            to use and maintain the last found sector block.
164            lx_nand_flash_next_block_to_erase_find.c        Reduced the number of words accessed in page 0,
165                                                            and added driver interface layer.
166            lx_nand_flash_open.c                            Reduced the number of words accessed in page 0,
167                                                            added driver interface layer, added additional
168                                                            diagnostic information, added logic to initialize
169                                                            the maximum mapped logical sector, and added
170                                                            initialization of the last found sector block.
171            lx_nand_flash_physical_page_allocate.c          Reduced the number of words accessed in page 0,
172                                                            added driver interface layer, and added logic
173                                                            to use page 0's extra bytes to determine if
174                                                            block has available pages.
175            lx_nand_flash_sector_read.c                     Added driver interface layer.
176            lx_nand_flash_sector_release.c                  Added logic to maintain the maximum mapped
177                                                            sector, and added driver interface layer.
178            lx_nand_flash_sector_write.c                    Added call to see if the block is completely
179                                                            obsoleted, added logic to remember the maximum
180                                                            mapped sector, and added driver interface layer.
181            fx_nand_flash_simulator_driver.c                Removed sector packing by requiring sector and
182                                                            cluster size to match, and added release sector
183                                                            support.
184            fx*.c                                           Changed comments and copyright header.
185            lx*.c                                           Changed comments and copyright header.
186            lx*.h                                           Changed comments and copyright header.
187
18808/01/2016  LevelX generic code version 5.1. This release includes the following
189            modifications:
190
191            lx_nor_flash_physical_sector_allocate.c         Corrected problem with more than 32 sectors per
192                                                            flash block.
193            fx*.c                                           Changed comments and copyright header.
194            lx*.c                                           Changed comments and copyright header.
195            lx*.h                                           Changed comments and copyright header.
196
19701/22/2015  Initial LevelX generic code version 5.0.