初级会员

- 积分
- 135
- 金钱
- 135
- 注册时间
- 2019-2-15
- 在线时间
- 33 小时
|
发表于 2022-10-16 22:23:30
|
显示全部楼层
求解: 我用 littlefs 驱动 AT24C32 ,都能跑起来了,官方的实例 boot_count 一直在++,但是一直发现 只是在读写 eeprom的0x00-0xFF 的地址,eeprom 0x100地址都没有读写到,没有达到磨损均衡
请问这些参数该如何配置
const struct lfs_config cfg = {
// block device operations
.read = lfs_deskio_read,
.prog = lfs_deskio_prog,
.erase = lfs_deskio_erase,
.sync = lfs_deskio_sync,
// block device configuration
.read_size = 8, // 最小读取字节数,所有的读取操作字节数必须是它的倍数(影响内存消耗)
.prog_size = 8, // 最小写入字节数,所有的读取操作字节数必须是它的倍数(影响内存消耗)
//擦除块字节数 不会影响内存消耗;这个数值可以比物理擦除地址大,但是这个数值应该尽可能小,
//因为每个文件至少占用一个块;值必须是读取和编程粒度的整数倍;
.block_size = 128,
.block_count = 4096, // 可以被擦除的块数量,取决于设备容量
.cache_size = 16,
.lookahead_size = 16,
//littlefs逐出元数据日志并将元数据移动到另一个块之前的擦除周期数。 建议值在
//100-1000范围内,较大的值具有较好的性能,但是会导致磨损分布不均匀。
// -1 禁用块级磨损均衡
.block_cycles = 500,
//
// 使用静态内存必须设置这几个缓存
//
.read_buffer = read_buffer,
.prog_buffer = prog_buffer,
.lookahead_buffer = lookahead_buffer,
};
|
|