Mikrokontroler Anda mungkin memiliki beberapa EEPROM, memori OTP, bit sekering pengguna, tempat Anda dapat mengatur flag.
Tidak ada "metode terbaik dalam embedded C", menulis memori nonvolatile berbeda di setiap mikrokontroler.
edit:
FLASH
Isi memori flash dihapus saat memprogram perangkat. Setelah pemrograman, semua byte yang tidak ditulis mengandung 0xFF. Konsultasikan lembar data untuk menemukan area yang dapat diprogram dengan aman dari dalam firmware yang sedang berjalan.
EEPROM
Meskipun tidak dijamin dalam lembar data, semua EEPROM yang saya lihat sejauh ini mengandung 0xFF: s ketika dikirim dari pabrik (kecuali yang diprogram sebelumnya dengan alamat MAC yang unik, tapi itu didokumentasikan secara eksplisit). Beberapa perangkat / perangkat lunak pemrograman juga dapat menghapus atau memprogram konten EEPROM. Beberapa dapat dilindungi secara tertulis, secara permanen atau terbalik.
OTP
Memori One Time Programmable selalu berisi nilai awal yang terdefinisi dengan baik, didokumentasikan dalam lembar data.
Itu selalu ide yang baik untuk memasukkan checksum yang baik seperti CRC32 dengan data yang ditulis, untuk melindungi terhadap korupsi data yang disebabkan oleh bagian yang rusak, kesalahan transmisi, sinar kosmik, apa pun.