1 配置分析
参数 |
说明 |
Read_size |
从flash中读取数据的最小size,并且起始地址需要按照这个size对齐 |
prog_size |
往flash中写入数据的最小size,并且起始地址需要按照这个size对齐。 |
block_size |
文件系统中物理block的size。 |
block_count |
文件系统中物理block的个数。 |
block_cycles |
元数据块擦写均衡的次数,当block完成block_cycles次擦写操作之后,将重新申请新的block,源数据导入到新的block,继续擦写操作。 |
cache_size |
文件系统的读写时,数据在内存中的缓存大小,文件系统初始化的时候在内存中申请了一个写cache和读cache,open文件的时候还申请了一个文件cache,他们都是cache_size大小。 |
lookahead_size |
空闲块滑窗的大小,littlefs用一个滑窗来管理所有的空闲块,并且用一个bit是否为0来代表对应的物理block是否空闲,当空闲块不够的时候,会进行滑动操作,一次滑动lookahead_size,并且遍历整个文件系统,判断物理block是否被使用,从而给滑窗的bit状态置位正确的值。 |
2 性能分析
2.1 环境信息
2.1.1硬件信息
通过使用rthread的fal bench命令,对手头的板子(cpu主频160MHz、SPI时钟主频20MHz)进行flash的性能测试,得出的结论如下:
操作类型 |
大小(字节) |
时间(ms) |
擦除 |
4096 |