首页/文章/ 详情

嵌入式学习(五)—STM32 CRC计算单元

1年前浏览236

SMT32F4xx系列中有一个CRC(Cyclic Redundancy Check 循环冗余校验)计算单元,它是使用一个固定的多项式发生器从一个32位的数据字中产生的CRC码。其主要应用是常用于验证数据传输或存储的完整性。根据EN/IEC60335-1标准的规定,这些技术提供了验证flash完整性的方法。CRC计算单元有助于在运行期间计算软件的签名,并将该签名与链接时生成并存储在指定存储单元的参考签名加以比较。

CRC 功能说明

CRC 计算单元主要由单个 32 位数据寄存器组成,该寄存器:

● 用作输入寄存器,向 CRC 计算器中输入新数据 (向寄存器写入数据时)

● 可保存之前的 CRC 计算结果 (读取寄存器时)

CRC 寄存器

CRC 计算单元包含两个数据寄存器和一个控制寄存器。CRC 寄存器必须按字(32 位)访问。

1-数据寄存器 (CRC_DR):32bit, 向 CRC 计算器写入新数据时用作输入寄存器。读取寄存器时可读出之前的 CRC 计算结果。

2-独立数据寄存器 (CRC_IDR):32bit ,只用到了低8bit ,可用作一个字节的临时存储单元。此寄存器不受 CRC_CR 寄存器中 RESET 位产生的 CRC 复位影响。

3-控制寄存器 (CRC_CR):32bit ,只用到了bit0,复位 CRC 计算单元并将数据寄存器设为 0xFFFF FFFF。此位只能置 1,将由硬件自动进行清零。

来源:不懂幽默的秦二

控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-21
最近编辑:1年前
点墨设计
本科 | 高级硬件工程... 十年饮冰,难凉热血!
获赞 0粉丝 7文章 48课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈