С записью проблем нет, нужно только выполнить unlock. При отладке, во время стирания сектора, отладчик падает - это раз. В процессе работы с flash рекомендуется определять конец процедуры по флагу EOP. Флаг EOP будет выставляться только в том случае, если разрешено прерывание EOPIE.
Так же отмечу, что во время процедуры стирания сектора (по крайней мере для stm32f407) flash занят. Выполнять в это время оперции из флеша не получится:
"An ongoing Flash memory operation will not block the CPU as long as the CPU does not access the Flash memory. On the contrary, during a program/erase operation to the Flash memory, any attempt to read the Flash memory will stall the bus. The read operation will proceed correctly once the program/erase operation has completed. This means that code or data fetches cannot be made while a program/erase operation is ongoing."
На F4 стирание сектора у меня занимает от 1 до 3 секунд.