历史上的今天
返回首页

历史上的今天

今天是:2024年10月25日(星期五)

正在发生

2021年10月25日 | stm32专题十九:FatFs文件系统简介

2021-10-25 来源:eefocus

在上一篇博客中,是使用SPI-FLASH存储整数、小数和字符串等,通过调用SPI_FLASH_BufferWrite函数,把数组内容写入到SPI Flash芯片的指定地址上,在需要的时候从该地址把数据读取出来,再对读出来的数据以ASCII码的格式进行解读。


但是,这样直接存储数据会带来极大的不便,如难以记录有效数据的位置,难以确定存储介质的剩余空间,以及应以何种格式来解读数据。就如同一个巨大的图书馆无人管理,杂乱无章地存放着各种书籍,难以查找所需的文档。对于SPI Flash芯片或者SD卡之类的大容量设备,我们需要一种高效的方式来管理它的存储内容。


这些管理方式即为文件系统,它是为了存储和管理数据,而在存储介质建立的一种组织结构,这些结构包括操作系统引导区、目录和文件。常见的 windows 下的文件系统格式包括 FAT32、NTFS、exFAT。在使用文件系统前,要先对存储介质进行格式化。格式化先擦除原来内容,在存储介质上新建一个文件分配表和目录。这样,文件系统就可以记录数据存放的物理地址,剩余空间。


目录和文件分配表:

之前提到,把文件系统格式化后,会把目录存放在磁盘的开头。由上图所示,文件目录中有3条信息,记录了3个文件。每条目录信息又有很多细节,记录了文件的地址、大小、日期时间、权限等。看上去,似乎有目录就足够记录文件信息了,但还不够,继续往下看。

可以看到,文件目录是记录了文件存储在哪个扇区,而文件分配表记录了这个扇区存储了哪些内容,以及这个内容的下一个部分的位置。那么现在就可以知道,读取文件的流程如下(以读取B.txt为例):


1 从文件目录中找到B.TXT开始的扇区(12);


2 当读取完第12个扇区后,从文件分配表中知道,接下来要读取12扇区的内容,依次...,当读完65扇区后,发现下一个指向FF,此时文件B.TXT全部读取完成;


接下来看删除文件对文件分配表的影响:

由于新创建的D文件比较大,所以会占据原C文件的全部存储空间,然后在C文件的结尾还会占据一部分空间。那么此时,单凭文件目录已经无法知道D文件的具体存储细节了,因为D文件此时不是连续存储,来看此时文件目录的变化:

文件分配表在此时就能发挥作用,如下图所示:

最后一个问题,以什么形式来解读文件。在windows操作系统中,就是以后缀名来区分。如.txt以记事本打开(解读),.mp3以音乐播放器打开(解读)。

推荐阅读

史海拾趣

Acopian Power Supplies公司的发展小趣事

Acopian Power Supplies是一家专业生产电源供应器件的公司,以下是该公司发展的五个相关故事:

  1. 公司创立与起步阶段: Acopian Power Supplies成立于1956年,总部位于美国宾夕法尼亚州。公司创始人Sarkis Acopian先生将其家庭小作坊扩展为一家专业的电源供应器件制造商。创立之初,公司专注于生产高品质、高可靠性的直流电源,并提供定制化的解决方案。

  2. 技术创新和产品拓展: 随着市场需求的增长和技术进步,Acopian Power Supplies不断进行技术创新,并扩展了产品线。公司逐步推出了各种规格和型号的直流电源、交流电源、开关电源等产品,满足不同行业的需求,如工业、通信、医疗等领域。

  3. 市场拓展和国际化发展: Acopian Power Supplies积极开拓国内外市场,并与全球各地的客户建立了长期合作关系。公司的产品远销至美国以外的多个国家和地区,赢得了广泛的市场认可。通过与国际渠道商合作,公司逐步实现了国际化发展战略。

  4. 质量控制和技术支持: Acopian Power Supplies注重产品质量和技术支持,建立了完善的质量控制体系和售后服务体系。公司引进先进的生产设备和检测设备,严格控制产品质量,并提供专业的技术支持和解决方案,确保客户获得最佳的用户体验。

  5. 未来发展展望: Acopian Power Supplies将继续致力于电源供应器件领域的研发和生产,不断推出更先进、更可靠的产品和解决方案,以满足客户在不断变化的市场需求。公司将进一步加强研发投入,不断提升产品性能和质量水平,努力成为行业内的领先企业。

创基(CBI)公司的发展小趣事

面对日益激烈的国际竞争,CBI公司积极实施全球化战略,通过海外投资、并购等方式,不断扩大市场份额。同时,公司还注重本土化运营,根据不同地区的市场需求和消费者习惯,提供定制化的产品和服务。这一策略使CBI在全球范围内建立了完善的销售网络和售后服务体系,进一步巩固了市场地位。

Comax Industrial Co Ltd公司的发展小趣事

随着公司的不断发展壮大,Comax Industrial Co Ltd公司开始积极拓展市场。公司不仅在国内市场取得了显著的成绩,还积极进军国际市场,与多个国家和地区的客户建立了稳定的合作关系。通过参加国际展会、建立海外分支机构等方式,公司的业务范围逐渐扩大,市场份额也持续提升。这种市场拓展的策略,使得Comax实现了跨越式的发展。

Advanced Electronic Packaging公司的发展小趣事

随着公司技术的不断进步,Advanced Electronic Packaging公司开始寻求与行业内知名厂商的合作机会。通过与一家全球领先的电子产品制造商达成战略合作,公司成功将其先进的封装技术应用于对方的高端产品线中。这一合作不仅提升了合作双方的产品竞争力,还为Advanced Electronic Packaging公司带来了可观的利润回报。此后,公司陆续与多家知名企业建立了合作关系,进一步巩固了其在电子封装领域的市场地位。

南晶电子(DGNJDZ)公司的发展小趣事

随着市场竞争的加剧,南晶电子意识到技术创新是企业发展的核心动力。公司投入大量研发资金,与多所高校和科研机构建立合作关系,共同研发新型半导体器件。经过不懈努力,南晶电子成功推出了一系列具有自主知识产权的高性能产品,赢得了市场的广泛认可。

Dearborn Electronics Inc公司的发展小趣事

Dearborn Electronics Inc.注重国际合作与交流,与全球多家知名企业和研究机构建立了紧密的合作关系。通过引进国外先进的技术和管理经验,公司不断提升自身的核心竞争力。同时,公司也积极参与国际市场竞争,拓展海外市场,为未来的发展奠定了坚实的基础。

以上这些故事框架仅供参考,你可以根据这些框架进行深入的调查和研究,撰写出具体、详细的发展故事。

问答坊 | AI 解惑

将EMI/EMC控制在摇篮之中

0 引 言   电子研发工程师最常采用的EMI/EMC防范措施不外乎是屏蔽、滤波、接地和布线,但是随着电子系统的集成化,在考虑成本、质量、功能,又要兼顾产品推出速度的要求下,工程师们必须在设计初始阶段就展开EMI/EMC预测分析和设计,避免在研发 ...…

查看全部问答>

C中线程访问数据机制

1、若线程A和线程B都可对一数据C进行访问,但其他线程则无权访问,此时应采取什么机制对数据C进行保护?2、若数据C只能被线程A访问,应采取什么机制对数据C保护?3,若数据C可被任一线程访问,应采取什么机制保护数据?(可能我的描述有差,总之就 ...…

查看全部问答>

WINCE6.0的NandFlash分区挂载问题

环境:Uboot + Eboot + Wince 6.0,S3C6410 CPU,Samsung K9G8G08 1G Bytes NandFlash。 现象: 1、EBoot下载nk.bin文件后第一次启动wince,控制面板-->存储管理器中可以看到    part00、*part01两个分区,part00为BINFS格式,类型:0 ...…

查看全部问答>

各位大虾 推荐一本操作系统原理,经典书籍

   各位大哥,小弟又来了,上次在这里找到了许多大虾的指点,在此万分感激。 小弟正在学习操作系统原理,想找一本经典的操作系统书籍。望推荐。谢谢…

查看全部问答>

LM4F120 ADC采样

用LM4F120采样拾音器的输出信号,将采样的数据读到value[0]中,用KEIL仿真看value[0]的值,在0和4095波动,此时用万用表读取拾音器输出信号,只是0.30V而已,请问是什么设置不对呢。…

查看全部问答>

本人做一个tms320f28035的EPwm+ADC的

本人做一个tms320f28035的EPwm+ADC的测试程序,可是看了半天的资料,tms320f28035的ADC还是不会编程转换,datasheet中也没有相关的实例,求高手指点。谢谢…

查看全部问答>

可以把红外对管的红外接收管换成红外接收头吗

本帖最后由 paulhyde 于 2014-9-15 03:21 编辑 我做了个旋转LED时钟 需要用到红外对管 但是手中没有红外接收管 只有3个脚的红外接收头 我想问 可以把红外接收管换成 红外接收头吗 我自己总感觉不大可能 首先接收管只要有红外光就可以导通 从而 ...…

查看全部问答>

请问这个电路的功能是什么?请大家赐教

请问这个电路的功能是什么,输入信号是PWM信号,还有就是R282的功能是什么? …

查看全部问答>