I'm trying to erase a single page of flash memory at 0x0800F800 (on a 64kB STM32F103C8T6) by using the following code, which runs from RAM:while(FLASH->SR & FLASH_SR_BSY);
FLASH->CR = FLASH_CR_PER;
FLASH->AR = 0x0800F800;
FLASH->CR |= FLASH_CR_STRT;
...