哨兵值

哨兵值:

  就是在数据序列或数据结构里放一个不可能与正常数据混淆的特殊值【正常业务数据中一定不能存在】,用来标记边界、结束或者异常状态。

  • C 语言字符串的 '\0'代表结束;
  • 采集温度值(-40~100)的初始值用0xff.
  • 循环搜索 / 查找表终结(表格末尾放一个全零或全1的记录)
  • 任务或状态的终止(无效任务/最大任务ID【正常值不会为该值】)
  • 通信协议中的帧边界
  • 栈溢出的"金丝雀"
  • 存储参数块的"有效性魔数"

    image

  •  

    固件完整性校验(常会去 Flash 的特定地址读一个哨兵魔数(比如 0xDEADBEEF)。如果匹配,认为固件合法,跳转执行;否则进入升级模式。这比单纯检验 CRC 更快,是第一道滤网) 

  • 掉电保护与事务提交哨兵(RTC设置)
posted on 2026-07-22 16:33  杰瑞鼠  阅读(14)  评论(0)    收藏  举报