在功能安全等级高的应用或者通讯的场景中,对数据做完整性的监测通常是必须的。循环冗余校验(CRC)是其中的一种方式。
有些PIC/AVR单片机上集成了硬件CRC模块,可以在硬件层面上完成CRC计算。其中的一个应用是它可以在程序执行期间实时检测程序代码的完整性,在FLASH内容被故意或意外篡改时检测出来,提高了系统的安全性,可靠性。
在MPLAB X 集成开发环境中安装MCC插件后,就可以很方便的图形化配置CRC外设。
感兴趣的朋友可以看下技术文档TB3128:8位单片机上的CRC和存储器扫描
(http://www.microchip.com.cn/newc ... ry/90003128a_cn.pdf)
另外分享一个计算CRC的实用网站 https://crccalc.com/
在GITHUB上也提供有基于PIC18F47Q10的例子pic18f47q10-crc-with-memory-scanner
(https://github.com/microchip-pic ... with-memory-scanner)
大家可下载参考。
|