Update readme.mediawiki
authorgkostka <kostka.grzegorz@gmail.com>
Thu, 23 Apr 2015 21:46:33 +0000 (23:46 +0200)
committergkostka <kostka.grzegorz@gmail.com>
Thu, 23 Apr 2015 21:46:33 +0000 (23:46 +0200)
readme.mediawiki

index 43af0424f592a745d1af18bf6301a777d3c187e5..a2971c389532b57a96288f8d8ee23616cf9eafe6 100644 (file)
@@ -6,20 +6,16 @@ library for microcontrolers with SD/MMC card support.
 kostka.grzegorz@gmail.com
 
 ==Minimum memory requirements==
-
-=====PROGRAM:=====
- - 20KB
-=====RAM:=====
- - 8KB
-=====STACK:=====
- - 2KB
+* .text:  20KB - 30KB (dependent of feature set chosen)
+* .data:  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
+* fast fseek on big file (in FAT32 fseek equals many IO operations)
+* ext2/3/4 HTREE directory operations (like find entry) are faster
+* fast extent big file allocation (truncate/remove)
 * more at https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout
 
 ;ext2/3/4 < FAT32
@@ -27,87 +23,71 @@ kostka.grzegorz@gmail.com
 
 ==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.
+The most of the source code of lwext4 was taken from HelenOS:
+* http://helenos.org/
+Some 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 (could be ignored)
-    journal_dev: no
-    meta_bg: yes
-    extents: yes
-    64bit: yes
-    mmp: no (could be ignored)
-    flex_bg: yes
-    ea_inode: no
-    dirdata: no
-    bg_meta_csum: no
-    largedir: no
-    inline_data: 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: yes (obsolete)
-    huge_file: yes
-    gdt_csum: yes
-    dir_nlink: yes
-    extra_isize: yes
-    quota: no
-    bigalloc: no
-    metadata_csum: no
-
+;Features incompatible (unable to mount when NOT supported):
+*  compression: no
+*  filetype: yes
+*  recover: no (could be ignored)
+*  journal_dev: no
+*  meta_bg: yes
+*  extents: yes
+*  64bit: yes
+*  mmp: no (could be ignored)
+*  flex_bg: yes
+*  ea_inode: no
+*  dirdata: no
+*  bg_meta_csum: no
+*  largedir: no
+*  inline_data: no
+;Features compatible (mount when NOT supported is possible):
+*  dir_prealloc: no
+*  imagic_inodes: no
+*  has_journal: no
+*  ext_attr: no
+*  resize_inode: no
+*  dir_index: yes
+;Features read-only (mount in RO mode when NOT supported):
+*  sparse_super: yes
+*  large_file: yes
+*  btree_dir: yes (obsolete)
+*  huge_file: yes
+*  gdt_csum: yes
+*  dir_nlink: yes
+*  extra_isize: yes
+*  quota: no
+*  bigalloc: no
+*  metadata_csum: no
 
 ==Supported filetypes:==
- FIFO:      no
- CHARDEV:   no
- DIRECTORY: yes
- BLOCKDEV:  no
- FILE:      yes
- SOFTLINK:  no
- SOCKET:    no
+* 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
- - fs_test.mk       - automatic tests definition
- - Makefile         - helper makefile to call cmake
- - readme.mediawiki - yes, you are here ;)
+*  blockdev         - block devices set, supported blockdev
+*  demos            - demo directory sources
+*  lwext4           - internals of the lwext4 library
+*  toolchain        - specific toolchain cmake files
+*  CMakeLists.txt   - CMake config file
+*  ext_images.7z    - compressed ext2/3/4 100MB images
+*  fs_test.mk       - automatic tests definitions
+*  Makefile         - helper makefile to trigger cmake, tests
+*  readme.mediawiki - readme file
   
 ==Compile: Windows==
-;Tools needed:
+Requirements:
 * CMake:  http://www.cmake.org/cmake/resources/software.html
 * MinGw:  http://www.mingw.org/
 * GnuWin: http://gnuwin32.sourceforge.net/ 
@@ -124,8 +104,8 @@ Some of ideas and features are based on FreeBSD and Linux implementations.
 
 ==Compile: Linux==
 
-Tools needed:
- - CMake:  http://www.cmake.org/cmake/resources/software.html
+Requirements:
+* CMake:  http://www.cmake.org/cmake/resources/software.html
  
 ;Create CMake files:
  make
@@ -138,13 +118,12 @@ Tools needed:
  make
 
 ==Generic demo application==
-
 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
+* 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:
@@ -160,38 +139,32 @@ Linux block devices:
  generic --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                           
-
-==Client-server automatic test suite==
-
-Build:
+ --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                           
+
+==Build and run automatic tests==
+Build and run automatic tests
+Build automatic test tools:
  make
  cd build_generic
  make
-Unpack images:
+Uncompress ext/2/3/4 images:
  make unpack_images
-Run server:
+Run server app for predefined images:
  make server_ext2
+ make server_ext3
+ make server_ext4
 Run tests:
  make all_tests
 
-
-==Cross-Compile==
-
- Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
- Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php
-
+==Cross-Compile standalone library==
 Build bf518 library:
  make bf518
  cd build_bf518
@@ -217,35 +190,11 @@ Build cortex-m4 library:
  cd build_cortex-m4
  make lwext4
 
-==Ports==
-STM32F429-DISCO USB flash drive Demo 
+==Demos==
+* STM32F429-DISCO USB flash drive Demo
+* ChibiOS demo applications
  
 Build STM32F429 Demo:
  make cortex-m4
  cd build_cortex-m4
  make all
-
-==Footprint==
-
- TOOLCHAIN: arm-none-eabi-gcc
- OPT: O2  
- OUTPUT:
-   text           data     bss    filename
-    648              0       0    ext4_inode.c
-   1064              0       0    ext4_crc32c.c
-   2124              0       0    ext4_blockdev.c
-    372              0       0    ext4_bitmap.c
-   1184              0       0    ext4_hash.c
-   2852              0       0    ext4_balloc.c
-   1844              0       0    ext4_dir.c
-   2904              0       0    ext4_dir_idx.c
-    972              0       0    ext4_bcache.c
-    552              0       0    ext4_block_group.c
-    744              0       0    ext4_ialloc.c
-   5408              0       0    ext4.c
-    600              0       0    ext4_super.c
-     24              0       4    ext4_debug.c
-   3092              0       0    ext4_extent.c
-   6424              0       0    ext4_fs.c
-                           
-                           
\ No newline at end of file