Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
flashDB
FlashDb在F103上使用报错的问题
发布于 2021-09-23 07:21:57 浏览:971
订阅该版
先上配置: FAL ```c /* ===================== Flash device Configuration ========================= */ extern const struct fal_flash_dev stm32_onchip_flash; /* flash device table */ #define FAL_FLASH_DEV_TABLE \ { \ &stm32_onchip_flash \ } /* ====================== Partition Configuration ========================== */ #ifdef FAL_PART_HAS_TABLE_CFG /* partition table */ #define FAL_PART_TABLE \ { \ {FAL_PART_MAGIC_WORD, "easyflash", "onchip_flash", 120*1024, 8*1024, 0}, \ } #endif /* FAL_PART_HAS_TABLE_CFG */ ``` flashDB ```c /* using KVDB feature */ #define FDB_USING_KVDB extern void rt_kprintf(const char *fmt, ...); #define FDB_PRINT(...) rt_kprintf(__VA_ARGS__) /* print debug information */ #define FDB_DEBUG_ENABLE ``` 初始化启动 ![image.png](https://oss-club.rt-thread.org/uploads/20210923/39c7ecd8f0fb6c7f323d5775e4e1967c.png) 重启写入数据 ![image.png](https://oss-club.rt-thread.org/uploads/20210923/0b3adc5d1c1b1f3a010f64bf6ab0fc17.png) ![image.png](https://oss-club.rt-thread.org/uploads/20210923/8a4b7e77a932981b20e6e17986e445f7.png) ![image.png](https://oss-club.rt-thread.org/uploads/20210923/c6812b2c7dc37ebbda9c559ddda55f45.png) 通过下面的配置,解决了错误问题: ![image.png](https://oss-club.rt-thread.org/uploads/20210923/32fd9f9da950e99487283cf8e0040e57.png.webp) 估计错误产生的原因:默认的扇区大小为1024字节,而我写入的字节数量超过了1024字节(超过了一个扇区),从而需要跨扇区存储。 ![image.png](https://oss-club.rt-thread.org/uploads/20210923/7691ed63f91ee3e5fda4e4a9876f4180.png.webp) 按照flashDB的说明: flashDB内部有N个扇区组成(至少有1个) 1个扇区由N个Flash块组成 KVDB默认情况下: 1个Flash块=1个扇区 此时如果存储的数据长度超过了1个扇区大小,那么就无法存入(我的flash块大小为1024字节=1扇区,我存入的数据是超过1k的)。那么此时怎么办? 修改1个扇区占用的flash块数量:secSize = 1024*4//设置1个扇区占4个flash块 **得到如下结论:** **使用flashDB KVDB(其他类型未测试)存储数据时,要知道你存储的数据大体是多少字节,要是否超过了1个扇区的存储能力** 那么现在的问题就有点意思了: FlashDB有N个扇区,但是KVDB在存储时又要求存储的数据不能超过1个扇区的大小;那么此时剩下的N-1个扇区用来做什么用呢?????????????????????
查看更多
1
个回答
默认排序
按发布时间排序
itdreamworks
2021-09-23
求一硬件开发工程师合作
通过下面的配置,暂时解决了错误问题: ![image.png](https://oss-club.rt-thread.org/uploads/20210923/f8cc924f6d647c35b41a3732dbfcf8b0.png.webp) **估计**错误产生的原因:默认的扇区大小为1024字节,而我写入的字节数量超过了1024字节(超过了一个扇区),从而需要跨扇区存储。 ![image.png](https://oss-club.rt-thread.org/uploads/20210923/fa4a99652732badc1d0d08133d6502c7.png.webp)
撰写答案
登录
注册新账号
关注者
0
被浏览
971
关于作者
itdreamworks
求一硬件开发工程师合作
提问
16
回答
9
被采纳
0
关注TA
发私信
相关问题
1
flashDB有两个变量未定义?
2
FlashDB 初始化时出现 check failed
3
FlashDB初始化isn't initialize OK
4
FlashDB在哪里修改版本号实现自动更新?
5
flashDB重复更新同一个参数的问题
6
flashDB kv ts 最大存储字节在哪里设置
7
操作flashDB时thread 提示error -2 超时
8
flashdb 断言错误问题求解
9
FlashDB没法选择版本
10
flashdb出现moved kv日志后,再去查询发现数据有丢失
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
EtherKit快速上手PROFINET
2
RTThread USB转串口无法接收数据
3
HC32F4A0 SD卡挂载及热插拔的实现
4
vscode插件 - RT-Thread Studio项目助手 | 跨平台开发
5
Console串口使用说明
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
812
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部