Skip to content

labplus-cn/mkfatfs

Repository files navigation

mkfatfs

Tool to build and unpack FATFS images.

Usage


  in windows:

  mkfatfs  {-c <pack_dir>|-u <dest_dir>|-l|-i} [-d <0-5>] [-b <number>]
            [-p <number>] [-s <number>] [--] [--version] [-t <fstype>] [-h]
            <image_file>

  in linux:
  ./mkfatfs  {-c <pack_dir>|-u <dest_dir>|-l|-i} [-d <0-5>] [-b <number>]
          [-p <number>] [-s <number>] [--] [--version] [-t <fstype>] [-h]
          <image_file>

eg:
pack:
windows:
mkfatfs.exe -c Test -s 0x200000 -t littlefs test.bin
linux: 
./mkfatfs -c Test -s 0x200000 -t littlefs test.bin

unpack:
windows:
mkfatfs.exe -u Test -s 0 -t littlefs test.bin
linux:
./mkfatfs -u Test -s 0 -t littlefs test.bin

Where: 

   -c <pack_dir>,  --create <pack_dir>
     (OR required)  create fatfs image from a directory
         -- OR --
   -u <dest_dir>,  --unpack <dest_dir>
     (OR required)  unpack fatfs image to a directory
         -- OR --
   -l,  --list
     (OR required)  list files in fatfs image
         -- OR --
   -i,  --visualize
     (OR required)  visualize fatfs image


   -d <0-5>,  --debug <0-5>
     Debug level. 0 means no debug output.

   -b <number>,  --block <number>
     fs block size, in bytes

   -p <number>,  --page <number>
     fs page size, in bytes

   -s <number>,  --size <number>
     fs image size, in bytes

   -t <fstype> --type <fstype>
     fs type, surport fatfs and littlefs

   --,  --ignore_rest
     Ignores the rest of the labeled arguments following this flag.

   --version
     Displays version information and exits.

   -h,  --help
     Displays usage information and exits.

   <image_file>
     (required)  fatfs image file


Build

You need gcc (≥4.8) or clang(≥600.0.57), and make. On Windows, use MinGW. You need cmake (≥3.0.0). Youn can develop in vscode. install extension CMake and CMake Tools. More help for build project, please read the extension's help. in linux: cd mkfatfs cmake . make

License

MIT

To do

  • Flag -u is not released yet
  • Flag -l is not released yet
  • Flag -i is not released yet
  • Add more debug output and print FATFS debug output
  • Error handling
  • Determine the image size automatically when opening a file
  • Code cleanup