SFUD+FAL+EasyFlash典型场景需求分析:用整个flash存储数据,上千条数据,读取得时候用easyflash很慢,估计要检索整个flash太慢了。
改进方法:分区检索。
1存数据时,根据数据特征进行划分,划分到特定的某个区,分区存储这些数据。
2检索数据时,首先根据待检索数据的特征,获取具体需要检索哪个分区。然后在该分区内使用easyflash提供的kv查询接口进行检索。
/***********************************************下面开始实操 FAL部分Start*****************************************************************************/
FAL的git地址 https://github.com/RT-Thread-packages/fal
通过ENV配置 FAL对接SFUD时 的注意事项
源码内增加部分代码:向FAL_FLASH_DEV_TABLE和FAL_PART_TABLE添加存储设备的信息,并调用fal_init()。
如何在ENV内配置FAL?配置很简单。 因为我们要使用FAL对接SFUD(参考本博文的第一幅代码层次框架图), 所以要先配置好SFUD。
SFUD配置可以参考我的另一篇文章: https://www.cnblogs.com/happybirthdaytoyou/p/11924291.html
再来配置FAL:
fal 提供了丰富的测试命令,项目只要在 RT-Thread 上开启 Finsh/MSH 功能即可。
在做一些基于 Flash 的应用开发、调试时,这些命令会非常实用。它可以准确的写入或者读取指定位置的原始 Flash 数据,快速的验证 Flash 驱动的完整性,甚至可以对 Flash 进行性能测试。
/***********************************************下面开始实操 FAL部分OVER****************************************************************************/
/***********************************************下面开始实操 EasyFlash部分Start*****************************************************************************/
/***********************************************下面开始实操 EasyFlash部分OVER***************************************************************************/