案例分析-FATfs文件系统移植单片机内存不够问题分析和解决

stm32 FATFS文件系统如何减少Flash和RAM占用,FATFS移除中文文件名,FATFS移除动态内存 FATFS减少flash和ram的占用 阅读详情

在通过cubeMX自带的FATfs 文件系统在STM32F103C8T6上进行移植,正式调用后,发现系统报错,出现内存空间不足问题。如下:

更改更大容量的单片机进行编译,通过了

说明刚开始分析空间不够是对的,是flash不够还是RAM不够,我们看输出文件倒数第四行,算一算到底用了多少Flash,多少RAM呢,
Flash:(28744+444)/1024=28.5,差不多28.5k, (Code空间+RO只读空间)
RAM=(368+24688)/1024=24.4k,

这个系列的单片机只有20k,显然超过芯片的20k范围,说明是RAM超了。
接下来可以分析一下*.map文件,是哪些变量占用比较多RAM呢

一般是在list的目标文件输出路径:

可以看出是下面几个文件占用内存较大,做针对性处理(ZI Data 意思是有定义,但是没有初始化的变量,根据工程分析,可能是分配的空间太多了,需要调整)

调整婴喜爱文件系统分配的最大栈空间,如下

系统可以看到,编译通过了

立创梁山派--移植开源的SFUD和FATFS实现SPI-FLASH文件系统 对于fatfs的介绍,野火的教程中都有详细的介绍,这里就不再赘述了。其实它的移植是比较简单的,只需要修改diskio.c文件中的相关接口函数和ffconf.h配置文件。如果对你有所帮助的话,请给我点一个star,嘿嘿。对需要修改的函数进行说明。然后就可以开始进行测试啦。 阅读详情

相关推荐

Fatfs(文件系统的移植)

Fatfs(文件系统的移植)一、文件系统介绍二、移植条件、说明1、FatFs模块在可移植性方面设定了以下条件:2、数据类型说明3、系统框架三、文件移植操作四、接口的实现修改后的diskio.c对ffconf.h文件进行修改API查询五、测试使用头文件源文件 一、文件系统介绍 FatFs是用于小型嵌入式系统的通用 FAT / exFAT文件系统模块。FatFs模块是按照 ANSI C(C89)编写的,并且与磁盘 I / O层完全分开。因此,它独立于平台。它可以并入资源有限的小型微控制器中,例如8051,PIC

qq_45531642的博客 8520

FatFS文件系统在MCU上的应用

关注+星标公众号,不错过精彩内容转自 | 木南创智FatFS文件系统是单片机领域有名的一个文件系统,由于它的轻量级和兼容性,备受MCU开发者青睐。在实现如U盘文件读写,SD卡的文件读写等工作时,我们往往需要一个文件系统来支持我们的工作。特别在一些MCU应用中,文件系统的加入能明显改善系统交互的友好性。在这一篇中,我们就来讨论FatFS文件系统在STM32F4上的移植和应用。1、准备工作在开始Fat...

strongerHuang 761

FatFS文件系统详解-附移植建议

最近做的spi flash,本打算弄个文件系统,由于之前用过了JFFS、YAFFS和TrueFFS,代码量都相当的大,这次想找款代码量不那么吓人的,学习一下,听说配置会相对复杂一些。选来选去,最终选定了FatFS,代码量足够的小,最新的R0.09版本只有1个.c文件(当然,还有一

JuanA1的专栏 3万+

STM32单片机内存不够用处理办法

2、程序优化:对代码进行优化,可以通过减少乘除法的运算、提高数组的利用率、变量的范围尽量地缩小、将一些固定的代码数组存到ROM里等手段。1、物理手段:就是在外部添加RAM。

wangxiansheng121的博客 2895

FATFS文件系统详解之系统移植

FATFS文件系统移植

z1236464的博客 3274

STM32F1移植FATFS文件系统

为了使单片机能在复位或掉电重启后还能保存之前的参数或数据,就需要用到一些非易失存储器,如ROM、FLASH等,本文利用STM32F103的SPI功能挂接外部FLASH的方法实现该功能。 选用的FLASH参数及连接引脚如下: 关于STM32读写外部FLASH的程序可参考野火的相关教程,这里不再赘述。 STM32利用外部FLASH直接存储数据存在许多缺点,如难以记录有效数据的位置,难以确定 存储介质...

笔尖清风的博客 3094

文件系统FATFS的移植教程

FATFS文件系统官方:[link] 一、FATFS文件系统简介         FATFS是面向小型嵌入式系统的一种通用的FAT文件系统。它完全是由C语言编写并且完全独立于底层I/O介质。支持的内核有:8051、PIC、AVR、SH、Z80、H8、ARM等。FATFS支持FAT12、FAT16、FAT32等格式。 1.1 FatFs的目录结构 从上述官方下载FatFs源码,如下图所示:    &

qq_39778488的博客 3万+

elm FatFs文件系统移植总结

本文将根据我的一些理解,针对elm FatFs文件系统做一个初步总结。

放飞梦想,成就未来 1万+

FATFS文件系统详解

一、文件系统 负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。即在磁盘上组织文件的方法。 常用的文件系统: FAT / FATFS NTFS: 基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构 CDFS:CDFS是大部分的光盘的文件系统 exFAT FATFS文件系统 FATFS是一个完全免费开源的FAT 文件系统模块,专门为小型的嵌入式系统而设计。完全用标准C 语言编写,所以具有良好的硬件平台独立性。可以移植到8051、PIC、AVR、SH、Z80、H8、ARM

留小乙的博客 2万+

STM32的FATFS文件系统移植的debug过程

对于FATFS文件系统的移植,正点原子已经有比较完整的移植视频和相应源码。因此关于FATFS内部诸如diskio.c、ff.c和ffconf.h等文件的功能和修改这里就不再详述。博主在这里主要共享一下自己debug的一些过程(主要是针对FR_NO_FILESYSTEM),希望能让网友们在移植过程中少走一些弯路。首先,对于移植FATFS,必经的几个步骤我还是再这里概述一下。 1. 移植好官方提供的.

Eureka 6363

移植fatfs制作内存文件系统

这一实践不仅有助于理解FatFs的工作机制,也为开发者提供了一个高效测试和验证FatFs配置的平台。:使用f_open函数创建一个新文件或打开已存在的文件,然后使用f_write函数将数据写入文件。文件进行了微调,并将不同的设备驱动,放在别的文件了(利于软件分层)。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!点击图中的橙色框,进行下载,注意下载的为R0.15版本。文件中,这个版本的fatfs提供了三种类型的驱动接口,暂无,可以关注我的B站账号等待更新。

zhuzhu的博客 1292

STM32FATFS文件系统移植

基于FATFS0.15、STM32F103VET6标准库、W25Q64SPIFLASH的文件系统移植

m0_66907072的博客 4088

stm32f103c8t6_FATFS V0.09A-SD Card.zip

stm32f103c8t6 SDCard例程 1、FATFS 中文长文件名 2、解决stm32空间不足不能存储中文编码的问题(更改ff_convert 函数,使用自定义需要的中文编码) 3、SD卡为SPI模式 支持SDCH卡 4、内附FATFS V0.09A官方未改动源码压缩包 5、FATFS V0.09A中文手册

STM32移植FatFS文件系统最新版R0.14b

STM32移植FATFS文件系统 目录一、前言二、硬件及软件准备三、移植FATFS文件到工程文件夹下四、将移植文件添加到工程中五、修改“diskio.c”文件六、配置“ffconf.h”文件七、测试FATFS移植是否成功八、说明&完整工程下载 一、前言 二、硬件及软件准备 1、硬件:STM32系列单片机 2、软件:Keil5、FATFS文件系统开源库、正点原子《实验24 SPI实验》(外部FLASH实验)代码 FATFS文件系统开源库下载:http://elm-chan.org/fsw/ff/arc

qq_44062900的博客 1万+

Cesium高效渲染海量GeoJSON数据的7种优化策略与实战解析

本文深入解析Cesium高效渲染海量GeoJSON数据的7种优化策略,包括瓦片化转换、LOD分级加载、数据简化等关键技术。通过实战案例展示如何解决渲染卡顿问题,提升矢量数据加载性能,实现流畅的60FPS交互体验。特别针对GeoJSON大数据量场景提供完整优化方案。

h0i1j2k3l的博客 934

孤读paper——《GhostNet:More Features from Cheap Operations》

《GhostNet:More Features from Cheap Operations》   发现一个点并解决就是一篇CVPR,该文章主要发现了优秀的网络的特点是feature map提取过程中的冗余性,这种冗余性体现在很多成对的feature map间很像,就好像彼此的“ghost”,而这种特征冗余性对于理解图像来说还是必要的,所以文章把feature map分为两种,一种是本质特征,一...

雄关漫道真如铁 而今迈步从头越 5151

STM32文件系统移植FATFS

STM32文件系统移植FATFS 1.简介   FatFs 是用于小型嵌入式系统的通用 FAT/exFAT 文件系统模块。FatFs 模块是按照 ANSI C (C89) 编写的,与磁盘 I/O 层完全分离。因此它独立于平台。它可以集成到资源有限的小型微控制器中,例如 8051、PIC、AVR、ARM、Z80、RX 等。    特征 DOS/Windows 兼容 FAT/exFAT 文件系统。 平台独立。易于移植。 程序代码和工作区的占用空间非常小。 支持的各种配置选项:  支持多卷(物理驱动器

weixin_44453694的博客 4287

4G+GNSS定位模块DX-CT511N-B:AT指令实战与多协议通信指南

本文详细介绍了4G+GNSS定位模块DX-CT511N-B的AT指令实战应用与多协议通信配置。内容涵盖TCP/UDP通信、MQTT协议集成、HTTP服务交互以及GNSS定位功能的深度解析,为开发者提供从基础指令到高级调试的完整指南,助力物联网设备开发。

hope8的博客 289

FATFS文件系统原理及其移植详解

本文详细讲述了FATFS嵌入式文件系统的基本原理及其详细移植过程,对新手小白有借鉴意义,大神可以忽略。

Leon的博客 2414

RV1126B芯片实战:如何用这款视觉处理器SoC打造你的第一个AI摄像头项目

本文详细介绍了如何利用瑞芯微RV1126B视觉处理器SoC从零构建AI摄像头项目。涵盖硬件选型、开发环境搭建、ISP配置、AI模型部署及系统集成等关键步骤,帮助开发者高效实现边缘计算方案,特别适合智能安防和工业检测应用。

dropout6artist的博客 931

当版图同学只给GDS文件时,我是这样用Calibre PEX和Cadence做后仿真的(保姆级避坑)

本文详细介绍了在模拟IC设计中,当仅获得GDS文件时,如何利用Calibre PEX和Cadence进行高效后仿真的完整流程。涵盖从寄生参数提取到Spectre模型创建的实战技巧,特别针对版本兼容性、文件独立性和参数可调性等常见问题提供解决方案,帮助工程师规避协作中的典型陷阱。

weixin_42556197的博客 243

FATFS文件系统

FATFS文件系统

qq_64531765的博客 7015

【ComfyUI】FluxKontext 身形调优与体态增强

AI身形调优与体态增强解决方案 该工作流通过Flux系列模型实现人物体态的智能化增强,主要特点包括: 采用UNet主体模型+双文本编码器+身形增强LoRA的架构组合 通过ReferenceLatent保持原始姿态的同时强化胸腰臀比例 完整工作流包含图像加载、文本编码、潜空间映射等8个核心节点 支持自动化的前后效果对比展示 应用优势: 保持人物自然姿态的前提下实现局部强化 支持通过Prompt精确控制增强方向 适用于摄影后期、角色美化等创作场景 输出效果稳定且风格统一 使用方

Mr数据杨 1296
上一篇: 温湿度记录仪-技术预研(使用STM32+SPI Flash模拟U盘)
下一篇: 通信数据记录仪-产品概念ID
阡陌赋能
博客等级 码龄15年 90粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值