这是本文档旧的修订版!
银杏科技有限公司旗下技术文档发布平台 |
技术支持电话 | 0379-69926675-801 |
技术支持邮件 | Gingko@vip.163.com |
技术论坛 | http://www.eeschool.org |
版本 | 日期 | 作者 | 修改内容 |
V1.0 | 2020-03-31 | gingko | 初次建立 |
STM32CubeMX教程十七——FATFS实验
实验十七:FATFS实验——文件操作
一、 实验目的与意义
了解FATFS结构。
了解FATFS特征。
掌握FATFS的使用方法。
掌握STM32 HAL库中FATFS属性的配置方法。
掌握KEIL MDK集成开发环境使用方法。
二、 实验设备及平台
-
-
Micro USB线缆。
Keil MDK 开发平台。
STM32CubeMX开发平台。
装有WIN XP(及更高版本)系统的计算机。
三、 实验原理
1.文件系统
2.FATFS简介
FATFS是一个完全免费开源的FAT文件系统模块,专为小型的嵌入式系统而设计。
它完全用标准的C语言编写,具有良好的硬件平台独立性,可以移植到8051、PIC、
AVR、SH、Z80、H8、ARM等系列单片机上而只需做简单的修改。FATFS支持FTA12 FAT16 和FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对8位和16位单片机做了优化。
3.FATFS文件系统官网:
4.FATFS模块的层次结构:
最顶层是应用层:
中间层FATFS模块:
底层存储媒介接口:
5.FATFS文件系统特点
Windows兼容的FAT文件系统(支持FAT12/FAT16/FAT32);
与平台无关,移植简单;代码量少,效率高;
多种配置选项:支持多卷(物理驱动器或分区,最多10个卷);多个ANSI/OEM代码页,包括DBCS;支持长文件名,ANSI/OEM或Unicode;支持RTOS;支持多种扇区大小;
只读、最小化的API和I/O缓冲区等。
FATFS的这些特点,加上免费、开源的原则,使得FATFS应用非常广泛。
STM32F407上带有SDIO控制器,iCore3核心板上将SDIO连接到TF卡座上。本实验将Micro SD卡插入TF卡座上即可。通过FATFS创建“SD卡测试.txt”文件,并且写入数据0-511,然后读出并打印到终端上。硬件连接示意图如下:
四、 实验程序
1. 主函数
2 FATFS函数介绍
3. SD结构体定义
五、 实验步骤
把仿真器与iCore3的SWD调试口相连(直接相连或者通过转接器相连);
把iCore3通过Micro USB线与计算机相连,为iCore3供电;
打开Keil MDK 开发环境,并打开本实验工程;
打开PuTTY串口终端(注:PuTTY使用方法见附录);
烧写程序到iCore3上;
也可以进入Debug 模式,单步运行或设置断点验证程序逻辑。
六、 实验现象
在终端显示屏上可以看到FATFS操作的信息,如下图:
附录:
1、iCore3供电后,打开计算机—-属性—-设备管理器—-端口
2、打开PuTTY
3、此时就可以烧写程序进行验证了。