SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录

时间:2021-08-23 21:24:31

SFUD+FAL+EasyFlash典型场景需求分析:用整个flash存储数据,上千条数据,读取得时候用easyflash很慢,估计要检索整个flash太慢了。

改进方法:分区检索。

1存数据时,根据数据特征进行划分,划分到特定的某个区,分区存储这些数据。

2检索数据时,首先根据待检索数据的特征,获取具体需要检索哪个分区。然后在该分区内使用easyflash提供的kv查询接口进行检索。

SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录

/***********************************************下面开始实操  FAL部分Start*****************************************************************************/

FAL的git地址 https://github.com/RT-Thread-packages/fal      

通过ENV配置  FAL对接SFUD时  的注意事项

SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录

源码内增加部分代码:向FAL_FLASH_DEV_TABLE和FAL_PART_TABLE添加存储设备的信息,并调用fal_init()。

SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录

如何在ENV内配置FAL?配置很简单。  因为我们要使用FAL对接SFUD(参考本博文的第一幅代码层次框架图), 所以要先配置好SFUD。

SFUD配置可以参考我的另一篇文章:  https://www.cnblogs.com/happybirthdaytoyou/p/11924291.html

再来配置FAL:

SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录

fal 提供了丰富的测试命令,项目只要在 RT-Thread 上开启 Finsh/MSH 功能即可。

在做一些基于 Flash 的应用开发、调试时,这些命令会非常实用。它可以准确的写入或者读取指定位置的原始 Flash 数据,快速的验证 Flash 驱动的完整性,甚至可以对 Flash 进行性能测试。

SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录

/***********************************************下面开始实操  FAL部分OVER****************************************************************************/

/***********************************************下面开始实操 EasyFlash部分Start*****************************************************************************/

/***********************************************下面开始实操 EasyFlash部分OVER***************************************************************************/