-\r
-About lwext4\r
-============\r
-\r
-The main goal of the lwext4 project is to provide ext2/3/4 filesystem\r
-library for microcontrolers with SD/MMC card support. Ext2/3/4, in my\r
-opinion is one of the best filesystem for SD/MMC.\r
-\r
-kostka.grzegorz@gmail.com\r
-\r
-Minimum memory requirements\r
-===========================\r
-\r
-.text ~ 15KB\r
-.data + .bss ~ 8KB\r
-.stack ~ 1KB-2KB (not tested yet)\r
-\r
-ext2/3/4 vs FAT32\r
-=================\r
-ext2/3/4 > FAT32\r
- - fseek operation on big file in FAT32 is IO heavy\r
- - ext2/3/4 HTREE directories operations are faster than FAT32 \r
- - ext4 extents makes truncate/remove opertion really fast\r
- - more at https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout\r
-\r
-ext2/3/4 < FAT32\r
- - FAT32 has smaller footprint\r
-\r
-Credits lwext4\r
-==============\r
-\r
-A lot of the implementation of lwext4 was taken from HelenOS:\r
- - http://www.helenos.org/\r
- \r
-Some of ideas and features are based on FreeBSD and Linux implementations.\r
-\r
-lwext4 supported/unsupported ext2/3/4 fs features\r
-=================================================\r
-FEATURE_INCOMPAT (unable to mount with unsupported feature):\r
- - COMPRESSION: no\r
- - FILETYPE: yes\r
- - RECOVER: no\r
- - JOURNAL_DEV: no\r
- - META_BG: no\r
- - EXTENTS: yes\r
- - 64BIT: yes\r
- - MMP: no\r
- - FLEX_BG: no\r
- - EA_INODE: no\r
- - DIRDATA: no\r
- \r
-FEATURE_INCOMPAT (able to mount with unsupported feature):\r
- - DIR_PREALLOC: no\r
- - IMAGIC_INODES: no\r
- - HAS_JOURNAL: no\r
- - EXT_ATTR: no\r
- - RESIZE_INODE: no\r
- - DIR_INDEX: yes\r
-\r
-FEATURE_RO (able to mount in read only with unsupported feature):\r
- - SPARSE_SUPER: yes\r
- - LARGE_FILE: yes\r
- - BTREE_DIR: no\r
- - HUGE_FILE: yes\r
- - GDT_CSUM: yes\r
- - DIR_NLINK: yes\r
- - EXTRA_ISIZE: yes\r
-\r
-Supported filetypes:\r
- - FIFO: no\r
- - CHARDEV: no\r
- - DIRECTORY: yes\r
- - BLOCKDEV: no\r
- - FILE: yes\r
- - SOFTLINK: no\r
- - SOCKET: no\r
-\r
-Other:\r
- - block_size: 1KB, 2KB, 4KB ... 64KB\r
- - little/big endian architecture support\r
-\r
-\r
-lwext4 project tree\r
-===================\r
-\r
-+blockdev - block devices set, supported blockdevs\r
- - filedev - file based block device\r
- - io_raw - wiodows IO block device\r
-\r
-+demos - demo directory sources\r
- - generic - generic demo app, used for development and and debbuging purpose\r
- \r
-+lwext4 - internals of the lwext4 library\r
-\r
-+toolchain - specific toolchain cmake files\r
-\r
-+ext4.h - lwext4 client library header\r
-CMakeLists.txt - CMake config file\r
-ext_images.7z - ext2/3/4 100MB images\r
-Makefile - helper makefile to call cmake\r
-readme.txt - yes, you are here ;)\r
- \r
-lwext4 compile Windows\r
-======================\r
-\r
-Tools needed:\r
- - CMake: http://www.cmake.org/cmake/resources/software.html\r
- - MinGw: http://www.mingw.org/\r
- - GnuWin: http://gnuwin32.sourceforge.net/ \r
-\r
-Build:\r
->>make\r
-\r
-Clean:\r
->>clean\r
-\r
-Successful build generates out of source build directory:\r
-+build_generic\r
-\r
-lwext4 compile Linux\r
-====================\r
-Tools needed:\r
- - CMake: http://www.cmake.org/cmake/resources/software.html\r
- \r
-Build:\r
->>make\r
-\r
-Clean:\r
->>clean\r
-\r
-Successful build generates out of source build directory:\r
-+build_generic\r
-\r
-lwext4 generic demo app\r
-=======================\r
-\r
-Features:\r
- - load ext2/3/4 images\r
- - load linux block device with ext2/3/4 part\r
- - load windows volume with ext2/3/4 filesystem \r
- - directory speed test\r
- - file write/read speed test\r
-\r
-How to use:\r
-Windows/Linux fileimages:\r
-> cd build_generic\r
-> fileimage_demo --in ext2 \r
-\r
-Windows volumes:\r
-> cd build_generic\r
-> fileimage_demo --in I: --wpart\r
-\r
-Linux block devices:\r
-> cd build_generic\r
-> fileimage_demo --in /dev/your_block_device\r
-\r
-Usage: \r
- --i - input file (default = ext2) \r
- --rws - single R/W size (default = 1024 * 1024) \r
- --rwc - R/W count (default = 10) \r
- --cache - 0 static, 1 dynamic (default = 1) \r
- --dirs - directory test count (default = 0) \r
- --clean - clean up after test \r
- --bstat - block device stats \r
- --sbstat - superblock stats \r
- --wpart - windows partition mode \r
-\r
-\r
-lwext4 compile Cross\r
-====================\r
-\r
-Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded\r
-Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php\r
-\r
-Build bf158 library:\r
-> make bf518\r
-\r
-Build cortex-m3 library:\r
-> make cortex-m3\r
-\r
-Build cortex-m4 library:\r
-> make cortex-m4\r
-\r
-lwext4 ports\r
-============\r
-\r
-Blackfin BF518 EZKIT SD Card Demo: TBD\r
-STM32F4-Discovery SD Card Demo: TBD \r
-\r
-\r
-lwext4 footprint\r
-================ \r
-\r
-TBD
\ No newline at end of file