防止程序被篡改:
实现流程:在 KEIL 链接脚本中指定固件校验区(如 0x08000000 至 0x0807FFFF),上电后通过CRC_Calculate()计算该区 CRC 值,与预存的校验值(存放于 Flash 末尾)比对,不匹配则进入错误处理。
编译配置:需在 “Linker” 中勾选 “Use Memory Layout from Target Dialog”,确保 CRC 校验区地址范围与实际 Flash 容量一致(HC32F460KETA 为 512KB,即 0x80000 字节)。
|
|