littlefs-do binary to work with spi raw file (#52)

Add helper to modify spi raw file, to make experimenting with it easier.

```sh
$ ./littlefs-do --help
Usage: ./littlefs-do <command> [options]
Commands:
  -h, --help           show this help message for the selected command and exit
  -v, --verbose        print status messages to the console
  stat                 show information of specified file or directory
  ls                   list available files in 'spiNorFlash.raw' file
  mkdir                create directory
  rmdir                remove directory
  rm                   remove directory or file
  cp                   copy files into or out of flash file
  settings             list settings from 'settings.h'
```

In the process restructure the CMake file for less duplicate
includes/defines for both executables (`infinisim` and `littlefs-do`).

Upload the `littlefs-do` binary built by the CI additionally to the `infinisim` binary.
Use the updated upload-artifact@v3 template to do that.
This commit is contained in:
NeroBurner
2022-08-29 12:05:21 +02:00
committed by GitHub
parent 741db4ea32
commit 9e15182af2
4 changed files with 774 additions and 56 deletions

View File

@@ -115,6 +115,26 @@ Using the keyboard the following events can be triggered:
- `i` ... take screenshot
- `I` ... start/stop Gif scren capture
## Littlefs-do helper
To help working with the SPI-raw file the tool `littlefs-do` is provided.
The SPI-raw file emulates the persistent 4MB storage available over the SPI bus on the PineTime.
```sh
$ ./littlefs-do --help
Usage: ./littlefs-do <command> [options]
Commands:
-h, --help show this help message for the selected command and exit
-v, --verbose print status messages to the console
stat show information of specified file or directory
ls list available files in 'spiNorFlash.raw' file
mkdir create directory
rmdir remove directory
rm remove directory or file
cp copy files into or out of flash file
settings list settings from 'settings.h'
```
## Licenses
This project is released under the GNU General Public License version 3 or, at your option, any later version.