src\ef_env.c:Env(常规模式)相关操作接口及实现源码; 其它两个IAP和LOG相关的源码暂且不用添加。 ③将easyflash/inc头文件路径添加到keil中: 2.4. 实现EasyFlash移植接口 EasyFlash的移植接口都已经写好了,在ef_port.c文件中,只需要在函数体中添加代码即可。 ① 默认环境变量集合 产品上需要的默认环境变量集中定义...
void get_param(const char *key, void *value_buf, size_t buf_len){ ef_get_env_blob(key, ...
easyflash/src/ef_env.c easyflash/src/ef_utils.c easyflash/port/ef_port.c 如图:添加路径, 如图 ...
在V4.0 以后,环境变量在 EasyFlash 底层都是按照二进制数据格式进行存储,即 blob 格式 ,这样上层支持传入任意类型。 ① 获取 blob 类型环境变量 size_t ef_get_env_blob(const char *key, void *value_buf, size_t buf_len, size_t *save_value_len); 1. 其中参数的意义如下: key:环境变量名称 value_...
port\ef_port.c:(必选)EasyFlash移植接口; src\ef_env.c:Env(常规模式)相关操作接口及实现源码; 其它两个IAP和LOG相关的源码暂且不用添加。 ③将easyflash/inc头文件路径添加到keil中: 2.4. 实现EasyFlash移植接口 EasyFlash的移植接口都已经写好了,在ef_port.c文件中,只需要在函数体中添加代码即可。
EfErrCodeeasyflash_init(void); #ifdefEF_USING_ENV /* only supported on ef_env.c */ size_tef_get_env_blob(constchar*key,void*value_buf,size_tbuf_len,size_t*saved_value_len); boolef_get_env_obj(constchar*key,env_node_obj_tenv); ...
void test_env(void) { char wifi_ssid[20] = {0}; char wifi_passwd[20] = {0}; size_t len = 0; /* 读取默认环境变量值 */ //环境变量长度未知,先获取 Flash 上存储的实际长度 */ ef_get_env_blob("wifi_ssid", NULL, 0, &len); //获取环境变量 ef_get_env_blob("wifi_ssid", wif...
ef_set_env_blob("bj_volt0",(void)&v,4); ef_get_env_blob("bj_volt0",(void)&test,4,&vlen); if(test!=24) break; } 程序会随机(循环次数i)进入break语句; 主控stm32f429,SPI接口flash是w25q128,flash底层驱动读写擦测试正常。
V4.0 底层对于 ENV 的存储使用的 blob 格式,所以增加如下 blob 操作接口,替代 V3.0 的基于字符串的接口 size_t ef_get_env_blob(const char *key, void *value_buf, size_t buf_len, size_t *value_len) EfErrCode ef_set_env_blob(const char *key, const void *value_buf, size_t buf_len) ...
NUM 呢?这部分能否深入看一下 另外,ef_env_set_default 是可 ...我详细跟下看看 ...