FATFS文件系统异常FR_NOFILESYSTEM

最近调试程序的过程中,时不时会出现读取文件时,出现报错(FR_NOFILESYSTEM)的情况,调试时,发现初始化时挂载文件系统就没有挂载上

res=f_mount(fs[0],"0:",1);    //挂载FLASH

报错类型为0x0D

也就是FR_NO_FILESYSTEM。

随后调用下面这个方法格式化Flash,报错:FR_MKFS_ABORTED,发现格式化也没有成功

    res=f_mkfs("0:",FM_ANY,0,fatbuf,FF_MAX_SS); 

使用的是外置8MB的SPI FLASH (W25Q64), 随后,再次查看了disk_ioctl(0,cmd,buf);接口驱动。

各个参数的定义为:

刚开始,不明所以,将SPI_FLASH_SECTOR_COUNT的大小设置为0了,后来改为2048*8了,2048*8*512 = 1024*1024*8 = 8MB;

改完之后, 能够正确挂载文件系统,读写文件。

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FATFS文件系统的f_mount函数是用来挂载外部存储介质的函数。通过这个函数,可以将外部存储介质(比如SD卡、FLASH等)与FATFS文件系统关联起来,以便进行文件的读写操作。 在进行FATFS文件系统的移植时,需要注意一些问题。例如,在编写主函数使用f_mount函数挂载外部FLASH时,可能会遇到错误代码11(FR_INVALID_DRIVE),表示逻辑驱动器编号无效。这个问题通常是由于在ffconf.h头文件中没有正确定义逻辑驱动器的数量导致的。在该头文件中,可以通过修改#define _VOLUMES的值来指定存储介质的数量。如果存在多个访问介质(比如SD卡和FLASH),需要将该值定义为对应的数量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FatFs的API函数中文介绍](https://download.csdn.net/download/rocyequ/5296167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [野火STM32F103ZET6(霸道)开发板学习中,FatFs文件系统f_mount使用时的 FR_INVALID_DRIVE(11)的错误](https://blog.csdn.net/qq_27699199/article/details/118888865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值