Everything you need to integrate and use YAFFS in your embedded system.
Understand what YAFFS is, how it works, and when to use it. A good starting point for newcomers.
Read OverviewGet YAFFS running in your project. Step-by-step integration instructions for common platforms.
Quick StartUsing YAFFS without an operating system? The Direct Interface provides a POSIX-like API for bare-metal and RTOS use.
View GuideIntegrating YAFFS as a kernel module in Linux. Includes MTD layer configuration and mount options.
View Guide →Using YAFFS with VxWorks, eCos, FreeRTOS, and other real-time operating systems.
View Guide →All the compile-time and runtime options available to tune YAFFS for your specific requirements.
View Reference →Deep dive into YAFFS internals. Log-structured design, garbage collection, and data structures explained.
Read Article →Understanding NAND flash characteristics and why they matter for file system design.
Read Article →How to test YAFFS in your system. Power-fail testing methodology and validation strategies.
View Guide →Comprehensive guide to selecting the right flash file system for your embedded project. Covers YAFFS, JFFS2, UBIFS, and other options with decision criteria.
Download PDFHow YAFFS achieves power-fail safety and the rigorous testing methodology used to validate reliability claims.
Download PDFYAFFS supports both NAND and NOR flash, with various page sizes from 512 bytes to 16KB and beyond. Both SLC, MLC, and TLC NAND are supported.
YAFFS is designed for low memory footprint. Exact requirements depend on flash size and configuration, but it's suitable for resource-constrained embedded systems.
YAFFS is designed to work directly with raw flash, which gives it full control for reliability. Using it over an FTL is possible but removes some of the reliability benefits.
Yes, YAFFS integrates with the Linux MTD (Memory Technology Devices) subsystem for accessing flash hardware.
Migration typically involves reformatting the flash partition with YAFFS and copying data. We can help with migration planning—contact our consultancy team.
The YAFFS mailing list is active and helpful for general questions. For commercial projects, our consultancy team can provide dedicated support.
YAFFS has an active community of developers using it in production systems worldwide. The mailing list is a great resource for questions, discussion, and announcements.
YAFFS source code is available on GitHub. Clone the repository to evaluate YAFFS under the GPL licence, or contact us for commercial licensing.
git clone https://github.com/nickmob/yaffs2.git
View on GitHub
Our engineers have integrated YAFFS into countless systems. If you're facing challenges or want to ensure you're getting the best from YAFFS, we can help.
Talk to Our Engineers