eeprom_in_flash
1.0.0
このコードは、Simple FlashシミュレーションEEPROM関数を実装します。基礎となるフラッシュ操作インターフェイスを実装するだけで、上位レベルでEEPROMインターフェイスを呼び出すことができます。 EEPROMデータストレージが少ないプロジェクトに適しています
EEPROMに提供されるフラッシュスペースは2つのパーティションに分割されます。各パーティションには、消去中に均一に消去される複数の消去ページを含めることができます。現在使用されているパーティションは、最初から使用されている_markによって決定されます。実際のデータとEEPROM仮想アドレスは、プログラミングユニットを形成します。書くとき、新しいデータは順番に記述され、読み取りするとき、最後の値は有効な値です。 1つのパーティションがいっぱいになると、データは別のパーティションにコピーされます。
//参数:eeprom初始化值,NULL则无初始值
int EEPROM_Init ( void * default_data );
int EEPROM_Format ( void * default_data );
//参数Address:eeprom的地址,一个地址保存16bit数据,范围0 - (EEPROM_NUM_MAX-1)
//参数length:读写buf的长度,为16bit数据的个数
uint16_t EEPROM_Read ( uint16_t Address );
int EEPROM_Write ( uint16_t Address , uint16_t Data );
int EEPROM_Read_Buf ( uint16_t Address , uint16_t * buf , uint16_t length );
int EEPROM_Write_Buf ( uint16_t Address , uint16_t * buf , uint16_t length );
//参数addr:eeprom存储空间的地址,单位byte,与上面eeprom的参数呈2倍关系,地址空间不可重复,必须2字节对齐,范围0 - (EEPROM_NUM_MAX-1)*2
//参数length:读写buf的长度,单位字节长度,必须2字节对齐
int Config_Read_Buf ( uint16_t addr , void * buf , uint16_t length );
int Config_Write_Buf ( uint16_t addr , void * buf , uint16_t length );