https://github.com/igrr/mkspiffs
Tool to build and unpack SPIFFS images
https://github.com/igrr/mkspiffs
Last synced: about 1 year ago
JSON representation
Tool to build and unpack SPIFFS images
- Host: GitHub
- URL: https://github.com/igrr/mkspiffs
- Owner: igrr
- License: mit
- Created: 2015-05-20T11:39:09.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T07:01:40.000Z (almost 2 years ago)
- Last Synced: 2025-03-30T01:09:08.817Z (about 1 year ago)
- Language: C++
- Size: 211 KB
- Stars: 200
- Watchers: 19
- Forks: 94
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# mkspiffs
Tool to build and unpack [SPIFFS](https://github.com/pellepl/spiffs) images.
## Usage
```
mkspiffs {-c |-u |-l|-i} [-d <0-5>] [-b ]
[-p ] [-s ] [--] [--version] [-h]
Where:
-c , --create
(OR required) create spiffs image from a directory
-- OR --
-u , --unpack
(OR required) unpack spiffs image to a directory
-- OR --
-l, --list
(OR required) list files in spiffs image
-- OR --
-i, --visualize
(OR required) visualize spiffs image
-d <0-5>, --debug <0-5>
Debug level. 0 means no debug output.
-b , --block
fs block size, in bytes
-p , --page
fs page size, in bytes
-s , --size
fs image size, in bytes
--, --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.
(required) spiffs image file
```
## Build
[](https://travis-ci.org/igrr/mkspiffs)
You need gcc (≥4.8) or clang(≥600.0.57), and make. On Windows, use MinGW.
Run:
```bash
$ git submodule update --init
$ make dist
```
## SPIFFS configuration
Some SPIFFS options which are set at mkspiffs build time affect the format of the generated filesystem image. Make sure such options are set to the same values when builing mkspiffs and when building the application which uses SPIFFS.
These options include:
- SPIFFS_OBJ_NAME_LEN
- SPIFFS_OBJ_META_LEN
- SPIFFS_USE_MAGIC
- SPIFFS_USE_MAGIC_LENGTH
- SPIFFS_ALIGNED_OBJECT_INDEX_TABLES
- possibly others
To see the default values of these options, check `include/spiffs_config.h` file in this repository.
To override some options at build time, pass extra `CPPFLAGS` to `make`. You can also set `BUILD_CONFIG_NAME` variable to distinguish the built binary:
```bash
$ make clean
$ make dist CPPFLAGS="-DSPIFFS_OBJ_META_LEN=4" BUILD_CONFIG_NAME=-custom
```
To check which options were set when building mkspiffs, use `--version` command:
```
$ mkspiffs --version
mkspiffs ver. 0.2.2
Build configuration name: custom
SPIFFS ver. 0.3.7-5-gf5e26c4
Extra build flags: -DSPIFFS_OBJ_META_LEN=4
SPIFFS configuration:
SPIFFS_OBJ_NAME_LEN: 32
SPIFFS_OBJ_META_LEN: 4
SPIFFS_USE_MAGIC: 1
SPIFFS_USE_MAGIC_LENGTH: 1
SPIFFS_ALIGNED_OBJECT_INDEX_TABLES: 0
```
## License
MIT
## To do
- [ ] Add more debug output and print SPIFFS debug output
- [ ] Error handling
- [ ] Code cleanup