0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在IAR Embedded Workbench中配置生成对应代码区域的CRC校验码

IAR爱亚系统 来源:IAR爱亚系统 2023-10-27 11:49 次阅读

在“使用IAR Embedded Workbench和MCU的CRC模块来检查代码的完整性”一文中,介绍了如何在IAR Embedded Workbench中配置生成对应代码区域的CRC校验码,然后在运行过程中使用MCU内嵌的CRC硬件模块计算对应代码区域的CRC校验码,并和之前存储的CRC校验码进行比较来检查对应代码区域的完整性。

CRC算法有很多种,一般MCU内嵌的CRC硬件模块支持的CRC算法种类是固定的,所以需要在IAR Embedded Workbench中选择对应的Checksum的CRC算法来匹配MCU的CRC模块。

本文主要以CRC32算法为例,介绍如何在IAR Embedded Workbench中选择对应Checksum的CRC算法来匹配MCU的CRC模块。

CRC32算法简介

CRC32算法有很多种,下面是对应CRC32算法的一个简单总结:

a2759eb6-7474-11ee-939d-92fbcf53809c.png

对应CRC32算法主要跟对应的5个参数相关:Poly(多项式),Init(初始值),RefIn(输入值反转),RefOut(输出值反转)和XorOut(结果异或值)。理论上这5个参数组合最多可以有非常多种算法,不过实际使用中一般以上面几种为主。

在IAR Embedded Workbench中选择对应Checksum的CRC算法

IAR Embedded Workbench中Checksum选项中CRC算法的配置与对应CRC算法的参数对应关系如下: a28a9c62-7474-11ee-939d-92fbcf53809c.png

下面通过两个例子来介绍如何在IAR Embedded Workbench中选择对应Checksum的CRC算法(Project > Options > Linker > Checksum > Generate checksum)。

CRC-32

Algorithm:选择“CRC32”(对应的Poly自动选择为0x04C11DB7)

Complement:选择“1’s complement”(对应的XorOut为0xFFFFFFFF)

Initial value:输入“0xFFFFFFFF”(对应的Init为0xFFFFFFFF)

Bit order:选择“LSB first”(对应RefIn = TRUE, RefOut = TRUE)

a29ea220-7474-11ee-939d-92fbcf53809c.png

CRC-32/MPEG-2

Algorithm:选择“CRC32”(对应的Poly自动选择为0x04C11DB7)

Complement:选择“As is”(对应的XorOut为0x00000000)

Initial value:输入“0xFFFFFFFF”(对应的Init为0xFFFFFFFF)

Bit order:选择“MSB first”(对应RefIn = FALSE, RefOut = FALSE) a2c632fe-7474-11ee-939d-92fbcf53809c.png

总结

本文主要以CRC32算法为例,介绍了如何在IAR Embedded Workbench中选择对应Checksum的CRC算法来匹配MCU的CRC模块,提高对应Checksum校验代码的效率。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16944

    浏览量

    350103
  • 算法
    +关注

    关注

    23

    文章

    4595

    浏览量

    92569
  • crc
    crc
    +关注

    关注

    0

    文章

    199

    浏览量

    29426
  • IAR
    IAR
    +关注

    关注

    5

    文章

    344

    浏览量

    36606
  • 代码
    +关注

    关注

    30

    文章

    4733

    浏览量

    68291

原文标题:在IAR Embedded Workbench中选择对应Checksum的CRC算法来匹配MCU的CRC模块

文章出处:【微信号:IAR爱亚系统,微信公众号:IAR爱亚系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IAR Embedded Workbench中计算多个地址区间的Checksum

    在前面的文章“使用IAR Embedded Workbench和MCU的CRC模块来检查代码的完整性”中介绍了如
    的头像 发表于 01-05 12:33 1427次阅读
    在<b class='flag-5'>IAR</b> <b class='flag-5'>Embedded</b> <b class='flag-5'>Workbench</b>中计算多个地址区间的Checksum

    crc校验码生成工具下载-crc生成工具

    crc校验码生成工具下载-crc生成工具[此贴子已经被作者于2008-5-30 9:23:38编辑过]
    发表于 05-20 11:16

    实用资料——CRC校验码生成算法

    同样方法进行计算,只是计算的内容不要包括最后两个字节,然后比较生成CRC校验码和数据帧的是否相同即可。如果发送方交换CRC
    发表于 01-11 21:10

    实用资料——CRC校验码生成算法

    同样方法进行计算,只是计算的内容不要包括最后两个字节,然后比较生成CRC校验码和数据帧的是否相同即可。如果发送方交换CRC
    发表于 02-14 19:45

    8位CRC校验码表格生成及高速校验子程序

    8位CRC校验码表格生成及高速校验子程序
    发表于 05-16 13:49 110次下载

    电话网远程通信中CRC校验码的设计及实现

    本文介绍了基于电话网远距离分布式测控系统的通信方法,重点介绍了传输协议CRC 循环校验码校验原理,CRC
    发表于 08-12 10:24 18次下载

    循环冗余校验码---CRC

    循环冗余校验码---CRC   二进制信息位串沿一条信号线逐位在部件之间或计算机之间传送称为串行传送。CRC(Cyclic Redundancy c
    发表于 10-13 16:52 7156次阅读
    循环冗余<b class='flag-5'>校验码</b>---<b class='flag-5'>CRC</b><b class='flag-5'>码</b>

    奇偶校验码,奇偶校验码原理是什么?

    奇偶校验码,奇偶校验码原理是什么? 奇偶校验码是奇校验码和偶校验码的统称,是一种最基本的检错码。它是由n-1位信息元和1位
    发表于 03-17 17:39 6.3w次阅读

    CRC校验码算法的研究与实现

    为了提高实际通信中检查信号传输错误的能力,提高和推广CRC校验技术,本论文用逻辑代数知识、按模运算、代数知识和C语言编程工具设计了几种具体实用的CRC校验码的计算方法,这些
    发表于 05-28 15:41 0次下载

    CRC-16校验码生成

    C#编写的CRC校验码生成小程序,简洁明了,如果有需要的话,大家可以下载了。
    发表于 05-06 15:06 8次下载

    荐读:基于FPGA 的CRC校验码生成

    大家好,又到了每日学习的时间了,今天我们来聊一聊基于FPGA 的CRC校验码生成器。下面咱们就来具体看看,欢迎大家一起交流学习。 1.概述 CRC即Cyclic Redundancy
    的头像 发表于 06-13 11:18 6463次阅读
    荐读:基于FPGA 的<b class='flag-5'>CRC</b><b class='flag-5'>校验码</b><b class='flag-5'>生成</b>器

    CRC校验码的C语言程序免费下载

    本文档的主要内容详细介绍的是CRC校验码的C语言程序免费下载。
    发表于 04-22 08:00 27次下载
    <b class='flag-5'>CRC</b><b class='flag-5'>校验码</b>的C语言程序免费下载

    CRC校验码并行计算的FPGA实现

    用软件实现 CRC 校验码计算很难满足高速数据通信的要求 ,基于硬件的实现方法 ,有串行经典算法 LFSR 电路 以及由软件算法推导出来的其它各种并行计算方法。以经典的LFSR 电路为基础 ,研究
    发表于 03-28 09:34 30次下载
    <b class='flag-5'>CRC</b><b class='flag-5'>校验码</b>并行计算的FPGA实现

    工控常用LRC XOR累加和CRC校验工具校验码自动生成软件多计算方式

    CRC校验工具 校验码自动生成软件支持十几种CRC计算方式,包括MODBUS协议的CRC-16
    的头像 发表于 11-25 14:27 3349次阅读
    工控常用LRC XOR累加和<b class='flag-5'>CRC</b><b class='flag-5'>校验</b>工具<b class='flag-5'>校验码</b>自动<b class='flag-5'>生成</b>软件多计算方式

    CRC校验码的多种Verilog实现方式

    CRC循环冗余校验码(Cyclic Redundancy Check),检错码。
    的头像 发表于 06-21 15:03 3328次阅读
    <b class='flag-5'>CRC</b><b class='flag-5'>校验码</b>的多种Verilog实现方式