资料介绍
前言
STM32全系列产品都具有CRC外设,对CRC的计算提供硬件支持,为应用程序节省了代码空间。CRC校验值可以用于数据传输中的数据正确性的验证,也可用于数据存储时的完整性检查。在IEC60335中,也接受通过CRC校验对FLASH的完整性进行检查。在对FLASH完整性检查的应用中,需要事先计算出整个FLASH的CRC校验值(不包括最后保存CRC值的字节),放在FLASH的末尾。在程序启动或者运行的过程中重新用同样的方法计算整个FLASH的CRC校验值,然后与保存在FLASH末尾的CRC值进行比较。
EWARM从v5.5版本之后开始支持STM32芯片的CRC计算。前面所说的计算整个FLASH的CRC校验值并保存在FLASH末尾的过程,可以在IAR中完成。通过配置EWARM的CRC计算参数,自动对整个FLASH空间进行CRC计算,并将计算结果放到FLASH的末尾。本文中将介绍的就是如何配置IAR的CRC参数,使之与STM32的CRC硬件模块保持一致。本文中的例子都基于STM32F072进行。
STM32的CRC外设
CRC校验值的计算采用多项式除法,可以通过除数和被除数进行异或运算实现。这种方法非常适合通过硬件电路来实现。
使用STM32CRC外设时,你要考虑的内容包括:采用哪个CRC生成多项式,输入数据(要进行校验的数据)和初始值。
1.生成多项式
默认使用CRC32多项式:0x4C11DB7
部分芯片支持可编程的多项式,比如STM32F3,STM32F0,STM32L0
2.初始值
STM32的CRC初始值默认为0xFFFFFFFF,STM32F3,STM32F0,STM32L0系列可以修改初始值
3.输入/输出数据的反转
STM32F3,STM32F0,STM32L0系列还提供了对输入/输出数据进行反转的功能。
默认不对输入数据和输出数据进行位反转
• 对输入数据的位反转操作可以设置为按字节/半字 /字为单元进行操作。例如输入数据为0x1A2B3C4D,
- 每个字节内逐位反转,结果是0x58D43CB2
- 每半字内逐位反转,结果是0xD458B23C
- 每个字长内逐位反转,结果是0xB23CD458
• 对输出数据的位反转。
- 例如输出数据为0x11223344,反转后为0x22CC4488
IAR的CRC配置
1.修改Link文件
指定checksum在FLASH中的存储位置,在Link文件中增加下面语句。
该语句指定将CRC的值放在FLASH的末尾位置。是整个FLASH空间的末尾,不是应用程序的代码末尾。这样,CRC值的位置就是固定的。不会随代码大小而变化。
2.配置Checksum页面的参数
IAR Checksum页说明(v6.4及以上)
IAR的checksum页面分为两个部分。
第一部分,也就是红线圈出的部分。定义了FLASH中需要计算CRC的范围和空闲字节填充值。
剩下的部分,就是对checksum计算参数的设定部分。
Checksum size :选择checksum的大小(字节数)
Alignment:指定checksum的对齐方式。不填的话默认2字节对齐。
Algorithm:选择checksum的算法
Complement:是否需要进行补码计算。选择“Asis”就是不进行补码计算。
Bit order:位输出的顺序。MSB first,每个字节的高位在前。LSB first,每个字节的低位在前。
Reverse byte order within word: 对于输入数据,在一个字内反转各个字节的顺序。
Initial value: checksum计算的初始化值
Checksum unit size :选择进行迭代的单元大小,按8-bit,16-bit还是32-bit进行迭代。
3.STM32 CRC外设使用默认配置时IAR的配置
STM32CRC外设的配置:
POLY= 0x4C11DB7(CRC32)
Initial_Crc = 0Xffffffff
输入/输出数据不反转
输入数据:0x08000000~0x0801FFFB。(最后4个字节用来放计算出的CRC值)
具体使用中我们可以根据实际应用需求参照上面介绍做相应配置即可。
本文转载自
转载地址:
声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有,如涉及侵权,请联系小编进行处理。
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- STM32 CRC使用详解
- 在STM32系列中使用CRC外设
- TF协同优化参数配置策略(附厂家配置方案参数)资料下载
- STM32 APB1总线时钟配置问题资料下载
- 5G站点网优参数配置教程资料下载
- IAR 开发STM32 ARM 版本不兼容 解决办法资料下载 0次下载
- USB 3.0中的CRC校验原理及实现资料下载
- STM32F030_LED详细配置总结资料下载
- STM32F030_USART的常用应用和功能配置资料下载
- 如何在STM32中配置PWM死区时间资料下载
- 16位CRC验证码生成VI工具下载 57次下载
- STM32软件开工具IAR KeyGenYYC的应用程序免费下载 4次下载
- STM32 IAR的库函数资料免费下载 44次下载
- 如何使用IAR开发STM32配置详细资料说明
- IAR环境配置
- 思为无线LoRaPro系列数传模块参数配置说明 540次阅读
- 在IAR Embedded Workbench中计算多个地址区间的Checksum 2.7k次阅读
- 如何在IAR Embedded Workbench中配置生成对应代码区域的CRC校验码 3k次阅读
- N32G45x硬件CRC计算Modbus的CRC16 2.2k次阅读
- S32K3基于IAR IDE环境下使用JLINK调试 7.1k次阅读
- 从原理到代码理解CRC循环冗余校验 3.7k次阅读
- 基于STM32CubeIDE的调试配置 5.2k次阅读
- 细说CANFD CRC段带来的变化 2.3k次阅读
- CC2530(zigbee)开发: IAR新建工程并编译下载 6.1k次阅读
- CRC校验和STM32中CRC计算单元相关内容 6.8k次阅读
- 开发STM32除了MDK-ARM和IAR,还可以选择哪些软件? 2.6w次阅读
- STM32之软件CRC和硬件CRC速度测试 6.8k次阅读
- IAR在STM32的配置方法 1.9w次阅读
- STM32在IAR的开发步骤 2.6w次阅读
- 《振南电子STM32视频教程》第二讲:STM32固件库说明 1.6k次阅读
下载排行
本周
- 1FS4054H 输入电压范围3.8V~6.8V 输入最大耐压28V 输入过压关闭充电阈值6.8V
- 4.22 MB | 2次下载 | 免费
- 2AC/DC 225W 开板电源 LOF225-23BxxR2系列数据手册
- 2.70 MB | 1次下载 | 1 积分
- 3晶振技术解析---电子设备的“时钟心脏”
- 1.55 MB | 1次下载 | 免费
- 4AU6830M 集成音频 DSP 的 2 × 41W 数字型 Class D 音频功率放大器数据手册
- 1.86 MB | 次下载 | 免费
- 5AU6815E 集成音频 DSP 的2×32W数字型 Class D 音频功率放大器数据手册
- 1.21 MB | 次下载 | 免费
- 6I-PEX 82652-100B-02-D_CABLINE-CA系列40P极细同轴线束SI设计图纸
- 293.34 KB | 次下载 | 免费
- 7I-PEX 82863-100B-02-D_CABLINE-CA系列PCIe/USB4极细同轴线图纸
- 301.83 KB | 次下载 | 免费
- 8YA-002S屏幕挂灯说明书
- 1.25 MB | 次下载 | 免费
本月
- 1人形机器人执行、感知系统技术及市场解析
- 3.52 MB | 5次下载 | 免费
- 2WD431产品规格书
- 1.32 MB | 3次下载 | 免费
- 3A-29回音消除模块
- 1.28 MB | 2次下载 | 免费
- 4 双麦阵列回音消除及降噪模块 A-47 说明书
- 1.96 MB | 2次下载 | 免费
- 5FS4054H 输入电压范围3.8V~6.8V 输入最大耐压28V 输入过压关闭充电阈值6.8V
- 4.22 MB | 2次下载 | 免费
- 6A-68语音处理模组规格书V1
- 1.47 MB | 1次下载 | 免费
- 7A-29P回音消除模块
- 1.42 MB | 1次下载 | 免费
- 8瑞芯微RK3562开发板资料-飞凌嵌入式
- 2.80 MB | 1次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233095次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191469次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183361次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81608次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73836次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论