搜索
bottom↓
12
返回列表 发新帖
楼主: 天马行空

SPIFFS文件系统STM32移植工程分享

  [复制链接]

出0入0汤圆

发表于 2016-12-8 11:09:06 | 显示全部楼层
yanghuanchun 发表于 2016-12-7 16:06
你好,找到查询剩余空间的函数了吗

有SPIFFS_info函数。

/**
* Returns number of total bytes available and number of used bytes.
* This is an estimation, and depends on if there a many files with little
* data or few files with much data.
* NB: If used number of bytes exceeds total bytes, a SPIFFS_check should
* run. This indicates a power loss in midst of things. In worst case
* (repeated powerlosses in mending or gc) you might have to delete some files.
*
* @param fs            the file system struct
* @param total         total number of bytes in filesystem
* @param used          used number of bytes in filesystem
*/
s32_t SPIFFS_info(spiffs *fs, u32_t *total, u32_t *used);

出0入0汤圆

发表于 2016-12-8 11:34:00 | 显示全部楼层
很不错,学习!

出0入0汤圆

发表于 2017-1-3 16:23:10 | 显示全部楼层
楼主,请问你了解这个组件的存储组织方式吗,我现在需要存大量数据,一分钟一条每条最大256字节,要保证能存储七天,不知道此文件系统支持吗?

出0入0汤圆

发表于 2017-1-10 13:32:39 | 显示全部楼层
richie550 发表于 2016-1-5 19:03
用楼主分享的程序移植到到板子上 写入文件时报错 (就用的楼主的例子)  write errno -10010
读出w25q64里 ...

我也是遇到你差不多的问题

//++++++++++++++++++++++++++++++++++++++++++++++++++++       
        Mount_SPI_Flash_File_System( );//spi flashÎļþϵͳ³õʼ»¯
       
        //´ò¿ªÎļþ£¬Èç¹ûÎļþ²»´æÔÚ£¬×Ô¶¯´´½¨
        spiffs_file fd = SPIFFS_open(&SPIFlashFS, "my_file", SPIFFS_CREAT | SPIFFS_TRUNC | SPIFFS_RDWR, 0);

        //дÎļþ
        if (SPIFFS_write(&SPIFlashFS, fd, WriteBuf, sizeof(WriteBuf)) < 0)
        printf("errno %i\n", SPIFFS_errno(&SPIFlashFS));
        SPIFFS_close(&SPIFlashFS, fd);

        //¶ÁÎļþ
        fd = SPIFFS_open(&SPIFlashFS, "my_file", SPIFFS_RDWR, 0);
        if (SPIFFS_read(&SPIFlashFS, fd, ReadBuf, sizeof(WriteBuf)) < 0)
        printf("errno %i\n", SPIFFS_errno(&SPIFlashFS));
        SPIFFS_close(&SPIFlashFS, fd);

        //´òÓ¡Êä³öÎļþÄÚÈÝ
        printf("%s\n", ReadBuf);       
//++++++++++++++++++++++++++++++++++++++++++++++++++++       

串口输出:
page index byte len:         256
object lookup pages:         2
page pages per block:        256
page header length:          5
object header index entries: 106
object index entries:        125
available file descriptors:  3
free blocks:                 31
open: fd 1 is obj id 8001
truncate: reset objix_hdr page 0002
errno -10010
open: fd 1 is obj id 8001
read: load objix page 0002:0000 for data spix:0000

不知道后面你怎么解决的

出0入0汤圆

发表于 2017-2-28 21:22:31 | 显示全部楼层
謝謝樓主分享

出0入17汤圆

发表于 2017-9-27 18:52:37 来自手机 | 显示全部楼层
谢谢分享,正需要

出0入0汤圆

发表于 2017-10-1 09:59:05 | 显示全部楼层
感謝分享      

出0入0汤圆

发表于 2017-10-1 19:15:33 | 显示全部楼层
感謝分享      

出0入0汤圆

发表于 2018-1-2 20:39:59 | 显示全部楼层
这个不知道意外掉电怎么处理的?得多少内存能跑起来。很yaffs优缺点?

出0入0汤圆

发表于 2018-1-9 10:04:09 | 显示全部楼层
这个文件系统与yaffs相比优缺点是啥?

出0入0汤圆

发表于 2018-1-19 17:15:03 | 显示全部楼层
看起来不错,但是不知道对flash的寿命方面是否能进行一些估算

出0入0汤圆

发表于 2018-7-1 11:26:35 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2018-7-1 11:27:01 | 显示全部楼层
mark  SPIFFS文件系统STM32移植工程分享

出0入0汤圆

发表于 2018-10-9 12:46:56 | 显示全部楼层
不错,标记一下,以后用得到

出0入0汤圆

发表于 2018-10-9 13:07:32 | 显示全部楼层
看了littlefs与SPIFS的对比,也过来看下楼主这个。经过实际项目验证,应该也是很不错啦。

出0入0汤圆

发表于 2018-10-16 11:51:55 | 显示全部楼层
谢谢,MARK!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 07:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表