/** * EasyFlash system initialize. * * @return result */ EfErrCode easyflash_init(void) { extern EfErrCode ef_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size, ef_env const **default_env, size_t *default_env_size, size_t *log_size); extern EfErrCode ef_env_init(uint32_t start_addr, size_t total_size, size_t erase_min_size, ef_env const *default_env, size_t default_env_size); extern EfErrCode ef_iap_init(uint32_t start_addr); extern EfErrCode ef_log_init(uint32_t start_addr, size_t log_size, size_t erase_min_size); uint32_t env_start_addr; size_t env_total_size = 0, erase_min_size = 0, default_env_set_size = 0, log_size = 0; const ef_env *default_env_set; EfErrCode result = EF_NO_ERR; result = ef_port_init(&env_start_addr, &env_total_size, &erase_min_size, &default_env_set, &default_env_set_size, &log_size); #ifdef EF_USING_ENV if (result == EF_NO_ERR) { result = ef_env_init(env_start_addr, env_total_size, erase_min_size, default_env_set, default_env_set_size); } #endif #ifdef EF_USING_IAP if (result == EF_NO_ERR) { result = ef_iap_init(env_start_addr + env_total_size + log_size); } #endif #ifdef EF_USING_LOG if (result == EF_NO_ERR) { result = ef_log_init(env_start_addr + env_total_size, log_size, erase_min_size); } #endif if (result == EF_NO_ERR) { EF_DEBUG("EasyFlash V%s is initialize success.\n", EF_SW_VERSION); } else { EF_DEBUG("EasyFlash V%s is initialize fail.\n", EF_SW_VERSION); } return result; }
/** * EasyFlash system initialize. * * @return result */ EfErrCode easyflash_init(void) { extern EfErrCode ef_port_init(ef_env const **default_env, size_t *default_env_size); extern EfErrCode ef_env_init(ef_env const *default_env, size_t default_env_size); extern EfErrCode ef_iap_init(void); extern EfErrCode ef_log_init(void); size_t default_env_set_size = 0; const ef_env *default_env_set; EfErrCode result = EF_NO_ERR; result = ef_port_init(&default_env_set, &default_env_set_size); #ifdef EF_USING_ENV if (result == EF_NO_ERR) { result = ef_env_init(default_env_set, default_env_set_size); } #endif #ifdef EF_USING_IAP if (result == EF_NO_ERR) { result = ef_iap_init(); } #endif #ifdef EF_USING_LOG if (result == EF_NO_ERR) { result = ef_log_init(); } #endif if (result == EF_NO_ERR) { EF_INFO("EasyFlash V%s is initialize success.\n", EF_SW_VERSION); } else { EF_INFO("EasyFlash V%s is initialize fail.\n", EF_SW_VERSION); } EF_INFO("You can get the latest version on https://github.com/armink/EasyFlash .\n"); return result; }