Now, I can unlock flash memory for data save by erase page size 800(2kbyte) and I would like to data save for binary.
0x0800800 for '1'
0x0800801 for '2'
0x0800802 for '3'
How should I do?
below my code for erase page size so I would like to write binary for flash memory
#define ADDR_FLASH_PAGE_0 ((uint32_t)0x08000000) /* Base address of Page 0, 2 Kbytes */
#define ADDR_FLASH_PAGE_1 ((uint32_t)0x08000800) /* Base address of Page 1, 2 Kbytes */
uint32_t READ_FLASH(uint32_t Address)
return *(uint32_t *)Address;
void WRITE_FLASH(uint32_t Data, uint32_t Address, uint32_t StartAddress, uint32_t EndAddress)
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;
EraseInitStruct.PageAddress = (uint32_t)Address;
EraseInitStruct.NbPages = (EndAddress - StartAddress)/FLASH_PAGE_SIZE;
HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, Data);