Pinned
Activity
armink push armink/FlashDB
commit sha: 03500fa92568a0fba944ed44877fb72ec74fd90c
push time in 4 days agoarmink push armink/FlashDB
commit sha: e3b1beed2b005ec34b8e4fa22a7626e64cd05641
push time in 4 days agoarmink pull request armink/FlashDB
Mike tuev patch reverse iterator
tsdb: add reverse iterator and struct packing
armink issue comment armink/FlashDB
Mike tuev patch reverse iterator
tsdb: add reverse iterator and struct packing
@MikeTuev seems not respond. I merge first then
- remove the
#pack
later - fix build error
armink issue comment armink/FlashDB
配置关闭cache,编译失败
版本为最新的release 1.1.2(7062902a3e7b6b8a7e8f5886ae242271a0164e05)
复现方法: fdb_cfg.h中配置
#define FDB_KV_CACHE_TABLE_SIZE 0
#define FDB_SECTOR_CACHE_TABLE_SIZE 0
编译报错
flashdb/src/fdb_kvdb.c:1486: undefined reference to `update_kv_cache'
最新 master 应该没问题了,可以更新测试一下
armink merge to RT-Thread/rt-thread
[simulator] avoid conflicts between winsock.h and sys/time.h
拉取/合并请求描述:(PR description)
[
Squash信息:
解决掉了开启SAL vs 模拟器报错的问题,为winsock对接sal做出准备。
搭出winsock对接模板,af_inet_winsock.c
整理sal Kconfig逻辑
重命名sal.h为sal_low_lvl.h 防止sal.h与微软的头文件重名冲突
https://github.com/RT-Thread/rt-thread/issues/5808 ]
以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。 The following content must not be changed in the submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use a web browser to visit PR, and check items one by one, and ticked them if no problem.
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
- 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
- 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
- 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
- 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
- 没有垃圾代码,代码尽量精简,不包含
#if 0
代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up - 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
- 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
- 本拉取/合并请求代码是高质量的 Code in this PR is of high quality
- 本拉取/合并使用formatting等源码格式化工具确保格式符合RT-Thread代码规范 This PR complies with RT-Thread code specification
armink issue comment armink/EasyLogger
默认没有颜色输出的问题
在使用时默认没有颜色输出,查看代码发现默认是关闭颜色输出的,及时定义了ELOG_COLOR_ENABLE,跟逻辑上有点不符啊,希望定义该宏后能默认打开颜色输出。
嗯,比较赞同的,你方便提一下 PR 吗?
armink issue comment armink/FlashDB
kvdb插入三万条记录的性能问题
hi 我们有个门禁卡的项目想使用flashdb, 我们想用kvdb来存储每个 门禁卡的信息,一台设备大约需要最多存储三万条数据。 我做了个简单的实验想在flash中插入三万条记录做测试: for (count = 1; count < 30000; count++) { snprintf(key,128,"%010d", count); snprintf(val,128,"2023-08-11 14:39 %8d", count); fdb_kv_set(&kvdb, key, val); LOG_D("insert [%d]", count); } 测试发现插入非常非常慢(我等了三四个小时三万条数据也没加完),而且会经常打印 GC XXXXX类似的信息 请问是我使用方式不对吗? 另外还想请问,三万条数据中检索 key的性能如何?
Regards,
robo
是的,多个分区
armink issue comment armink/FlashDB
kvdb插入三万条记录的性能问题
hi 我们有个门禁卡的项目想使用flashdb, 我们想用kvdb来存储每个 门禁卡的信息,一台设备大约需要最多存储三万条数据。 我做了个简单的实验想在flash中插入三万条记录做测试: for (count = 1; count < 30000; count++) { snprintf(key,128,"%010d", count); snprintf(val,128,"2023-08-11 14:39 %8d", count); fdb_kv_set(&kvdb, key, val); LOG_D("insert [%d]", count); } 测试发现插入非常非常慢(我等了三四个小时三万条数据也没加完),而且会经常打印 GC XXXXX类似的信息 请问是我使用方式不对吗? 另外还想请问,三万条数据中检索 key的性能如何?
Regards,
robo
这种最好分库来存
armink push RT-Thread/env
commit sha: cb678a5926b4c561ec5f4c4082218d3ba9ac50fc
push time in 1 week agoarmink issue comment RT-Thread/rt-thread
📋📌 v5.0.0 特性征集与讨论 | v5.0.0 discussion
v5.0.0是一个大版本发布,一些前期的准备也在推进,考虑到的部分包括:
- 更好的Cortex-A支持;
- 在Cortex-A上启用device tree,fdt代码大部分以软件包方式存在;
- 更好的64位支持;
- TCP/IP协议栈部分整体验证过,保证64位情况下都没问题;
- 文件系统相关的都进行验证通过;
- 完善整体的多核代码,特别是内核代码,核心组件(文件系统,网络协议栈,命令行)的多核支持;
- 合并rt-smart分支,尽可能的影响只涉及到
components/lwp
组件的情况即可支持MMU下全进程的特性;- 支持用户态下以rust方式编程;
- 支持用户态的rust egui移植(应用);
- 集成Flash管理组件,如FAL或类似的;
- 整理,梳理驱动框架、及bsp驱动命名规则。
其他请多多补充。
VS 模拟器上开启网络相关功能后存在编译错误:
- 打开 SAL 有错误
- 打开 LWIP 有错误
armink push armink-rtt-pkgs/CmBacktrace
commit sha: b2971113f8a9c7af976fe2802c1e7d6f4e5ec6f1
push time in 1 week agoarmink issue comment armink/FlashDB
LittleFS integration
It's a good opportunity to start to integrate also littlefs as FS.
Is it possible to directly add POSIX or LIBC file system support to LFS
armink issue comment armink/CmBacktrace
BL 和 BLx 指令在判断的时候减去的长度好像存在问题
disassembly_ins_is_bl_blx(pc - sizeof(size_t)) && (depth < size)) 这里的减4 应该只适用于BL 指令,在指向BL或者BLX 之前会把当前地址加上一个指令大小,BLx 指令应该是减去2吧?这里仅仅是我个人的看法,还没去验证,如果有错误,还请指导一下
参考一下 demo 文件下的示例吧
armink issue comment armink/CmBacktrace
BL 和 BLx 指令在判断的时候减去的长度好像存在问题
disassembly_ins_is_bl_blx(pc - sizeof(size_t)) && (depth < size)) 这里的减4 应该只适用于BL 指令,在指向BL或者BLX 之前会把当前地址加上一个指令大小,BLx 指令应该是减去2吧?这里仅仅是我个人的看法,还没去验证,如果有错误,还请指导一下
可以触发一下断言或 Hardfault 正好测试一下有没有效果哈
armink merge to armink/FlashDB
Mike tuev patch reverse iterator
tsdb: add reverse iterator and struct packing
armink wants to merge armink/FlashDB
Mike tuev patch reverse iterator
tsdb: add reverse iterator and struct packing
Yes, this will have compatibility issues.
armink issue comment armink/CmBacktrace
BL 和 BLx 指令在判断的时候减去的长度好像存在问题
disassembly_ins_is_bl_blx(pc - sizeof(size_t)) && (depth < size)) 这里的减4 应该只适用于BL 指令,在指向BL或者BLX 之前会把当前地址加上一个指令大小,BLx 指令应该是减去2吧?这里仅仅是我个人的看法,还没去验证,如果有错误,还请指导一下
你好,可否有时间验证一下呢
armink issue comment armink/FlashDB
TSDB without rollover corrupts database if all sectors are inuse
Hi,
i have a TSDB running on an ESP32 and i have disabled the rollover mechanism to keep my old data instead of overwriting it with new entries. When the flash partition is full, fdb_tsl_append
returns with FDB_SAVED_FULL
which is OK. But if i reboot my device, the database seems to be broken:
TSDB (log) oldest sectors is 0x00000FFF, current using sector is 0xFFFFFFFF.
And when i then try to read data, i receive the following error message:
[E/FAL] (fal_partition_read:415) Partition read error! Partition address out of bound.
My expected behaviour would be that the database will not accept new data until enough old data has been marked as deleted, so when new data is added, the freed sector can be deleted and reused. But i can't read the old data so cannot mark them as deleted.
OK, The FDB_TSDB_CTRL_SET_ROLLOVER
shoud before initialization. Can you change it and try again?
case FDB_TSDB_CTRL_SET_ROLLOVER:
/* this change MUST before database initialization */
FDB_ASSERT(db->parent.init_ok == false);
db->rollover = *(bool *)arg;
break;
armink issue comment armink/FlashDB
TSDB without rollover corrupts database if all sectors are inuse
Hi,
i have a TSDB running on an ESP32 and i have disabled the rollover mechanism to keep my old data instead of overwriting it with new entries. When the flash partition is full, fdb_tsl_append
returns with FDB_SAVED_FULL
which is OK. But if i reboot my device, the database seems to be broken:
TSDB (log) oldest sectors is 0x00000FFF, current using sector is 0xFFFFFFFF.
And when i then try to read data, i receive the following error message:
[E/FAL] (fal_partition_read:415) Partition read error! Partition address out of bound.
My expected behaviour would be that the database will not accept new data until enough old data has been marked as deleted, so when new data is added, the freed sector can be deleted and reused. But i can't read the old data so cannot mark them as deleted.
Can you confirm that the code on line 784 is executed?
armink issue comment armink/FlashDB
TSDB without rollover corrupts database if all sectors are inuse
Hi,
i have a TSDB running on an ESP32 and i have disabled the rollover mechanism to keep my old data instead of overwriting it with new entries. When the flash partition is full, fdb_tsl_append
returns with FDB_SAVED_FULL
which is OK. But if i reboot my device, the database seems to be broken:
TSDB (log) oldest sectors is 0x00000FFF, current using sector is 0xFFFFFFFF.
And when i then try to read data, i receive the following error message:
[E/FAL] (fal_partition_read:415) Partition read error! Partition address out of bound.
My expected behaviour would be that the database will not accept new data until enough old data has been marked as deleted, so when new data is added, the freed sector can be deleted and reused. But i can't read the old data so cannot mark them as deleted.
What version are you using
armink issue comment armink/EasyLogger
EasyLogger Error: no such instruction: `wfi'
你好,博主,能否提供一个集成到cmake,自己的Linux项目的示例呀,我把你的.h 和.cpp都复制到我自己的项目里,然后用cmake编译就出现这种问题了。
Error: no such instruction: wfi' /home/chen/libevent_server/third_party/include/core_cm3.h:1212: Error: no such instruction:
wfe'
third_party/CMakeFiles/easylogger.dir/build.make:989: recipe for target 'third_party/CMakeFiles/easylogger.dir/src/stm32f10x_pwr.c.o' failed
make[2]: *** [third_party/CMakeFiles/easylogger.dir/src/stm32f10x_pwr.c.o] Error 1
CMakeFiles/Makefile2:205: recipe for target 'third_party/CMakeFiles/easylogger.dir/all' failed
linux 有现成的 demo 哈,你对着 Makefile 看下,文件很少的
armink push armink/FlashDB
commit sha: c175635358c356e95034d6ff8cab12f40ae7a4b2
push time in 3 weeks agoarmink pull request armink/FlashDB
armink issue comment armink/FlashDB
Great!
armink push armink/FlashDB
commit sha: 76fff09a0a8d834880f54788000d3330ca06a147
push time in 3 weeks agoarmink push armink/FlashDB
commit sha: a7b33d810a3a273beec042a488f3812be7a627c4
push time in 3 weeks ago
[文档] 修正贡献代码指南对于日志使用的描述
拉取/合并请求描述:(PR description)
[ 这段方括号里的内容是您必须填写并替换掉的,否则PR不可能被合并。方括号外面的内容不需要修改,但请仔细阅读。 The content in this square bracket must be filled in and replaced, otherwise, PR can not be merged. The contents outside square brackets need not be changed, but please read them carefully.
请在这里填写您的PR描述,可以包括以下之一的内容:为什么提交这份PR;解决的问题是什么,你的解决方案是什么; Please fill in your PR description here, which can include one of the following items: why to submit this PR; what is the problem solved and what is your solution;
并确认并列出已经在什么情况或板卡上进行了测试。 And confirm in which case or board has been tested. ]
以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。 The following content must not be changed in the submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use a web browser to visit PR, and check items one by one, and ticked them if no problem.
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0
代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up