26#define TAG "flashdb_example"
28#define KVDB_NAME CONFIG_PORT_FDB_XF_FAL_KVDB_PARTITION_NAME
29#define TSDB_NAME CONFIG_PORT_FDB_XF_FAL_TSDB_PARTITION_NAME
36static void lock(fdb_db_t db);
37static void unlock(fdb_db_t db);
55 CONFIG_PORT_FDB_XF_FAL_KVDB_PARTITION_NAME,
56 CONFIG_PORT_FDB_XF_FAL_FLASH_NAME,
57 CONFIG_PORT_FDB_XF_FAL_KVDB_PARTITION_OFFSET,
58 CONFIG_PORT_FDB_XF_FAL_KVDB_PARTITION_LENGTH,
61 CONFIG_PORT_FDB_XF_FAL_TSDB_PARTITION_NAME,
62 CONFIG_PORT_FDB_XF_FAL_FLASH_NAME,
63 CONFIG_PORT_FDB_XF_FAL_TSDB_PARTITION_OFFSET,
64 CONFIG_PORT_FDB_XF_FAL_TSDB_PARTITION_LENGTH,
72 {
"username",
"armink", 0},
73 {
"password",
"123456", 0},
78static struct fdb_kvdb
kvdb = {0};
137 struct fdb_default_kv default_kv;
142 fdb_kvdb_control(&
kvdb, FDB_KVDB_CTRL_SET_LOCK,
lock);
143 fdb_kvdb_control(&
kvdb, FDB_KVDB_CTRL_SET_UNLOCK,
unlock);
153 fdb_ret = fdb_kvdb_init(&
kvdb,
"env",
KVDB_NAME, &default_kv, NULL);
155 if (fdb_ret != FDB_NO_ERR) {
171 fdb_tsdb_control(&
tsdb, FDB_TSDB_CTRL_SET_LOCK,
lock);
172 fdb_tsdb_control(&
tsdb, FDB_TSDB_CTRL_SET_UNLOCK,
unlock);
185 fdb_tsdb_control(&
tsdb, FDB_TSDB_CTRL_GET_LAST_TIME, &
counts);
187 if (fdb_ret != FDB_NO_ERR) {
xf_err_t xf_fal_deinit(void)
反初始化 FAL.
xf_err_t xf_fal_init(void)
初始化 FAL.
void xf_fal_show_part_table(void)
打印分区表信息。
xf_err_t xf_fal_register_partition_table(const xf_fal_partition_t *p_table, size_t table_len)
注册一个分区表到 xf_fal 中。
void * xf_osal_mutex_t
互斥锁句柄。
xf_err_t xf_osal_mutex_release(xf_osal_mutex_t mutex)
释放互斥锁。
xf_err_t xf_osal_mutex_acquire(xf_osal_mutex_t mutex, uint32_t timeout)
获取互斥锁。
xf_osal_mutex_t xf_osal_mutex_create(const xf_osal_mutex_attr_t *attr)
创建并初始化互斥锁。
#define XF_OSAL_WAIT_FOREVER
#define XF_CHECK(condition, retval, tag, format,...)
xfusion 检查宏(条件 成立 时则输出日志后返回)。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
#define ARRAY_SIZE(arr)
ARRAY_SIZE - 获取数组 arr 中的元素数量。
void kvdb_basic_sample(fdb_kvdb_t kvdb)
static void lock(fdb_db_t db)
static fdb_time_t get_time(void)
void tsdb_sample(fdb_tsdb_t tsdb)
static int flashdb_demo(void)
void kvdb_type_string_sample(fdb_kvdb_t kvdb)
static void unlock(fdb_db_t db)
static uint32_t boot_count
static struct fdb_kvdb kvdb
static struct fdb_default_kv_node default_kv_table[]
void kvdb_type_blob_sample(fdb_kvdb_t kvdb)
static const xf_fal_partition_t sc_default_flash_fdb_partition_table[]
使用默认分区的空间注册一个提供给 FlashDB 使用的分区表。
static time_t boot_time[10]
static xf_osal_mutex_t s_mutex
#define XF_LOGI(tag, format,...)
#define XF_LOGE(tag, format,...)