一杯茶2009 发表于 2019-7-18 13:39:49

求助使用littlefs 文件系统如何获取SPI flash 的未使用磁盘大....

使用littlefs 文件系统如何获取SPI flash 的未使用磁盘大小?资料太少了,搞不定,求助!!!

styleno1 发表于 2019-7-18 19:59:16

已使用块数:
lfs_ssize_t lfs_fs_size(lfs_t *lfs)

墨非 发表于 2019-7-18 13:39:50

       

typedef struct
{
        lfs_size_t block_size;
        lfs_size_t block_count;
        lfs_size_t block_use;
        lfs_size_t block_free;
       
}lfs_block_state_t;

static int traverse_df_cb(void *p, lfs_block_t block)
{
    *(lfs_size_t *)p += 1;
    return 0;
}

// all of the files are closed
int lfs_block_state(lfs_t *lfs,lfs_block_state_t *state)
{
        int err;
      memset(state, 0, sizeof(lfs_block_state_t));
        uint32_t allocatedblock = 0;
        err = lfs_traverse(lfs, traverse_df_cb, &allocatedblock);
       
        if(err < 0){
                return err;
        }
      state->block_size = lfs->cfg->block_size;
        state->block_count = lfs->cfg->block_count;
        state->block_use = allocatedblock;
        state->block_free = lfs->cfg->block_count - allocatedblock;

        return 0;
}




lfs_block_state_t state;
lfs_block_state(&lfs, &state);
printf("Flash use_block=%u free_block=%ufree_byte = %u \r\n",state.block_use,state.block_free, state.block_size*state.block_free );

fcmer2016 发表于 2019-7-24 11:14:23

又一个研究littlefs的人。

fcmer2016 发表于 2019-7-24 14:47:06

不知道剩余多少,但是有个函数式知道用了多少。

一杯茶2009 发表于 2019-7-29 09:25:52

墨非 发表于 2019-7-18 13:39


非常感谢

68336016 发表于 2019-8-10 17:52:47

本帖最后由 68336016 于 2019-8-10 17:53 编辑

在stm32f103+W25Q64上试了下,第一次建立个空白文件都需要200多毫秒。

不断建立新文件,每次只写入几十个字节来测试,到第一百个文件时候,建立时间就逐渐增长到1500多毫秒。


相由心生 发表于 2019-8-24 01:29:42

68336016 发表于 2019-8-10 17:52
在stm32f103+W25Q64上试了下,第一次建立个空白文件都需要200多毫秒。

不断建立新文件,每次只写入几十个 ...

你用的是什么版本?

一杯茶2009 发表于 2019-8-31 04:28:07

相由心生 发表于 2019-8-24 01:29
你用的是什么版本?

下载的最新版

SUPER_CRJ 发表于 2022-1-28 14:58:35

墨非 发表于 2019-7-18 13:39


谢谢,亲测可用!
我用的最新版本:
lfs_traverse要改成:lfs_fs_traverse

SCREA 发表于 2022-7-19 11:55:21

68336016 发表于 2019-8-10 17:52
在stm32f103+W25Q64上试了下,第一次建立个空白文件都需要200多毫秒。

不断建立新文件,每次只写入几十个 ...
(引用自7楼)

Hi
Sync函数接口在W25Q64做什么?
页: [1]
查看完整版本: 求助使用littlefs 文件系统如何获取SPI flash 的未使用磁盘大....