How to write/read to FLASH on STM32F4, Cortex M4

You can use following code for write data to flash with HAL library. void Write_Flash(uint8_t data) { HAL_FLASH_Unlock(); __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGSERR ); FLASH_Erase_Sector(FLASH_SECTOR_6, VOLTAGE_RANGE_3); HAL_FLASH_Program(TYPEPROGRAM_WORD, FlashAddress, data); HAL_FLASH_Lock(); } You should update linker script as follows. Add DATA in MEMORY and add .user_data in SECTIONS. MEMORY { RAM (xrw) … Read more