ZigBee_Notes 发表于 2011-6-14 15:55:30

运行网络收音机配套例程《2_filesystem_spiflash》出错!

用的是奋斗板V3,SPI SPI SST25VF016B 驱动已经修改,并通过串口输出提示读写正常;

而且挂载SPI FLASH作为文件系统也提示成功“SPI File System initialized!”,
                /* mount spi flash fat as root directory */
                if (dfs_mount("spi0", "/", "elm", 0, 0) == 0)
                        rt_kprintf("SPI File System initialized!\n");
                else
                        rt_kprintf("SPI File System init failed!\n");



但进行文件系统操作提示失败:
执行以下代码:
                fd = open(FILE_NAME,O_WRONLY |O_CREAT | O_TRUNC ,0);
                if (fd < 0)
                {
                        rt_kprintf("open file for write failed\n");
                        return;
                }
串口输出"open file for write failed\n"提示文件系统操作失败!!!

疑问,明明SPI flash驱动读写正常,而且提示挂载成功,但为什么又不可以进行文件系统操作你?


详细输出如下:
\ | /
- RT -   Thread Operating System
/ | \ 0.4.0 build Jun 14 2011
2006 - 2011 Copyright by rt-thread team
SPI File System initialized!
buffer:SPI SST25VF016B Example: This is SPI DEMO, 终端上出现这一行字,说明SST25V
F016B的读写正常
open file for write failed
finsh>>list_device()
device    type
-------- ----------
spi0   Block Device
uart1    Character Device
      0, 0x00000000
finsh>>

ffxz 发表于 2011-6-14 17:37:11

FatFs文件系统的挂在实际上并不去检查文件系统是否对,所以,再继续检查你的spi flash驱动。

另外,spi flash用之前是需要格式化的。

ZigBee_Notes 发表于 2011-6-14 18:16:18

好的,非常感谢 ffxz 的解答,最近打算把RT-Thread用到医疗器械产品上,正在学着怎么用。

ZigBee_Notes 发表于 2011-6-15 10:05:03

根据ffxz 的解答的,问题已解决:spi flash用之前是需要格式化的。
格式化的大概方法是把flash做出U盘(可参考奋斗板的例程),插到电脑进行格式化。

ffxz 发表于 2011-6-15 10:51:24

:-)

finsh>> mkfs("elm", "spi0");

后面的是你的spi flash设备名。呵呵,不谢不谢,你是网友中最客气的了。

ZigBee_Notes 发表于 2011-6-15 11:35:53

小弟关注你的操作系统很久了,小弟对你的敬仰犹如滔滔江水,连绵不绝……
小弟水平一般,通过你的操作系统学到很多很多,相信有很多像我这样的技术人员从中获益,总的来说你们为国内的嵌入式技术作出很大的贡献!
这次开发新产品,小弟力推使用RT-thread,缘于这个操作系统高效,易用,组件丰富,BSP丰富,而且最重要的一点,免费。何乐而不用呢?
如果产品线大部分使用RT-thread平台开发,那么将会大大提高开发速度,以后的产品升级维护也大大便利。
页: [1]
查看完整版本: 运行网络收音机配套例程《2_filesystem_spiflash》出错!