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

两个不同的flash如何设置FDB_WRITE_GRAN #214

Open GarMingLi opened 1 year ago

GarMingLi commented 1 year ago

项目中使用到Flash-DB,划分了多个分区,有的分区在SPI_Flash芯片上,有的分区在内部flash上。现在的问题是:内部flash的写入颗粒度是4字节(32bit),而SPI-Flash的写入颗粒度是1bit,如何配置FDB_WRITE_GRAN?我配置成1后,由于内部flash的写函数必须4字节对齐,但是使用过程中,有些数据的写入,fal_partition_write函数传入的地址参数和大小参数,都不是4字节对齐的,这会导致内部flash的写入失败,如何解决?

armink commented 1 year ago

按照大的值,4字节对齐就行

GarMingLi commented 1 year ago

按照大的值,4字节对齐就行

如果按最大的值,SPI-FLash的的效率会不会受到影响的?

armink commented 1 year ago

多少会有一些,可以实测一下