desmond 发表于 2021-7-31 21:17:21

littlefs写小文件遇到LFS_BLOCK_INLINE断言???

目前用的最新版本2.4当我新建一个文件,并尝试写入一段小数据的时候,必然会遇到lfs_bd_prog函数中第200行的断言:LFS_ASSERT(block == LFS_BLOCK_INLINE || block < lfs->cfg->block_count);稍微调试了一下,发现是数据只要小于块/8的时候就会遇到这个问题. 有老铁指导一下,为嘛出现这种情况吗? 之前用的2.0倒是好好的.我用的配置如下:#define MEM_LFS_TOTAL_SIZE      (1024*1024)      #define FLASH_SECTOR_SIZE   0x1000    .read_size = 256,    .prog_size = 256,    .block_size = FLASH_SECTOR_SIZE,    .block_count = (MEM_LFS_TOTAL_SIZE/FLASH_SECTOR_SIZE),    .cache_size = 4096, //must be mul of read_size/prog_size size    .lookahead_size = 16,    .block_cycles = 500,
track log:do write
lfs.c:5185:trace: lfs_file_write(0x5644c292e040, 0x7fffe42691c0, 0x5644c3b3b6b0, 512, 0x100103)
lfs.c:2946:trace: pos:0 size:512 csize:0
lfs.c:2979:trace: max:512, min:512
lfs.c:2981:trace: 4096 0 4096
lfs.c:3028:trace: set LFS_BLOCK_INLINE for off 0
lfs.c:199:trace: block=0xfffffffe,oft=0x0
ASSERT:lfs.c 200

eric2013 发表于 2021-8-1 08:31:56

帮顶。

taobaofarmer 发表于 2021-8-4 09:34:29

硬汉研究下这个小FS吧,也出个教程
页: [1]
查看完整版本: littlefs写小文件遇到LFS_BLOCK_INLINE断言???