ref: 266c5e53b09b2bdb1c7a2301616dbbbd6b5d5f11
parent: a48f2f6fecddd54a5830d6b61cfc608fb3f364c3
author: gkostka <kostka.grzegorz@gmail.com>
date: Sun Oct 27 14:07:39 EDT 2013
Add readme file.
--- a/blockdev/filedev/ext4_filedev.c
+++ b/blockdev/filedev/ext4_filedev.c
@@ -66,7 +66,7 @@
);
/******************************************************************************/
-EXT4_BCACHE_STATIC_INSTANCE(__cache, 8, 1024);
+EXT4_BCACHE_STATIC_INSTANCE(__cache, CONFIG_BLOCK_DEV_CACHE_SIZE, 1024);
/******************************************************************************/
static int filedev_open(struct ext4_blockdev *bdev)
--- a/blockdev/io_raw/io_raw.c
+++ b/blockdev/io_raw/io_raw.c
@@ -71,7 +71,7 @@
);
/******************************************************************************/
-EXT4_BCACHE_STATIC_INSTANCE(__cache, 8, 1024);
+EXT4_BCACHE_STATIC_INSTANCE(__cache, CONFIG_BLOCK_DEV_CACHE_SIZE, 1024);
/******************************************************************************/
static int io_raw_open(struct ext4_blockdev *bdev)
--- a/demos/generic/main.c
+++ b/demos/generic/main.c
@@ -82,19 +82,19 @@
/**@brief Block cache handle.*/
static struct ext4_bcache *bc;
-static const char *usage = " \n\
-Welcome in ext4 generic demo. \n\
-Copyright (c) 2013 Grzegorz Kostka (kostka.grzegorz@gmail.com) \n\
-Usage: \n\
- --i - input file (default = ext2) \n\
- --rws - single R/W size (default = 1024) \n\
- --rwc - R/W count (default = 10000) \n\
- --cache - 0 static, 1 dynamic (default = 1) \n\
- --dirs - directory test count (default = 0) \n\
- --clean - clean up after test \n\
- --bstat - block device stats \n\
- --sbstat - superblock stats \n\
- --wpart - windows partition mode \n\
+static const char *usage = " \n\
+Welcome in ext4 generic demo. \n\
+Copyright (c) 2013 Grzegorz Kostka (kostka.grzegorz@gmail.com) \n\
+Usage: \n\
+ --i - input file (default = ext2) \n\
+ --rws - single R/W size (default = 1024 * 1024) \n\
+ --rwc - R/W count (default = 10) \n\
+ --cache - 0 static, 1 dynamic (default = 1) \n\
+ --dirs - directory test count (default = 0) \n\
+ --clean - clean up after test \n\
+ --bstat - block device stats \n\
+ --sbstat - superblock stats \n\
+ --wpart - windows partition mode \n\
\n";
static char* entry_to_str(uint8_t type)
--- a/lwext4/ext4.c
+++ b/lwext4/ext4.c
@@ -363,7 +363,7 @@
mp->cache_dynamic = 1;
bc = malloc(sizeof(struct ext4_bcache));
- r = ext4_bcache_init_dynamic(bc, 8, bsize);
+ r = ext4_bcache_init_dynamic(bc, CONFIG_BLOCK_DEV_CACHE_SIZE, bsize);
if(r != EOK){
free(bc);
ext4_block_fini(bd);
--- /dev/null
+++ b/readme.txt
@@ -1,0 +1,173 @@
+
+About lwext4
+============
+
+The main goal of the lwext4 project is to provide ext2/3/4 filesystem
+library for microcontrolers.
+
+kostka.grzegorz@gmail.com
+
+Credits lwext4
+==============
+
+A lot of the implementation of lwext4 was taken from HelenOS:
+ - http://www.helenos.org/
+
+Some of ideas and features are based on FreeBSD and Linux implementations.
+
+lwext4 supported/unsupported 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_INCOMPAT (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 with unsupported feature):
+ - 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
+
+
+lwext4 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.txt - yes, you are here ;)
+
+lwext4 compile Windows
+======================
+
+Tools needed:
+ - CMake: http://www.cmake.org/cmake/resources/software.html
+ - MinGw: http://www.mingw.org/
+ - GnuWin: http://gnuwin32.sourceforge.net/
+
+Build:
+>>make
+
+Clean:
+>>clean
+
+Successful build generates out of source build directory:
++build_generic
+
+lwext4 compile Linux
+====================
+Tools needed:
+ - CMake: http://www.cmake.org/cmake/resources/software.html
+
+Build:
+>>make
+
+Clean:
+>>clean
+
+Successful build generates out of source build directory:
++build_generic
+
+lwext4 generic demo app
+=======================
+
+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
+
+
+lwext4 compile Cross
+====================
+
+Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
+Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php
+
+Build bf158 library:
+> make bf518
+
+Build cortex-m3 library:
+> make cortex-m3
+
+Build cortex-m4 library:
+> make cortex-m4
+
+lwext4 ports
+============
+
+Blackfin BF518 EZKIT SD Card Demo: TBD
+ETM32F4-Dis SD Card Demo: TBD
+
+
+lwext4 footprint
+================