硬汉嵌入式论坛

 找回密码
 立即注册
查看: 359|回复: 5
收起左侧

[FatFs] FATFS文件系统占用内存太大如何解决

[复制链接]

51

主题

103

回帖

256

积分

高级会员

积分
256
发表于 2025-10-18 12:35:28 | 显示全部楼层 |阅读模式
大家好,


我在FATFS中一调用f_open这个函数,编译时就会提示空间不足,感觉这个函数巨占内存。
后来我在cubeMX发现,只要一选“Enabled with dynamic working buffer on the STACK/HEAP", 然后调用f_open,内存和Flash就会被撑爆!关闭这个选择,选择disabled就没问题了!
但是选择disabled后,发现FA_EXFAT又被强制关闭了,意味着不能使用32GB以上的大容量卡了?
无标题.jpg

有没有好的办法解决呢?我都不知道它这个是哪里的STACK/HEAP,我记得我的AXI_SRAM空间还很大呀!
首次用FATFS,希望指点
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 2025-10-19 10:37:50 | 显示全部楼层
.S启动文件里面的heap和stack
回复

使用道具 举报

51

主题

103

回帖

256

积分

高级会员

积分
256
 楼主| 发表于 2025-10-20 10:54:03 | 显示全部楼层
eric2013 发表于 2025-10-19 10:37
.S启动文件里面的heap和stack

好的,那只能把系统heap加大了,感谢硬哥支持
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 7 天前 | 显示全部楼层
内存我没有怎么研究,flash 刚好我也遇到这个问题了,我的解决方法比较粗暴,因为按照别人的教程修改编码格式和移除cc936,会出现一些新的问题,所以我直接清空了cc936.c中 unicode-ome 两个数组,这样可以保留长文件名配置。清除字库所占用的170kb  flash,只不过无法使用中文了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 6 天前 | 显示全部楼层
elements 发表于 2025-11-14 13:36
内存我没有怎么研究,flash 刚好我也遇到这个问题了,我的解决方法比较粗暴,因为按照别人的教程修改编码格 ...

这样的话,直接使用英文的那个cc文件就行。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 前天 20:32 | 显示全部楼层
eric2013 发表于 2025-11-15 09:48
这样的话,直接使用英文的那个cc文件就行。

是的,但是我使用cubemx直接生成工程中,只包含了cc936.c文件,在FatFs官网上可能文件没有下载对,就没能替换成功,最终只能用一下笨方法,不是很优雅。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-21 20:53 , Processed in 0.042515 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表