Saya menggunakan MDK-Lite Versi 5.23 dengan STMicroelectronics STM32F072B-Disco "Discovery" board dan saya mencoba menggunakan Contoh Flash yang disediakan oleh sampel Discovery.
Saya telah menggunakan board dan toolchain ini untuk contoh lain dan saya telah mengkodekan beberapa pekerjaan SPI dan GPIO. IDE bekerja seperti jagoan. Namun, untuk proyek khusus ini saya dapat membuat kode dan menjalankannya dengan mengunduh dan menggunakan tombol reset. Saya tidak dapat menggunakan debugger pada proyek segera setelah saya menggunakan rutin HAL_FLASHEx_Erase (). Setelah saya menjalankan rutin itu, IDE memunculkan dialog "Tidak dapat mengakses target. Mematikan sesi debug."
Untuk apa nilainya, saya tahu ini bukan kesalahan pemrograman karena jika saya mengunduh kode dan kemudian mengeksekusi kode dengan menekan tombol reset itu akan berfungsi. Saya telah menggunakan debugger yang sama ini dengan papan TI dan mampu memprogram flash dan juga menjalankan rutinitas flash. Saya cukup yakin saya tidak menghapus bagian dari flash tempat kode disimpan, jadi bukan itu.
Jika saya melangkahi baris ini di main.c
if (HAL_FLASHEx_Erase(&EraseInitStruct, &PageError) != HAL_OK)
kemudian menjatuhkan sesi debug. Jika saya malah melangkah ke baris yang sama dan kemudian melangkahi masing-masing panggilan dalam rutin menghapus flash, maka itu akan bekerja dan akhirnya keluar dari rutin dan saya bisa men-debug sisa kode.