STM32L0 内部FLASH和EEPROM写读 说明 STM32L0内部的FLASH和EEPROM访问方式一致,写操作由解锁,擦除,写入,加锁过程组成,读过程则无需解锁。至于STM32L0内部的非易失空间区分为FLASH和EEPROM,主要体现在用ST-LINK等工具进行整片擦除时,只擦除FLASH的空间,EEPROM的部分不会被擦除,如同外部EEPROM芯片,MPU的代码升级不影响EEPROM的内容。后面以内部EEPROM的写读作为范例。 基础写读函数 定义内部EEPROM的地址空间: //STM32L031K6T6 #define EEPROM_BASE_ADDR 0x08080000 #define EEPROM_BYTE_SIZE 0x03FF 基础字节写函数 //Byte write void FLASHEx_EEPROM_WRITE(uint16_t BiasAddress, uint8_t *Data, uint8_t len) { uint8_t i; HAL_StatusTypeDef status = HAL_OK; HAL_FLASHEx_DATAEEPROM_Unlock(); for(i=0;i<len;i++) { status +=HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_BYTE,