LevelX For version 6 and higher, please refer to the release notes on GitHub at https://github.com/eclipse-threadx/levelx/releases. Below is the revision history for 5.x. 08/15/2019 LevelX generic code version 5.6. This release includes the following major features: Files are modified to fix compiler warnings: demo_filex_nand_flash.c demo_filex_nor_flash.c lx_nand_flash_256byte_ecc_check.c lx_nand_flash_256byte_ecc_compute.c 10/10/2018 LevelX generic code version 5.5. This release includes the following modifications: lx_api.h Removed compiler warnings, added extended NOR cache support, new APIs, and new constants. lx_nand_flash_256byte_ecc_check.c Removed compiler warnings. lx_nand_flash_256byte_ecc_compute.c Removed compiler warnings. lx_nand_flash_block_obsoleted_check.c Added logic to mark the beginning of block erase. lx_nand_flash_block_reclaim.c Removed compiler warnings, and added logic to mark the beginning of block erase. lx_nand_flash_logical_sector_find.c Removed compiler warnings, and added logic to use and maintain the last found page. lx_nand_flash_next_block_to_erase_find.c Removed compiler warnings. lx_nand_flash_open.c Added logic to detect start of a block erase that was interrupted, removed system error call for more than one page being obsoleted since this can happen normally, removed compiler warnings, and added logic to initialize the last found page. lx_nand_flash_partial_defragment.c Added file in this release. lx_nand_flash_sector_release.c Removed compiler warnings. lx_nand_flash_sector_write.c Removed compiler warnings. lx_nor_flash_block_reclaim.c Removed direct driver access for erases/reads/writes, removed compiler warnings, and added logic to mark the beginning of block erase. lx_nor_flash_driver_block_erase.c Added file in this release. lx_nor_flash_driver_read.c Added file in this release. lx_nor_flash_driver_write.c Added file in this release. lx_nor_flash_extended_cache_enable.c Added file in this release. lx_nor_flash_logical_sector_find.c Removed direct driver access for reads, removed compiler warnings, and added logic to use and maintain the last found sector/block. lx_nor_flash_next_block_to_erase_find.c Removed compiler warnings, and removed direct driver access for reads. lx_nor_flash_open.c Removed direct driver access for erases/reads/writes, added logic to detect start of a block erase that was interrupted, removed system error call for more than one page being obsoleted since this can happen normally, removed compiler warnings, and added logic to initialize the last found sector/block. lx_nor_flash_partial_defragment.c Added file in this release. lx_nor_flash_physical_sector_allocate.c Removed direct driver access for reads/writes. lx_nor_flash_sector_read.c Removed direct driver access for reads/writes. lx_nor_flash_sector_release.c Removed direct driver access for reads/writes. lx_nor_flash_sector_write.c Removed direct driver access for reads/writes. lx_nor_flash_simulator.c Removed compiler warnings. lx*.c Changed comments and copyright header, and added conditional around disabling ThreadX error checking. lx*.h Changed comments and copyright header. 05/01/2018 LevelX generic code version 5.4. This release includes the following modifications: lx_api.h Added NOR flash RAM buffer, added bit constant for both NOR and NAND flash to indicate when mapping write is valid, added diagnostic counter for tracking when incomplete mapping is detected on open, add added new error code when driver does not supply a sector/page RAM buffer. fx_nand_flash_simulated_driver.c Added error checking, and corrected sector read/write processing. fx_nor_flash_simulator_driver.c Added error checking. lx_nand_flash_block_reclaim.c Added clearing of additional bit to indicate when mapping is valid, and corrected logic that could cause a newly mapped sector to be erased. lx_nand_flash_logical_sector_find.c Added logic to make sure the sector mapping is valid. lx_nand_flash_next_block_to_erase_find.c Added logic to improve search for free sectors. lx_nand_flash_open.c Added logic to detect and handle a mapping entry interrupted before completion, and added logic to ensure there is a page buffer supplied by the driver. lx_nand_flash_sector_release.c Added reclaim logic to help increase free sectors. lx_nand_flash_sector_write.c Added clearing of additional bit to indicate when mapping is valid. lx_nor_flash_block_reclaim.c Added clearing of additional bit to indicate when mapping is valid, added logic to read NOR sector into RAM buffer if direct NOR access is not possible, and corrected logic that could cause a newly mapped sector to be erased. lx_nor_flash_logical_sector_find.c Added logic to make sure the sector mapping is valid. lx_nor_flash_next_block_to_erase_find.c Added logic to improve search for free sectors. lx_nor_flash_open.c Added logic to detect and handle a mapping entry interrupted before completion, and added logic to ensure there is a sector buffer supplied by the driver if LX_DIRECT_READ is not specified. lx_nor_flash_sector_release.c Added reclaim logic to help increase free sectors. lx_nor_flash_sector_write.c Added clearing of additional bit to indicate when mapping is valid, and removed optimization to ensure atomic sector write. lx_nor_flash_simulator.c Added logic to supply RAM buffer for reading sector when LX_DIRECT_READ is not specified, and removed write attempt to already written sector, since this is no longer required. fx*.c Changed comments and copyright header. lx*.c Changed comments and copyright header. lx*.h Changed comments and copyright header. 11/01/2017 LevelX generic code version 5.3. This release includes the following modifications: lx_nand_flash_block_full_update.c Added check to make sure the block is actually full. lx_nand_flash_block_reclaim.c Added support for direct logical sector cache. lx_nand_flash_logical_sector_find.c Added adjustment of mapped sectors when examining the mapped list, added support for direct logical sector cache. lx_nand_flash_open.c Added support for direct logical sector cache, and updated diagnostics. lx_nand_flash_physical_page_allocate.c Added adjustment of the search pointer for next allocate request. lx_nand_flash_sector_mapping_cache_invalidate.c Added support for direct logical sector cache. lx_nand_flash_sector_release.c Added logic to update the page 0 mapping list if present. lx_nand_flash_sector_write.c Added logic to update the page 0 mapping list if present, and added check to make sure the new mapping wasn't moved, added direct logical sector cache. fx*.c Changed comments and copyright header. lx*.c Changed comments and copyright header. lx*.h Changed comments and copyright header. 03/01/2017 LevelX generic code version 5.2. This release includes the following modifications: lx_nand_flash_block_full_update.c Reduced the number of words accessed in page 0, added driver interface layer, and modified the extra bytes usage in page 0 to support block valid-full-empty. lx_nand_flash_block_obsoleted_check.c Added file in this release. lx_nand_flash_block_reclaim.c Added logic to update page 0 on a full block update, added driver interface layer, and added additional diagnostic information. lx_nand_flash_driver_block_erase.c Added file in this release. lx_nand_flash_driver_block_erased_verify.c Added file in this release. lx_nand_flash_driver_block_status_get.c Added file in this release. lx_nand_flash_driver_block_status_set.c Added file in this release. lx_nand_flash_driver_extra_bytes_get.c Added file in this release. lx_nand_flash_driver_extra_bytes_set.c Added file in this release. lx_nand_flash_driver_page_erased_verify.c Added file in this release. lx_nand_flash_driver_read.c Added file in this release. lx_nand_flash_driver_write.c Added file in this release. lx_nand_flash_extended_cache_enable.c Added file in this release. lx_nand_flash_logical_sector_find.c Reduced the number of words accessed in page 0, corrected check for valid sector mapping list, added max mapped sector logic, added driver interface layer, and added logic to use and maintain the last found sector block. lx_nand_flash_next_block_to_erase_find.c Reduced the number of words accessed in page 0, and added driver interface layer. lx_nand_flash_open.c Reduced the number of words accessed in page 0, added driver interface layer, added additional diagnostic information, added logic to initialize the maximum mapped logical sector, and added initialization of the last found sector block. lx_nand_flash_physical_page_allocate.c Reduced the number of words accessed in page 0, added driver interface layer, and added logic to use page 0's extra bytes to determine if block has available pages. lx_nand_flash_sector_read.c Added driver interface layer. lx_nand_flash_sector_release.c Added logic to maintain the maximum mapped sector, and added driver interface layer. lx_nand_flash_sector_write.c Added call to see if the block is completely obsoleted, added logic to remember the maximum mapped sector, and added driver interface layer. fx_nand_flash_simulator_driver.c Removed sector packing by requiring sector and cluster size to match, and added release sector support. fx*.c Changed comments and copyright header. lx*.c Changed comments and copyright header. lx*.h Changed comments and copyright header. 08/01/2016 LevelX generic code version 5.1. This release includes the following modifications: lx_nor_flash_physical_sector_allocate.c Corrected problem with more than 32 sectors per flash block. fx*.c Changed comments and copyright header. lx*.c Changed comments and copyright header. lx*.h Changed comments and copyright header. 01/22/2015 Initial LevelX generic code version 5.0.