标题: 超轻量级FatFS文件系统STM32单片机源码 [打印本页]

作者: tengye2025    时间: 2022-4-22 12:33
标题: 超轻量级FatFS文件系统STM32单片机源码
安富莱的资料 看附件。

例程简介
    本例程移植了R0.10b版本的FatFS文件系统,采用板载的8MB SPI Flash作为存储介质。

    FatFS文件系统的移植说明见: \User\FatFS\FatFS移植记录.txt

    核心文件为:
    bsp_spi_flash.c/.h : SPI Flash底层驱动代码
    demo_spi_flash_fatfs.c/.h  演示FatFS API接口函数的使用方法的主程序。

    配置GPIO的bsp_InitSFlash函数在执行 f_mount() 挂在文件系统时会被调用。因此,没有在 bsp.c 中添加SPI的初始化。

    注意:为了支持长文件名,FatFS必须包含 cc936.c 文件,其中 static const WCHAR uni2oem[] 常量数组
    是一个GB2312码和UNICODE代码的转换表,会占用程序空间约170K字节。
    如果不需要支持长文件名,则代码空间可节约 170K字节。

    由于支持长文件名,代码大小超过了128K,因此不能在CpuRAM调试,除非去除长文件名的支持。

    程序功能有:
    (0) 输入字符0,对SPI Flash进行文件系统格式化。
    (1) 输入字符1,打印SD根目录下的文件和文件夹列表。
    (2) 输入字符2,在SD卡根目录下创建一个文件,文件名为 armfly.txt
        并且向该文件写入一个字符串。
    (3) 输入字符3,打开SD卡根目录下的armfly.txt文件,读出其内容,打印到串口。
    (4) 输入字符4,创建打开SD卡根目录下的armfly.txt文件,读出其内容,打印到串口。
    (5) 输入字符5,删除之前创建的测试文件和目录
    (6) 输入字符6,写一个2M的文件speed1.txt,测试读写速度

【2】执行结果
    请用USB转串口线连接PC机和开发板。PC机上运行SecureCRT软件,波特率设置为 115200bps,无硬件流控

    从PC机的软件界面观察程序执行结果,结果如下:【通过PC机键盘输入命令】

------------------------------------------------
第一次使用请选择命令0进行SPI Flash格式化
请选择操作命令:
0 - 对SPI_Flash进行文件系统格式化
1 - 显示SD卡根目录下的文件列表
2 - 创建一个新文件armfly.txt
3 - 读armfly.txt文件的内容
4 - 创建目录
5 - 删除文件和目录
6 - 读写文件速度测试

【0 - FileFormat】
挂载文件系统成功 (FR_OK:成功)
格式化成功 (FR_OK:成功)
卸载文件系统成功 (FR_OK:成功)

【1 - ViewRootDir】
挂载文件系统成功 (FR_OK:成功)
属性        |  文件大小 | 短文件名 | 长文件名
卸载文件系统成功 (FR_OK:成功)

【2 - CreateNewFile】
armfly.txt 文件写入成功

【3 - ReadFileData】

armfly.txt 文件内容 :
FatFS Write Demo

【4 - CreateDir】
f_mkdir Dir1 Ok
f_mkdir Dir2 Ok
f_mkdir Dir1_1 成功

【5 - DeleteDirFile】
删除Dir1失败(错误代码 = FR_DENIED:由于禁止访问或者目录已满访问被拒绝) 文件只读或目录非空
删除子目录/Dir1/Dir1_1成功
删除目录Dir1成功
删除目录 Dir2 成功
删除文件 armfly.txt 成功
没有发现文件:Speed00.txt
没有发现文件:Speed01.txt
没有发现文件:Speed02.txt
没有发现文件:Speed03.txt
没有发现文件:Speed04.txt
没有发现文件:Speed05.txt
没有发现文件:Speed06.txt
没有发现文件:Speed07.txt
没有发现文件:Speed08.txt
没有发现文件:Speed09.txt
没有发现文件:Speed10.txt
没有发现文件:Speed11.txt
没有发现文件:Speed12.txt
没有发现文件:Speed13.txt
没有发现文件:Speed14.txt
没有发现文件:Speed15.txt
没有发现文件:Speed16.txt
没有发现文件:Speed17.txt
没有发现文件:Speed18.txt
没有发现文件:Speed19.txt

【6 - TestSpeed】
开始写文件Speed00.txt 2048KB ...
................................................................
  写耗时 : 10922ms   平均写速度 : 192011B/S (187KB/S)
开始读文件 2048KB ...
................................................................
  读耗时 : 2422ms   平均读速度 : 865876B/S (845KB/S)

【6 - TestSpeed】
开始写文件Speed01.txt 2048KB ...
................................................................
  写耗时 : 10711ms   平均写速度 : 195794B/S (191KB/S)
开始读文件 2048KB ...
................................................................
  读耗时 : 2421ms   平均读速度 : 866233B/S (845KB/S)


Keil代码下载: V5-107e_FatFS文件系统例程(SPI串行Flash).7z (2.43 MB, 下载次数: 47)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1