fatfs在spi flash上移植遇到的问题,已移植成功但还有点问题!!!

2019-07-21 00:21发布

MCU:Cotex-M3内核的
SPI Flash:MX25L1635E

diskio.c 里的几个函数都已按要求编写


现在遇到的问题是这样的:
1.首先 f_mount(&FatFs,"0:",1)  根据返回值来判断有无文件系统,若没有文件系统则 调用f_mkfs("0:",1,4096) 格式化Flash。
2.接着就 f_open(&File, "hello.txt", FA_CREATE_NEW | FA_WRITE | FA_READ),再者就 f_write(&File, "Hello, World! ", 15, &bw);
3.然后就 f_lseek(&File, 0);   f_read(&File, read_buff, read_num, &pread);
4. f_close(&File); f_mount(0,"0:",0);


以上可以正常执行。我想这时Flash上已经有文件系统了。


下面我在以上的程序中修改为 只去读Flash上的文件 即:
1.首先 f_mount(&FatFs,"0:",1)  根据返回值来判断有无文件系统,若没有文件系统则 调用f_mkfs("0:",1,4096) 格式化Flash。
2.接着就 f_open(&File, "hello.txt",FA_READ)
3.然后就 f_lseek(&File, 0);   f_read(&File, read_buff, read_num, &pread);
4. f_close(&File); f_mount(0,"0:",0);



然而却返回  Flash上没有文件 FR_NO_FILE


那么问题来了,首先 我这样修改程序去读文件的方式正确不?若正确为什么会返回没有文件呢?

麻烦各位帮帮忙解答一下!






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-21 06:12
 精彩回答 2  元偷偷看……
xyh2425
2楼-- · 2019-07-21 06:57
你都格式化了,哪里还有数据读!
neo
3楼-- · 2019-07-21 09:49
 精彩回答 2  元偷偷看……
我是520老谢
4楼-- · 2019-07-21 11:06
本帖最后由 我是520老谢 于 2016-8-30 22:42 编辑

你好啊,我也在弄这个文件系统,文件系统移植好了。
1、f_mount()返回的是,没有文件系统。
2、f_mkfs()返回的是0,ok。
3、继续f_mount(),返回的又是没有文件系统。
所以可以将移植的代码参考一下吗?
掌握核心技术
5楼-- · 2019-07-21 12:30

楼主问题解决没有呢
我也遇到类似的问题了

SPI flash 使用文件系统 FATFS管理 显示可用空间为0

最近在做一个SPI flash 使用文件系统管理,使用的芯片是m25p16 2M 的,很费劲的是可以正常创建文件夹但是往文件夹里写数据,写不进去,使用USB读flashm25p16模拟U盘,结果提示显示可用空间为 0;
我试过,不用文件系统对 m25p16 进行读写操作正常。调了两天了,求大神支招。谢谢.谢谢.谢谢.
嘻嘻哈哈哈
6楼-- · 2019-07-21 16:27
 精彩回答 2  元偷偷看……

一周热门 更多>