SUPER_CRJ 发表于 2022-1-28 13:31:42

Littlefs文件系统有没有好的学习资料或者教程?

用STM32挂了个W25Q-SPI FLASH
发现:Littlefs非常适合我的应用,但是之前也没有用过相关的文件系统类。感觉稍微有点吃力,准备找教程学一下。
但是:
网上,不是移植就是简单demo或者最好就是解释函数含义,讨论的相对比较少。所以想请教有没有相关方便学习和实践的资料。

Littlefs的优点:
移植就4个文件,特别简单,不像有的移植,一大堆报错。
支持磨损均衡
支持坏块管理
支持掉电恢复到上次正确文件

Merisy 发表于 2022-1-28 13:55:05

肯自带的说明文档

我是一个大白菜 发表于 2023-2-26 23:23:47

大神,我最近也想移植这个库,下载的2.5.1的版本,就把4个文件放到工程里,然后参考网上的例子:http://45.63.87.5/blog/0016158609413907d88a905664045ab84e4dc7efd49e4a2000
编译后提示了这个错误:
..\Output\at32_bootloader.axf: Error: L6406E: No space in execution regions with .ANY selector matching semi.o(.text).
..\Output\at32_bootloader.axf: Error: L6406E: No space in execution regions with .ANY selector matching iusesemip.o(.text).
..\Output\at32_bootloader.axf: Error: L6407E: Sections of aggregate size 0x2f4c bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 231 error messages.
"..\Output\at32_bootloader.axf" - 231 Error(s), 1 Warning(s).
Target not created.
Build Time Elapsed:00:00:02

能帮忙分析一下是哪里的问题吗,找了一圈没找到跟我一样的问题

SUPER_CRJ 发表于 2023-2-27 08:04:21

我是一个大白菜 发表于 2023-2-26 23:23
大神,我最近也想移植这个库,下载的2.5.1的版本,就把4个文件放到工程里,然后参考网上的例子:http://45. ...
(引用自3楼)

你这个问题像是:单片机的存储不够吧。
我的移植挺简单的。几乎没有报错,完全就是日后的使用问题。

我是一个大白菜 发表于 2023-2-27 16:03:15

SUPER_CRJ 发表于 2023-2-27 08:04
你这个问题像是:单片机的存储不够吧。
我的移植挺简单的。几乎没有报错,完全就是日后的使用问题。 ...
(引用自4楼)

是我设置问题,原来的0x4000=16KB,太小了,改成0x40000就好了,谢谢指导

shishu 发表于 2023-3-2 10:52:59

我是一个大白菜 发表于 2023-2-26 23:23
大神,我最近也想移植这个库,下载的2.5.1的版本,就把4个文件放到工程里,然后参考网上的例子:http://45. ...
(引用自3楼)

你这个代码没问题了只是没有ram空间了你修改配置把一些全局变量数组减小一点 或者改startup.s把堆的大小改小点   把栈适当改小点看看能不能编译通过

我是一个大白菜 发表于 2023-3-2 11:42:28

shishu 发表于 2023-3-2 10:52
你这个代码没问题了只是没有ram空间了你修改配置把一些全局变量数组减小一点 或者改startup.s把堆 ...
(引用自6楼)

嗯,已经可以了,我先是修改了芯片型号,选择flash大的版本就可以编译通过,然后我仔细对比不同才发现是原来的工程设置的flash大小错误导致了编译出错。同时我在测试功能的时候,发现第一次运行格式化spi-flash会进入hard 错误,通过调大堆的大小,解决了,接下去就是测测稳定性和读写的性能了,谢谢指导
页: [1]
查看完整版本: Littlefs文件系统有没有好的学习资料或者教程?