O comportamento do núcleo depende da implementação. O Flash não faz parte do núcleo do ARM e, como tal, todo fornecedor o implementa de maneira diferente. Normalmente, durante o processo de apagar / gravar, um seria executado a partir da RAM, e a execução não deve ser afetada.
No STM32, acredito que as leituras do flash stall enquanto os ciclos de apagamento / gravação estão em andamento. Isso faria com que a execução do núcleo parasse até a operação ser concluída. Com algumas das configurações do flash, acredito que você pode continuar a executar / ler o flash e ele só será interrompido quando você acessar a parte do flash que está apagando / programando.
Eu usei outros Cortex M onde você deve executar a partir da RAM enquanto modifica o conteúdo do flash, caso contrário, você encontrará uma falha de barramento (e provavelmente uma falha no sistema se os manipuladores de falha de barramento / falha de disco rígido estiverem em flash). Alguns micros com grandes quantidades de flash o implementam como duas matrizes de flash independentes, e geralmente permitem acesso total a um banco enquanto operam no outro.
Você precisaria consultar a documentação da sua parte específica para ver as limitações de execução ao modificar o conteúdo do flash.