Comments (4)
之前做过一次重构,所以部分细节有些遗漏,多谢反馈哈~
from easyflash.
@JGINGIT 现在已经移植成功了吗?
from easyflash.
@armink 还没,代码还没仔细研究,理解不了EF_ERASE_MIN_SIZE
和ENV_USER_SETTING_SIZE
。例如我是W25Q16最小擦除单位是4KB,所以EF_ERASE_MIN_SIZE = (4 * 1024)
?
ENV_USER_SETTING_SIZE
是用户设置的数据环境变量的空间大小么?
/* check capacity of ENV */
if (env_str_len + get_env_data_size() >= ENV_USER_SETTING_SIZE) {
return EF_ENV_FULL;
}
但是又为什么有ENV_AREA_SIZE
的定义,用户数据环境变量空间大小又等于ENV_AREA_SIZE - ENV_SYSTEM_SIZE
?
from easyflash.
@JGINGIT
- 1、
W25Q16
的EF_ERASE_MIN_SIZE = (4 * 1024)
这个是没问题的 - 2、对于
ENV_AREA_SIZE
与ENV_USER_SETTING_SIZE
的区别,点击这里有解释
- 2、由于EasyFlash对所有的环境变量都会使用RAM缓存,但是在更多时候用户使用的环境变量大小会比EF_ERASE_MIN_SIZE小,所以需要再定义ENV_USER_SETTING_SIZE来指定用户设定的环境变量大小。
- 3、环境变量区总容量在不同的模式下会有差异
- 1、常规模式:没有差异;
- 2、擦写平衡模式:系统区将会占用1个EF_ERASE_MIN_SIZE大小,数据区至少等使用2个以上Flash扇区;
- 3、掉电保护模式:环境变量区将会被备份,所以总容量是常规模式的2倍;
- 4、擦写平衡+掉电保护模式:系统区将会占用1个EF_ERASE_MIN_SIZE大小,数据区将会是擦写平衡模式下的数据区总容量的2倍。
所以,你先看下这里的解释能不能理解?
from easyflash.
Related Issues (20)
- STM32L0系列使用问题 HOT 1
- EF应该不支持STM32H7吧?
- 请问Flash读写会不会有被中断打断的隐患 HOT 9
- V4.0 读取不到,写入时返回为0 HOT 3
- 请教一下我这样用EasyFlash做IAP升级管理是否有问题或隐患? HOT 1
- 3.0.4版本存储的env数据,在版本升级到4.1后,无法使用 HOT 3
- log_index2addr 函数存在隐藏风险,建议优化 HOT 2
- 配合ulog使用读取的时候 ef_log 在临界条件下存在低概率卡死的可能
- ef_log_read word aligned 判断错误 HOT 2
- ef_log: erase sector时发生复位或下电,重启时会丢失所有log HOT 1
- 请问支持 SD卡的FATFS文件系统吗
- The write function should not be called when the log remaining length is 0
- error: The ENV @0x000102213 length has an error ?
- GC 无法解发,四个扇区都是满状态。 HOT 4
- 从3.x迁移到4.1,F401RCT,Freertos,出现Hardfault
- 添加硬件CRC的Port
- log_seq_read读取数据超过1个扇区时,会数据错乱,应修改为
- 啥时候能支持大数据存储啊
- 在环形扇区块第一次跨扇区写入数据时,会有擦除空扇区的情况
- 64bit 写入粒度,计算env_hdr.crc32错误
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easyflash.