美文网首页
rtthread利用flash挂载littlefs文件系统

rtthread利用flash挂载littlefs文件系统

作者: jevian | 来源:发表于2022-02-06 08:05 被阅读0次

    littlefs是用于嵌入式的文件系统。特点是对资源消耗小,可用于小容量的flash,小沃最新产品利用片上flash挖出了一部分空间实现片上flash的littlefs挂在并编辑。

    现在就讲讲如何实现的。

    1、启动片上flash的使用

    方法为通过menuconfig启动on-chip FLASH。

    Hardware Drivers Config -> On-chip Peripheral Drivers -> Enable on-chip FLASH

    2、下载线上的fal库与littlefs库

    方法为通过menuconfig下载并启动fal库。

    RT-Thread online packages -> system packages -> fal -> version -> v0.5.0

    RT-Thread online packages -> system packages -> Littlefs -> Version -> v2.3.0

    3、关闭fal库不必要的log

    方法为通过menuconfig关闭fal库的log。

    RT-Thread online packages -> system packages -> fal -> Enable debug log output

    4、修改littlefs库的enable wear leveling,默认为-1

    方法为通过menuconfig修改littlefs库的enable wear leveling值,该值必须修改,因为flash有复写数量限制。

    RT-Thread online packages -> system packages -> Littlefs -> lfs enable wear leveling

    5、启动nor flash的mtd驱动

    方法为通过menuconfig添加Nor flash的mtd驱动

    RT-Thread Components -> Device Drivers -> Using MTD Nor Flash device drivers

    6、启动文件系统管理

    方法为通过menuconfig启动,同时启动romfs,用于根文件系统。根文件系统中创建一个storage的文件夹,方便用于mount littlefs。

    RT-Thread Components -> Device Device virtual file system -> Enable ReadOnly file system on flash

    7、修改分区大小

    完成修改后,保存配置,运行pkgs --update,这样在bsp目录的board/ports下会创建一个fal_cfg.h文件,分区表大小在这里。

    8、最后main文件需要先mount romfs,然后再mount littlefs

    注意,这里几个storage要统一,第6步分区叫storage,那么fal_mtd_nor_device_create、dfs_mount、dfs_mkfs的参数都必须是storage。

    dfs_mount的第二个参数必须是romfs中存在的文件夹。

    相关文章

      网友评论

          本文标题:rtthread利用flash挂载littlefs文件系统

          本文链接:https://www.haomeiwen.com/subject/zucukrtx.html