RT-Thread驱动之路: Studio创建FAL分区⑤


      开篇分割线,上一篇我们聊了SFUD挂载flash设备的组件,说白了就是为了适配各种类型的flash用于读写、擦除操作,接下来我们来讲一下fal分区,关于fal的概念很重要,实际上它有不一定非要基于RTOS实现裸机也一样,那么fal到底是什么呢?

      FAL (Flash Abstraction Layer) Flash 抽象层,是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及 分区操作的 API (框架图如下所示):

      想想windows系统中的ABCD盘,其实就是fal分区的结果,比如插入一个U盘以后会自动挂在为一个新的分区,当然如果没有分过区它可能不识别或者提示为请先进行分区操作,在我们的rtos中它需要的操作就是fal_init();

      当我们对于flash类型的设备(片内或片外)完成分区以后,就可以建立文件系统或者是flash数据库,用于服务应用程序,下一篇我们就来讲一下flashdb数据库的应用(扯远了继续我们的fal大业)。

      1. 接下来就进入实战时基于studio创建fal分区:

      2. 完成fal组件的添加后,尝试编译整个工程,编译结果如下:

     3. 编译结果提示无法找到fal_cfg.h文件,这个文件是需要我们手动创建的,也就是所谓的分区表:

      4.完成分区表的创建后,调用fal_init(),完成分区功能:

      下载程序到板子里面,我么你可以看到绿色部分有SFUD初始化成功及FAL分区表创建完成的提示,我们可以在msh明令中调用fal操作对应的分区,本篇文章就到这里结束了,感谢阅读。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 2
收藏 3
关注 147
成为作者 赚取收益
全部留言
0/200
  • chaochao1545 01-02 08:35
    围观学习
    回复