最近调试程序的过程中,时不时会出现读取文件时,出现报错(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;
改完之后, 能够正确挂载文件系统,读写文件。