Bộ vi điều khiển của bạn có thể có một số EEPROM, bộ nhớ OTP, các bit cầu chì của người dùng, nơi bạn có thể đặt cờ.
Không có "phương pháp tốt nhất trong C nhúng", việc ghi bộ nhớ không biến đổi là khác nhau ở mỗi vi điều khiển.
biên tập:
TỐC BIẾN
Nội dung bộ nhớ flash bị xóa trong khi lập trình thiết bị. Sau khi lập trình, tất cả các byte không được viết có chứa 0xFF. Tham khảo bảng dữ liệu để tìm một khu vực có thể được lập trình an toàn từ bên trong phần sụn đang chạy.
EEPROM
Mặc dù nó không được đảm bảo trong bảng dữ liệu, tất cả các EEPROM mà tôi đã thấy cho đến nay đều chứa 0xFF: s khi được vận chuyển từ nhà máy (ngoại trừ các địa chỉ được lập trình sẵn với một địa chỉ MAC duy nhất, nhưng đó là tài liệu rõ ràng). Một số thiết bị / phần mềm lập trình cũng có thể xóa hoặc lập trình nội dung EEPROM. Một số có thể được viết bảo vệ, vĩnh viễn hoặc đảo ngược.
OTP
Bộ nhớ lập trình một lần luôn chứa các giá trị ban đầu được xác định rõ, được ghi lại trong biểu dữ liệu.
Luôn luôn là một ý tưởng tốt để bao gồm một tổng kiểm tra tốt như CRC32 với dữ liệu được viết, để bảo vệ chống tham nhũng dữ liệu do các bộ phận bị lỗi, lỗi truyền, tia vũ trụ, bất cứ điều gì.