本人刚进入嵌入式行业,技术上来说菜鸟一枚。以前在论坛问了很多技术方面的问题,得到了很多热心坛友的帮助,也经常在论坛下点有用的技术资料。。。。。。
人不能只顾索取而不付出,无奈本人技术水平有限,实在拿不出什么像样的技术活给大家分享。。。。。。。。
今天闲着没事,把我之前移植好的SPI FLASH文件系统分享出来,有需要的可以拿去,您能用上,本人倍感高兴;不需要的,您来凑个热闹,本人表示欢迎。。。。。
好了,闲话少说。。。。。。下面切入正题。。。。。。
一、什么是SPIFS?
如果你问我这个问题,我也无法全面的回答,我就知道它是一种文件系统。因为之前我也没听说过SPIFS,直到有一天,有个哥们在我的帖子里提到了它
http://www.amobbs.com/forum.php? ... =5610774&extra=
我迫不及待的顺着那哥们指引的方向去看了看:
https://github.com/pellepl/spiffs 。我大致看了下文档,感觉还不错,貌似是我想要的。。。。。于是花了点时间把它移植到了设备系统里。
现在说说个人的使用感受。我们设备使用的SPI FLASH存储器是W25X64,使用SPIFS文件系统读写600多组电压数据,500多组内阻数据,300多条告警信息,使用半年多时间,没有出现任何问题,设备经常开关机,也没有出现文件
系统崩溃的问题。最后我要感谢那位在我贴纸里为我指路的哥们,当然感谢SPIFS的作者(虽然我没看SPIFS是谁写的)
二、SPIFS移植
打字太累,我就截图说明吧。。。。。。。后面会给大家完整的移植工程。。。
1、下载SPIFS源代码,把他加入到自己的工程里(这句貌似废话。。。。请无视)
源码里有些是例程,有兴趣可以看看,没兴趣直接删掉,真正有用的是这些文件:
Message.png (16.71 KB, 下载次数: 0)
下载附件
Message
2015-8-2 16:17 上传
5、补充说明
SPIFS文件系统在创建文件或目录的时候只支持Flat(平坦)模式,也就是说它不支持建立多级目录,我不知道SPIFS版本有木有更新,反正我用的这个版本是不支持的,
如果那个坛友发现新版本改进了,请告知。。。。。。
STM32_SPIFS移植工程.rar
(355.12 KB, 下载次数: 695)
2015-8-2 16:26 上传
点击文件名下载附件
SPIFFS移植工程
编译环境说明:
MDK5.15
开启C99
读出w25q64里的内容看到 地址0000 开始 有4字节信息 01 80 01 00,地址0x0200开始有信息 01 80 00 00 f8 0b ff ff ff ff 01 (然后就是文件名)m y _ f i l e 00 00 00 00 .....
地址0x0300开始有信息 01 00 00 00 fc (后面就是文件内容)Hi,Budy! if you get this Message......Congratulations!You have succeeded!!
照这个样子看好像是写入成功了,但是却总是返回错误信息 10010,而且执行下面读文件操作时就跳入 HardFault_Handler 中断死了
有大虾帮帮忙啊
不用文件系统,你的w25q64读写正常么?
刚才追踪了一下 在 读文件操作死机 是执行到 spiffs_nucleus.c文件中的 spiffs_object_read函数
这一句时 data_pix = ((spiffs_page_ix*)((u8_t*)objix_hdr + sizeof(spiffs_page_object_ix_header)))[data_spix]; 跳入HardFault_Handler死机的
一周热门 更多>