设备后面自动重启了,并且flash存储的内容全部没有了 ,下面是我的flash代码,底层用的ef4.1.0
uint32_t Flash_Get(uint8_t id)
{
uint32_t Counter = 0;
// char *Counter_Temp = rt_malloc(32);//申请临时buffer空间;
char *Counter_Temp;
Counter_Temp = strdup(ef_get_env((const char*)&Key_list[id]));
if (Counter_Temp == RT_NULL)
Counter_Temp[0] = '0';
Counter = atol(Counter_Temp);
rt_free(Counter_Temp);//释放临时buffer对应内存空间
LOG_D("Reading From %s is %d\r\n", Key_list[id],Counter);
return Counter;
}
void Flash_Set(uint8_t id,uint32_t value)
{
char * Counter_Temp;
Counter_Temp = rt_malloc(32);
snprintf(Counter_Temp, 32,"%ld", value);
ef_set_env((const char*)&Key_list[id], Counter_Temp);
ef_save_env();
rt_free(Counter_Temp);
LOG_D("Writing to %s is %d\r\n", Key_list[id],value);
rt_thread_mdelay(10);
}
问 easyflash的GC出现错误