typedef struct
{
uint8_t cfg_flag;
uint8_t protocol_mode; //
uint8_t fn_lock; //0:unlock, 1:lock ; bit0: 2.4G, bit1: ble1 , bit2: ble2, bit3: ble3
uint8_t host_system;//
uint8_t bondflag;
}info_config_flash;
typedef union
{
info_config_flash user_flash_data;
uint32_t padding[CEIL_DIV(sizeof(info_config_flash),4)];
}info_config;
#define CEIL_DIV(A, B) \
((((A) - 1) / (B)) + 1) \
嵌入式写flash一般是一个word一个word写,擦除一般是一个page擦除。上面的代码能确保写入flash的数据是四字节对齐的。