5 The main goal of the lwext4 project is to provide ext2/3/4 filesystem
\r
6 library for microcontrolers with SD/MMC card support. Ext2/3/4, in my
\r
7 opinion is one of the best filesystem for SD/MMC.
\r
9 kostka.grzegorz@gmail.com
\r
11 Minimum memory requirements
\r
12 ===========================
\r
16 .stack ~ 1KB-2KB (not tested yet)
\r
21 - fseek operation on big file in FAT32 is IO heavy
\r
22 - ext2/3/4 HTREE directories operations are faster than FAT32
\r
23 - ext4 extents makes truncate/remove opertion really fast
\r
24 - more at https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout
\r
27 - FAT32 has smaller footprint
\r
32 A lot of the implementation of lwext4 was taken from HelenOS:
\r
33 - http://www.helenos.org/
\r
35 Some of ideas and features are based on FreeBSD and Linux implementations.
\r
37 lwext4 supported/unsupported ext2/3/4 fs features
\r
38 =================================================
\r
39 FEATURE_INCOMPAT (unable to mount with unsupported feature):
\r
52 FEATURE_INCOMPAT (able to mount with unsupported feature):
\r
60 FEATURE_RO (able to mount in read only with unsupported feature):
\r
69 Supported filetypes:
\r
79 - block_size: 1KB, 2KB, 4KB ... 64KB
\r
80 - little/big endian architecture support
\r
86 +blockdev - block devices set, supported blockdevs
\r
87 - filedev - file based block device
\r
88 - io_raw - wiodows IO block device
\r
90 +demos - demo directory sources
\r
91 - generic - generic demo app, used for development and and debbuging purpose
\r
93 +lwext4 - internals of the lwext4 library
\r
95 +toolchain - specific toolchain cmake files
\r
97 +ext4.h - lwext4 client library header
\r
98 CMakeLists.txt - CMake config file
\r
99 ext_images.7z - ext2/3/4 100MB images
\r
100 Makefile - helper makefile to call cmake
\r
101 readme.txt - yes, you are here ;)
\r
103 lwext4 compile Windows
\r
104 ======================
\r
107 - CMake: http://www.cmake.org/cmake/resources/software.html
\r
108 - MinGw: http://www.mingw.org/
\r
109 - GnuWin: http://gnuwin32.sourceforge.net/
\r
117 Successful build generates out of source build directory:
\r
120 lwext4 compile Linux
\r
121 ====================
\r
123 - CMake: http://www.cmake.org/cmake/resources/software.html
\r
131 Successful build generates out of source build directory:
\r
134 lwext4 generic demo app
\r
135 =======================
\r
138 - load ext2/3/4 images
\r
139 - load linux block device with ext2/3/4 part
\r
140 - load windows volume with ext2/3/4 filesystem
\r
141 - directory speed test
\r
142 - file write/read speed test
\r
145 Windows/Linux fileimages:
\r
147 > fileimage_demo --in ext2
\r
151 > fileimage_demo --in I: --wpart
\r
153 Linux block devices:
\r
155 > fileimage_demo --in /dev/your_block_device
\r
158 --i - input file (default = ext2)
\r
159 --rws - single R/W size (default = 1024 * 1024)
\r
160 --rwc - R/W count (default = 10)
\r
161 --cache - 0 static, 1 dynamic (default = 1)
\r
162 --dirs - directory test count (default = 0)
\r
163 --clean - clean up after test
\r
164 --bstat - block device stats
\r
165 --sbstat - superblock stats
\r
166 --wpart - windows partition mode
\r
169 lwext4 compile Cross
\r
170 ====================
\r
172 Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
\r
173 Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php
\r
175 Build bf158 library:
\r
178 Build cortex-m3 library:
\r
181 Build cortex-m4 library:
\r
187 Blackfin BF518 EZKIT SD Card Demo: TBD
\r
188 STM32F4-Discovery SD Card Demo: TBD
\r