Question
Store string into FLASH memory (STM32F407)
I want to insert the string my_data_SRAM in the base address of the FLASH. I wrote this code and tried 2 ways:
1) *((uint8_t *)BASE_ADDRESS_FLASH+i) = my_data_RAM[i];
2) HAL_FLASH_Program(TYPEPROGRAM_WORD, (uint32_t *)(BASE_ADDRESS_FLASH+i), my_data_RAM[i]);
Can you tell me where I am wrong? If it is a syntax error or if it is not possible to do what I want to do
#define BASE_ADDRESS_FLASH 0x08000000
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
uint8_t i = 0;
for (i = 0; i < sizeof(my_data_RAM); i++) {
//1° method:
*((uint8_t *)BASE_ADDRESS_FLASH+i) = my_data_RAM[i];
//2° method:
HAL_FLASH_Program(TYPEPROGRAM_WORD, (uint32_t *)(BASE_ADDRESS_FLASH+i), my_data_RAM[i]);
}
while (1)
{
}
}