Perilaku inti tidak tergantung pada implementasi. Flash bukan bagian integral dari inti ARM, dan karenanya, setiap vendor menerapkannya secara berbeda. Biasanya, selama proses hapus / tulis seseorang akan mengeksekusi dari RAM, dan eksekusi tidak akan terpengaruh.
Pada STM32, saya percaya membaca dari flash stall sementara menghapus / menulis siklus sedang berlangsung. Ini akan menyebabkan eksekusi inti terhenti hingga operasi selesai. Dengan beberapa konfigurasi flash, saya yakin Anda dapat terus menjalankan / membaca flash dan itu hanya akan berhenti ketika Anda mengakses bagian dari flash yang Anda hapus / pemrograman.
Saya telah menggunakan Cortex M lain di mana Anda harus mengeksekusi dari RAM sambil memodifikasi konten flash jika tidak Anda akan menemukan kesalahan bus (dan kemungkinan sistem crash jika penangan kesalahan bus / penangan kesalahan keras Anda dalam flash). Beberapa mikro dengan sejumlah besar flash menerapkannya sebagai dua array flash independen, dan ini biasanya memungkinkan akses penuh ke satu bank saat beroperasi di yang lain.
Anda perlu merujuk ke dokumentasi untuk bagian spesifik Anda untuk melihat batasan eksekusi saat memodifikasi konten flash.