EasyFlash icon indicating copy to clipboard operation
EasyFlash copied to clipboard

Lightweight IoT device information storage solution: KV/IAP/LOG. | 轻量级物联网设备信息存储方案:参数存储、在线升级及日志存储 ,全新一代版本请移步至 https://github.com/armink/FlashDB

Results 59 EasyFlash issues
Sort by recently updated
recently updated
newest added
trafficstars

当有RTOS的情况下,lock和unlock通过信号量实现,请问会不会存在“flash_write”的时候被中断打断的隐患? ``` /** * lock the ENV ram cache */ void ef_port_env_lock(void) { rt_sem_take(&env_cache_lock, RT_WAITING_FOREVER); } /** * unlock the ENV ram cache */ void ef_port_env_unlock(void) { rt_sem_release(&env_cache_lock); } ```

我用的是STM32L071KB,发现擦除内部flash之后,不是全FF,而是全0 这种情况会造成初始化的时候Section头保留部分会被写为FF,再次修改Section头的时候,修改不成功 最终不能正常存储KV键值对

应用场景:从服务器上下发1万对key(8 byte)-value(20 byte)到外部FLASH,,当用户刷卡时,会生成一个key,需要对比本地所存储key,并进行对比; 现象:遍历1万个 8 byte的卡号,需要169秒,这个时间是无法接受的。 问题:怎么能够高效的遍历这1万个key;

STM32H7 一个扇区128K, 最小写粒度是32字节~~~ 估计应该要调整EF的架构,使得放开EF_WRITE_GRAN的宏限制?

1. Fix compile error with incompatible types 3. Fix function argument mismatch in README

![image](https://user-images.githubusercontent.com/19906027/145762764-27256ee8-a391-4623-af8c-9f86e339a9e5.png) 这里为什么减去SECTOR_HDR_DATA_SIZE个字节?

hi, there seems to be a Null pointer dereference issue in the `find_env` function of the `ef-env.c` when `EF_ENV_USING_CACHE` is enable: ```c del_env(NULL, env, false); if (find_env(key, &env)) { size_t...

EfErrCode ef_port_read(uint32_t addr, uint32_t *buf, size_t size); EfErrCode ef_port_write(uint32_t addr, const uint32_t *buf, size_t size); 第二个参数设计成uint32_t *类型,传参后指向uint8_t * 类型,不会有内存非对齐访问的风险吗?

我将ENV_AREA_SIZE设置为整个芯片的大小4M,这样初始化的时间太长了,这个值存放环境变量,那如果我只给他4*4096的大小,当这个4*4096的地址空间使用完之后会自动移动到另外的空间吗?

对于 ... #if (EF_WRITE_GRAN == 1) byte_index = (status_index - 1) / 8; status_table[byte_index] &= ~(0x80 >> ((status_index - 1) % 8)); #else ... 中的0x80,如果编译器把0x80当成unsiged char 类型的移位结果和 当成char类型的移位结果是截然不同。 所以说你想表达的结果应该是status_table[byte_index] &=...