RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在IAR Embedded Workbench中配置生成對(duì)應(yīng)代碼區(qū)域的CRC校驗(yàn)碼

IAR愛亞系統(tǒng) ? 來源:IAR愛亞系統(tǒng) ? 2023-10-27 11:49 ? 次閱讀

在“使用IAR Embedded Workbench和MCU的CRC模塊來檢查代碼的完整性”一文中,介紹了如何在IAR Embedded Workbench中配置生成對(duì)應(yīng)代碼區(qū)域的CRC校驗(yàn)碼,然后在運(yùn)行過程中使用MCU內(nèi)嵌的CRC硬件模塊計(jì)算對(duì)應(yīng)代碼區(qū)域的CRC校驗(yàn)碼,并和之前存儲(chǔ)的CRC校驗(yàn)碼進(jìn)行比較來檢查對(duì)應(yīng)代碼區(qū)域的完整性。

CRC算法有很多種,一般MCU內(nèi)嵌的CRC硬件模塊支持的CRC算法種類是固定的,所以需要在IAR Embedded Workbench中選擇對(duì)應(yīng)的Checksum的CRC算法來匹配MCU的CRC模塊。

本文主要以CRC32算法為例,介紹如何在IAR Embedded Workbench中選擇對(duì)應(yīng)Checksum的CRC算法來匹配MCU的CRC模塊。

CRC32算法簡介

CRC32算法有很多種,下面是對(duì)應(yīng)CRC32算法的一個(gè)簡單總結(jié):

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

對(duì)應(yīng)CRC32算法主要跟對(duì)應(yīng)的5個(gè)參數(shù)相關(guān):Poly(多項(xiàng)式),Init(初始值),RefIn(輸入值反轉(zhuǎn)),RefOut(輸出值反轉(zhuǎn))和XorOut(結(jié)果異或值)。理論上這5個(gè)參數(shù)組合最多可以有非常多種算法,不過實(shí)際使用中一般以上面幾種為主。

在IAR Embedded Workbench中選擇對(duì)應(yīng)Checksum的CRC算法

IAR Embedded Workbench中Checksum選項(xiàng)中CRC算法的配置與對(duì)應(yīng)CRC算法的參數(shù)對(duì)應(yīng)關(guān)系如下: a28a9c62-7474-11ee-939d-92fbcf53809c.png

下面通過兩個(gè)例子來介紹如何在IAR Embedded Workbench中選擇對(duì)應(yīng)Checksum的CRC算法(Project > Options > Linker > Checksum > Generate checksum)。

CRC-32

Algorithm:選擇“CRC32”(對(duì)應(yīng)的Poly自動(dòng)選擇為0x04C11DB7)

Complement:選擇“1’s complement”(對(duì)應(yīng)的XorOut為0xFFFFFFFF)

Initial value:輸入“0xFFFFFFFF”(對(duì)應(yīng)的Init為0xFFFFFFFF)

Bit order:選擇“LSB first”(對(duì)應(yīng)RefIn = TRUE, RefOut = TRUE)

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

CRC-32/MPEG-2

Algorithm:選擇“CRC32”(對(duì)應(yīng)的Poly自動(dòng)選擇為0x04C11DB7)

Complement:選擇“As is”(對(duì)應(yīng)的XorOut為0x00000000)

Initial value:輸入“0xFFFFFFFF”(對(duì)應(yīng)的Init為0xFFFFFFFF)

Bit order:選擇“MSB first”(對(duì)應(yīng)RefIn = FALSE, RefOut = FALSE) a2c632fe-7474-11ee-939d-92fbcf53809c.png

總結(jié)

本文主要以CRC32算法為例,介紹了如何在IAR Embedded Workbench中選擇對(duì)應(yīng)Checksum的CRC算法來匹配MCU的CRC模塊,提高對(duì)應(yīng)Checksum校驗(yàn)代碼的效率。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17123

    瀏覽量

    350975
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4607

    瀏覽量

    92826
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    199

    瀏覽量

    29461
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    350

    瀏覽量

    36664
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4779

    瀏覽量

    68521

原文標(biāo)題:在IAR Embedded Workbench中選擇對(duì)應(yīng)Checksum的CRC算法來匹配MCU的CRC模塊

文章出處:【微信號(hào):IAR愛亞系統(tǒng),微信公眾號(hào):IAR愛亞系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IAR Embedded Workbench中計(jì)算多個(gè)地址區(qū)間的Checksum

    在前面的文章“使用IAR Embedded Workbench和MCU的CRC模塊來檢查代碼的完整性”中介紹了如
    的頭像 發(fā)表于 01-05 12:33 ?1520次閱讀
    在<b class='flag-5'>IAR</b> <b class='flag-5'>Embedded</b> <b class='flag-5'>Workbench</b>中計(jì)算多個(gè)地址區(qū)間的Checksum

    crc校驗(yàn)碼生成工具下載-crc生成工具

    crc校驗(yàn)碼生成工具下載-crc生成工具[此貼子已經(jīng)被作者于2008-5-30 9:23:38編輯過]
    發(fā)表于 05-20 11:16

    實(shí)用資料——CRC校驗(yàn)碼生成算法

    同樣方法進(jìn)行計(jì)算,只是計(jì)算的內(nèi)容不要包括最后兩個(gè)字節(jié),然后比較生成CRC校驗(yàn)碼和數(shù)據(jù)幀的是否相同即可。如果發(fā)送方交換CRC
    發(fā)表于 01-11 21:10

    實(shí)用資料——CRC校驗(yàn)碼生成算法

    同樣方法進(jìn)行計(jì)算,只是計(jì)算的內(nèi)容不要包括最后兩個(gè)字節(jié),然后比較生成CRC校驗(yàn)碼和數(shù)據(jù)幀的是否相同即可。如果發(fā)送方交換CRC
    發(fā)表于 02-14 19:45

    8位CRC校驗(yàn)碼表格生成及高速校驗(yàn)子程序

    8位CRC校驗(yàn)碼表格生成及高速校驗(yàn)子程序
    發(fā)表于 05-16 13:49 ?110次下載

    電話網(wǎng)遠(yuǎn)程通信中CRC校驗(yàn)碼的設(shè)計(jì)及實(shí)現(xiàn)

    本文介紹了基于電話網(wǎng)遠(yuǎn)距離分布式測控系統(tǒng)的通信方法,重點(diǎn)介紹了傳輸協(xié)議CRC 循環(huán)校驗(yàn)碼校驗(yàn)原理,CRC
    發(fā)表于 08-12 10:24 ?18次下載

    循環(huán)冗余校驗(yàn)碼---CRC

    循環(huán)冗余校驗(yàn)碼---CRC   二進(jìn)制信息位串沿一條信號(hào)線逐位在部件之間或計(jì)算機(jī)之間傳送稱為串行傳送。CRC(Cyclic Redundancy c
    發(fā)表于 10-13 16:52 ?7174次閱讀
    循環(huán)冗余<b class='flag-5'>校驗(yàn)碼</b>---<b class='flag-5'>CRC</b><b class='flag-5'>碼</b>

    奇偶校驗(yàn)碼,奇偶校驗(yàn)碼原理是什么?

    奇偶校驗(yàn)碼,奇偶校驗(yàn)碼原理是什么? 奇偶校驗(yàn)碼是奇校驗(yàn)碼和偶校驗(yàn)碼的統(tǒng)稱,是一種最基本的檢錯(cuò)碼。它是由n-1位信息元和1位
    發(fā)表于 03-17 17:39 ?6.3w次閱讀

    CRC校驗(yàn)碼算法的研究與實(shí)現(xiàn)

    為了提高實(shí)際通信中檢查信號(hào)傳輸錯(cuò)誤的能力,提高和推廣CRC校驗(yàn)技術(shù),本論文用邏輯代數(shù)知識(shí)、按模運(yùn)算、代數(shù)知識(shí)和C語言編程工具設(shè)計(jì)了幾種具體實(shí)用的CRC校驗(yàn)碼的計(jì)算方法,這些
    發(fā)表于 05-28 15:41 ?0次下載

    CRC-16校驗(yàn)碼生成

    C#編寫的CRC校驗(yàn)碼生成小程序,簡潔明了,如果有需要的話,大家可以下載了。
    發(fā)表于 05-06 15:06 ?8次下載

    薦讀:基于FPGA 的CRC校驗(yàn)碼生成

    大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天我們來聊一聊基于FPGA 的CRC校驗(yàn)碼生成器。下面咱們就來具體看看,歡迎大家一起交流學(xué)習(xí)。 1.概述 CRC即Cyclic Redundancy
    的頭像 發(fā)表于 06-13 11:18 ?6496次閱讀
    薦讀:基于FPGA 的<b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b><b class='flag-5'>生成</b>器

    CRC校驗(yàn)碼的C語言程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是CRC校驗(yàn)碼的C語言程序免費(fèi)下載。
    發(fā)表于 04-22 08:00 ?27次下載
    <b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b>的C語言程序免費(fèi)下載

    CRC校驗(yàn)碼并行計(jì)算的FPGA實(shí)現(xiàn)

    用軟件實(shí)現(xiàn) CRC 校驗(yàn)碼計(jì)算很難滿足高速數(shù)據(jù)通信的要求 ,基于硬件的實(shí)現(xiàn)方法 ,有串行經(jīng)典算法 LFSR 電路 以及由軟件算法推導(dǎo)出來的其它各種并行計(jì)算方法。以經(jīng)典的LFSR 電路為基礎(chǔ) ,研究
    發(fā)表于 03-28 09:34 ?30次下載
    <b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b>并行計(jì)算的FPGA實(shí)現(xiàn)

    工控常用LRC XOR累加和CRC校驗(yàn)工具校驗(yàn)碼自動(dòng)生成軟件多計(jì)算方式

    CRC校驗(yàn)工具 校驗(yàn)碼自動(dòng)生成軟件支持十幾種CRC計(jì)算方式,包括MODBUS協(xié)議的CRC-16
    的頭像 發(fā)表于 11-25 14:27 ?3445次閱讀
    工控常用LRC XOR累加和<b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)</b>工具<b class='flag-5'>校驗(yàn)碼</b>自動(dòng)<b class='flag-5'>生成</b>軟件多計(jì)算方式

    CRC校驗(yàn)碼的多種Verilog實(shí)現(xiàn)方式

    CRC循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check),檢錯(cuò)碼。
    的頭像 發(fā)表于 06-21 15:03 ?3385次閱讀
    <b class='flag-5'>CRC</b><b class='flag-5'>校驗(yàn)碼</b>的多種Verilog實(shí)現(xiàn)方式
    RM新时代网站-首页