代码拉取完成,页面将自动刷新
同步操作将从 epoko/eeprom_in_flash 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
本代码实现了简易的flash模拟eeprom功能,只需实现底层的flash操作接口,就可以在顶层调用eeprom接口使用。适合存储eeprom数据量较少的项目使用
将提供给eeprom使用的flash空间分为两个分区,每个分区可包含多个擦除页,擦除时统一擦除。当前使用哪一个分区由开始的USED_MARK决定,实际数据和eeprom虚拟地址共同组成一个编程单元,写入时新数据依次往后写入,读取时以最后一个值为有效值。当一个分区写满时会复制数据到另一个分区。
//参数:eeprom初始化值,NULL则无初始值
int EEPROM_Init(void *default_data);
int EEPROM_Format(void *default_data);
//参数Address:eeprom的地址,一个地址保存16bit数据,范围0 - (EEPROM_NUM_MAX-1)
//参数length:读写buf的长度,为16bit数据的个数
uint16_t EEPROM_Read(uint16_t Address);
int EEPROM_Write(uint16_t Address, uint16_t Data);
int EEPROM_Read_Buf(uint16_t Address, uint16_t *buf, uint16_t length);
int EEPROM_Write_Buf(uint16_t Address, uint16_t *buf, uint16_t length);
//参数addr:eeprom存储空间的地址,单位byte,与上面eeprom的参数呈2倍关系,地址空间不可重复,必须2字节对齐,范围0 - (EEPROM_NUM_MAX-1)*2
//参数length:读写buf的长度,单位字节长度,必须2字节对齐
int Config_Read_Buf(uint16_t addr, void *buf, uint16_t length);
int Config_Write_Buf(uint16_t addr, void *buf, uint16_t length);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。