#pragma once #include #include "project_dep.h" #ifdef __cplusplus extern "C" { #endif typedef struct { uint32_t add; uint32_t val; } reg_config_storage_t; typedef struct { uint32_t config_mark; uint32_t obtaining_ip_mode; uint32_t ip; uint32_t gw; uint32_t netmask; uint32_t config0; // uint8_t mac[8]; // mac[5:0] is mac, mac[7:6] is pad for 32bit align reg_config_storage_t reg_config_storage[1024]; uint32_t checksum; // ²»ÐèÒª±à¼­ } config_t; void config_init(void); config_t* config_get(void); void config_flush(void); void config_factory_reset(void); void config_generate_random_mac(void); void config_dump(); void config_update_reg(uint32_t add, uint32_t val); #ifdef __cplusplus } #endif