STM32 EEPROM

STM32使用内部flash模拟EEPROM

你。 提交于 2020-11-27 07:35:52
开发环境: Ubuntu16.04 + SW4STM32 + STM32CubeMX + STM32F103C8T6 首先复制SW4STM32模拟EEPROM例子中的eeprom.h和eeprom.c到自己的project,例子路径为: ~/.ac6/SW4STM32/firmwares/STM32Cube_FW_F1_V1.6.0/Projects/STM32F103RB-Nucleo/Applications/EEPROM/EEPROM_Emulation 并按如下进行修改eeprom.h。 默认的page太大,我们将其改为1024Byte,这样2个page就只占用了2k的空间。 我们所用芯片只有64k的flash,所以把最后的2k拿来模拟eeprom,因此要将起始地址 改为ADDR_FLASH_PAGE_62。 /* Define the size of the sectors to be used */ -#define PAGE_SIZE (uint32_t)FLASH_PAGE_SIZE /* Page size */ +#define PAGE_SIZE 1024 /* Page size */ /* EEPROM start address in Flash */ -#define EEPROM_START_ADDRESS ((uint32_t)ADDR_FLASH