lpd_yaffs readme.txt ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ lpd_yaffs_nor is a NOR Flash block device driver implementation of the "Yet Another Flash File System" (YAFFS). lpd_yaffs_nand is a NAND Flash block device driver implementation of the "Yet Another Flash File System" (YAFFS). This driver is supported under Logic Product Development's LoCE BSP v2.0.0+ By using this driver, you agree to Logic Product Development's WinCE BSP EULA. If you did not receive a copy of the EULA with this driver, please email product.sales@logicpd.com or contact Logic Product Development at: Logic Product Development Attn: Logic Product Sales 411 North Washington Avenue Suite101 Minneapolis, MN U.S.A. 55401 _____________________________________________________________________________ _______________ ToC ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ 1 Release Notes 2 What's New 3 Known Issues 4 Dependencies - Change Log _______________ Please see the LoCE BSP Users Guide for general installation instructions. 1) Release Notes ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ --) yaffs_nand only: To use this release you should upgrade the Card Engine's version of LogicLoader to v2.3.3 or greater. No testing has been done for earlier versions of LogicLoader and loss of blocks for good is a possible issue. --) yaffs_nor only: To use this release you must upgrade the Card Engine's version of LogicLoader to v2.0.5 or greater. If you do not, data loss may occur if LogicLoader is used to access a YAFFS partition. Note: YAFFS partitions created prior to LogicLoader v2.0.5 and lpd_yaffs v1.0.0 may still be accessed by both LogicLoader and Windows CE without data loss using these latest releases. --) *Important Note* The YAFFS driver set was created to provide a simple way to share data between the LogicLoader(tm) bootloader and Windows CE. The primary intended purpose of providing this functionality was to facilitate in-field update processes on files that are typically seldom modified - such as an OS image, the main system application, boot scripts and splash-screen images. --) *Important Note* This driver has not undergone thorough data integrity testing to qualify it in applications in which data is either changed often or data is frequently added/removed - this includes using the driver as a repository for the hive registry. If you choose to use the driver in this manner in a production environment, Logic cannot gaurrantee that this driver will meet your product's needs - the customer is responsible to ensure that it passes the product's data integrity requirements that take into account the product life span, criticality of the data, and frequency that data is changed, removed and/or added. --) Logic Product Development has provided an IOCTL so that user-level applications can monitor filesystem statistics. This can be used as a tool to track the status/health of the filesystem in implementations that use the filesystem for purposes other than the intended use of in-field update shared-file storage. Please refer to the driver documentation for more details on this IOCTL call. 2) What's New ŻŻŻŻŻŻŻŻŻŻŻŻŻ --) Optimized IMX31 NAND driver for higher R/W performance. 3) Known Issues ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ --) Yaffs partition driver limitation for PXA270 maximum block number is 512 and for iMX31 is 4096. --) Flash area must be erased prior to creating a partition for the first time. See LogicLoader User Manual for information about erasing a partition. --) WinCE control-panel partition format functionality not supported. --) Use of yaffs_nor on NAND based platforms or yaffs_nand on NOR based platforms could result in the chips malfunctioning and may not be recoverable. 4) Dependencies ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ --) NOR Based Platfomrs --If a version of LogicLoader prior to v2.0.5 is used to access a YAFFS partition data loss may occur. Both LogicLoader v2.0.5 and lpd_yaffs v1.0.0 are feature dependent on each other. --Should use LogicLoader 2.3.3 or greater with this driver. Failure to follow this dependency could allow for loss of blocks. --) NAND Based Platforms --Should use LogicLoader 2.3.3 or greater with this driver. Failure to follow this dependency could allow for loss of blocks. --) Release v1.4.3 requires LoLo 2.4 or later. _____________________________________________________________________________ Change Log: ŻŻŻŻŻŻŻŻŻŻŻ --) v1.4.5 ŻŻŻŻŻŻ ! Fixed incorrect partition size computation. --) v1.4.4 ŻŻŻŻŻŻ ! Optimized IMX31 NAND driver for faster read and write. --) v1.4.3 ŻŻŻŻŻŻ ! Changed bad block handling. ! Fixed boot-time file corruption issue IMPORTANT: NAND FLASH MUST BE REFORMATTED IN LOGICLOADER BEFORE USING THIS DRIVER --) v1.4.2 ŻŻŻŻŻŻ ! Rerelease of v1.4.1 to correct release packaging error --) v1.4.1 ŻŻŻŻŻŻ ! Removed limitation of block usage from B1 through B8 on IMX31 platform. --) v1.4.0 ŻŻŻŻŻŻ + Release of yaffs_nand driver supporting NAND on IMX31-10 System-On-Module. --) v1.3.0 ŻŻŻŻŻŻ ! Updated for marking software reported bad blocks, to coincide with LogicLoader 2.3.3 release. + Release of yaffs_nand driver supporting NAND on PXA270 Card Engine, from the same source as the NOR based driver. --) v1.2.0 ŻŻŻŻŻŻ ! Fixed cfi driver's block protection so that only the very lowest block of NOR flash is protected. Previous versions of the YAFFS driver would exhibit bad block errors for blocks 0, 1 and 2 of NOR flash if the partition addresses were set to include them. This configuration was shown to lead to corruption of the entire partition in certain circumstances. The driver now only protects block 0 (boot block). --) v1.1.0 ŻŻŻŻŻŻ + Improved block driver's error handling and reporting. + Improved block driver's debug messages. Full function tracing and correct error reporting now managed by debug zones. + Changed file system driver to clean up unlinked files immediately when the file is deleted, instead of waiting for the next cleanup process during the initialization of the data store (on reboot). ! Fixed block driver's CPLD register access on LH7A40x systems. --) v1.0.2 ŻŻŻŻŻŻ + Added "FlashRegFPENbit" to the registry file + Added SH7760-10 and PXA270-10 specific registry configurations + Updated the registry file for Card Engine specific configurations + Updated the block driver's clock_sleep_usec implementation to support LH7A40x, PXA270 and SH7760 based Card Engines. --) v1.0.1 ŻŻŻŻŻŻ ! Fixed WinCE 4.20 compatibility --) v1.0.0 ŻŻŻŻŻŻ + Added improved power failure handling during a write + Added support for reclaiming space from unlinked files + Changed Debug build's initial debug zones to only init, error, warning ! Fixed leaving active, burn-enable when not erasing/writing ! Fixed auto chip detection ! Fixed block lock detection ! Fixed flushing of files on power off ! Fixed free space reporting --) v0.2.1 ŻŻŻŻŻŻ ! For WinCE 4.2 compatibility, fixed how active registry key is obtained --) v0.2.0 ŻŻŻŻŻŻ + Added support for CeFsIoControl() interface to the FSD + Added ioctl YAFFSCTL_GET_DEVICE_INFO which populates a yaffs_DeviceInfo structure with the current filesystem status + Added ShortOpCaches value to registry file + Supports LH7A400-11 Card Engine ! Fixed debug message structure and formatting ! Fixed hardcoded chunks-per-block constant ! Fixed WinCE 4.20 compatibility ! Fixed PartDrv error handling ! Fixed PartDrv Store creation/modified date stamp. ! Fixed block device power down handling --) v0.1.2 ŻŻŻŻŻŻ ! Fixed build issue with previous driver --) v0.1.1 ŻŻŻŻŻŻ + Updated registry file to support YAFFS as HIVE Registry repository + Improved debug message output ! Fixed buffer overrun in yaffs path parser --) v0.1.0 ŻŻŻŻŻŻ + Initial Release + Supports WinCE 5.00 + Supports LH7A404-11 Card Engine _____________________________________________________________________________ Copyright (c) 2005-2007 Logic Product Development http://www.logicpd.com/