55 lines
2.1 KiB
Markdown
55 lines
2.1 KiB
Markdown
# Configuration
|
|
|
|
When using FlashDB, you can configure its functions through `fdb_cfg.h`. The file template is located in the `inc` directory, or you can copy it in the specific demo project. Let's introduce the configuration details in detail below
|
|
|
|
## FDB_USING_KVDB
|
|
|
|
Enable KVDB feature
|
|
|
|
### FDB_KV_AUTO_UPDATE
|
|
|
|
Enable KV automatic upgrade function. After this function is enabled, `fdb_kvdb.ver_num` stores the version of the current database. If the version changes, it will automatically trigger an upgrade action and update the new default KV collection to the current database.
|
|
|
|
## FDB_USING_TSDB
|
|
|
|
Enable TSDB feature
|
|
|
|
## FDB_USING_FAL_MODE
|
|
|
|
Enable FAL mode, partition in FAL is used to store the database. In this mode, FlashDB directly operates Flash, so performance is better.
|
|
|
|
## FDB_USING_FILE_POSIX_MODE
|
|
|
|
Using POSIX file mode, you need to provide an open/read/write/close related file access interface.
|
|
|
|
## FDB_USING_FILE_LIBC_MODE
|
|
|
|
Using the file mode of the C standard library, you need to provide a fopen/fread/fwrte/fclose related file access interface.
|
|
|
|
> FDB_USING_FILE_LIBC_MODE and FDB_USING_FILE_POSIX_MODE mode can ONLY be one. Compared to FAL mode, the storage location, size and quantity of the database in the file mode are not limited.
|
|
|
|
## FDB_WRITE_GRAN
|
|
|
|
Flash write granularity, the unit is bit. Currently supports
|
|
|
|
- 1: nor flash
|
|
- 8: stm32f2/f4 on-chip Flash
|
|
- 32: stm32f1 on-chip Flash
|
|
|
|
If multiple Flash specifications are used in the database, for example: both nor flash and stm32f4 on-chip Flash, the maximum value is used as the configuration item, namely: 8 bit
|
|
|
|
## FDB_BIG_ENDIAN
|
|
|
|
MCU small-endian configuration, when the default is not configured, the system automatically uses the small-endian configuration
|
|
|
|
## FDB_PRINT(...)
|
|
|
|
The print function macro defines the configuration. When it is not configured by default, using `printf` as the print log is the output function. Users can also customize new print function macro definitions, for example:
|
|
|
|
```C
|
|
#define FDB_PRINT(...) my_printf(__VA_ARGS__)
|
|
```
|
|
|
|
## FDB_DEBUG_ENABLE
|
|
|
|
Enable debugging information output. When this configuration is closed, the system will not output logs for debugging. |