Нет описания

Grzegorz Kostka 34379e1b97 lwext4-0.3.0 tag. 12 лет назад
blockdev 5da941a9e4 Update project settings. 12 лет назад
demos 148f66ad79 Comments and some minor fixes. 12 лет назад
lwext4 0fba65e030 Documentation. 12 лет назад
toolchain 148f66ad79 Comments and some minor fixes. 12 лет назад
CMakeLists.txt 50f047bbaf Update version to 0.3.0 to tag. 12 лет назад
Makefile f9e2936df6 Upadate cmake file. 12 лет назад
ext4.h 049ed6f6e3 Removed nasty tabs. 12 лет назад
ext_images.7z 974cf28b9b BUGFIX: 12 лет назад
readme.mediawiki 3c55560f5f Update readme file. 12 лет назад

readme.mediawiki

==About==

The main goal of the lwext4 project is to provide ext2/3/4 filesystem
library for microcontrolers with SD/MMC card support. Ext2/3/4, in my
opinion is one of the best filesystem for SD/MMC.

kostka.grzegorz@gmail.com

==Minimum memory requirements==

=====PROGRAM:=====
- 20KB
=====RAM:=====
- 8KB
=====STACK:=====
- 2KB


==ext2/3/4 vs FAT32==
;ext2/3/4 > FAT32
* fseek operation on big file in FAT32 is IO heavy
* ext2/3/4 HTREE directories operations are faster than FAT32
* ext4 extents makes truncate/remove opertion really fast
* more at https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout

;ext2/3/4 < FAT32
* FAT32 has smaller footprint

==Credits==

A lot of the implementation of lwext4 was taken from HelenOS:
http://helenos.org/

Some of ideas and features are based on FreeBSD and Linux implementations.

==Supported ext2/3/4 fs features==

;FEATURE_INCOMPAT (unable to mount with unsupported feature):
COMPRESSION: no
FILETYPE: yes
RECOVER: no
JOURNAL_DEV: no
META_BG: no
EXTENTS: yes
64BIT: yes
MMP: no
FLEX_BG: no
EA_INODE: no
DIRDATA: no

;FEATURE_COMPAT (able to mount with unsupported feature):
DIR_PREALLOC: no
IMAGIC_INODES: no
HAS_JOURNAL: no
EXT_ATTR: no
RESIZE_INODE: no
DIR_INDEX: yes

;FEATURE_RO (able to mount in read only mode):
SPARSE_SUPER: yes
LARGE_FILE: yes
BTREE_DIR: no
HUGE_FILE: yes
GDT_CSUM: yes
DIR_NLINK: yes
EXTRA_ISIZE: yes

==Supported filetypes:==
FIFO: no
CHARDEV: no
DIRECTORY: yes
BLOCKDEV: no
FILE: yes
SOFTLINK: no
SOCKET: no

==Other==
- block_size: 1KB, 2KB, 4KB ... 64KB
- little/big endian architecture support


==Project tree==

- blockdev - block devices set, supported blockdevs
-- filedev - file based block device
-- io_raw - wiodows IO block device

- demos - demo directory sources
-- generic - generic demo app, used for development and and debbuging purpose

- lwext4 - internals of the lwext4 library

- toolchain - specific toolchain cmake files

- ext4.h - lwext4 client library header
- CMakeLists.txt - CMake config file
- ext_images.7z - ext2/3/4 100MB images
- Makefile - helper makefile to call cmake
- readme.mediawiki - yes, you are here ;)

==Compile: Windows==
;Tools needed:
* CMake: http://www.cmake.org/cmake/resources/software.html
* MinGw: http://www.mingw.org/
* GnuWin: http://gnuwin32.sourceforge.net/

;Create CMake files:
make

;Remove CMake files:
clean

;Build
cd build_generic
make

==Compile: Linux==

Tools needed:
- CMake: http://www.cmake.org/cmake/resources/software.html

;Create CMake files:
make

;Remove CMake files:
clean

;Build
cd build_generic
make

==Generic demo applicarion==

Features:
- load ext2/3/4 images
- load linux block device with ext2/3/4 part
- load windows volume with ext2/3/4 filesystem
- directory speed test
- file write/read speed test

How to use:
Windows/Linux fileimages:
cd build_generic
fileimage_demo --in ext2

Windows volumes:
cd build_generic
fileimage_demo --in I: --wpart

Linux block devices:
cd build_generic
fileimage_demo --in /dev/your_block_device

Usage:
--i - input file (default = ext2)
--rws - single R/W size (default = 1024 * 1024)
--rwc - R/W count (default = 10)
--cache - 0 static, 1 dynamic (default = 1)
--dirs - directory test count (default = 0)
--clean - clean up after test
--bstat - block device stats
--sbstat - superblock stats
--wpart - windows partition mode


==Cross-Compile==

Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php

Build bf518 library:
make bf518

Build cortex-m3 library:
make cortex-m3

Build cortex-m4 library:
make cortex-m4

==Ports==
*Blackfin BF518 EZKIT SD Card Demo: TBD
*STM32F4-Discovery SD Card Demo: TBD

==Footprint==

TBD