armink / FlashDB

An ultra-lightweight database that supports key-value and time series data | 一款支持 KV 数据和时序数据的超轻量级数据库
Apache License 2.0
1.84k stars 426 forks source link

KVDB Demo 运行出错 #284

Closed novolife closed 6 months ago

novolife commented 6 months ago

首先是Basic Demo

fdb_kv_get_blob(kvdb, "boot_count", fdb_blob_make(&blob, &boot_count, sizeof(boot_count)));

这一条执行之后返回的执行结果fdb_err_t是正确的,但是blob.saved.len为 0,即未读取到。

以下文件是该demo对芯片的读写操作,从 10076行 开始:

fdb.log

读错误出现在 12112 行,02 开头的是 写 + 3bytes 地址 + 数据;03 开头的是 读 + 3bytes 地址,跟着的是返回数据。

限于安全性措施我无法对该文件进行精简,还请谅解。

同样的还有blob Demo,我去掉了最后的删除,把读取移到创建之前,结果同样是无法读取,但是创建后再读取就成功了。

读取返回的数据里明显有boot_count字样,但是为何会读取失败呢?这一点不太清楚,希望能给予帮助。

00> sfud: Send: 00> 00> sfud: 03 00 00 10 |....
00> 00> sfud: Recv: 00> 00> sfud: 0F FF FF FF 4B 56 30 30|....KV00 00> 00> sfud: 26 00 00 00 4E F6 DE EF|&...N... 00> 00> sfud: 0A FF FF FF 04 00 00 00|........ 00> 00> sfud: Send: 00> 00> sfud: 03 00 00 28 |...(
00> 00> sfud: Recv: 00> 00> sfud: 62 6F 6F 74 5F 63 6F 75|boot_cou 00> 00> sfud: 6E 74 00 00 00 00 |nt....

novolife commented 6 months ago

刚才福至心灵,把#define FDB_BIG_ENDIAN关了,然后现在正常了😅,麻烦检查一下