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

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

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

如何在IAR Embedded Workbench中配置生成對應代碼區(qū)域的CRC校驗碼

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

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

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

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

CRC32算法簡介

CRC32算法有很多種,下面是對應CRC32算法的一個簡單總結(jié):

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

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

在IAR Embedded Workbench中選擇對應Checksum的CRC算法

IAR Embedded Workbench中Checksum選項中CRC算法的配置與對應CRC算法的參數(shù)對應關(guān)系如下: 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

總結(jié)

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

審核編輯:湯梓紅

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

    關(guān)注

    146

    文章

    17148

    瀏覽量

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

    關(guān)注

    23

    文章

    4612

    瀏覽量

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

    關(guān)注

    0

    文章

    199

    瀏覽量

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

    關(guān)注

    5

    文章

    352

    瀏覽量

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

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68611

原文標題:在IAR Embedded Workbench中選擇對應Checksum的CRC算法來匹配MCU的CRC模塊

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    crc校驗碼生成工具下載-crc生成工具

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

    實用資料——CRC校驗碼生成算法

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

    實用資料——CRC校驗碼生成算法

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

    8位CRC校驗碼表格生成及高速校驗子程序

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

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

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

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

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

    奇偶校驗碼,奇偶校驗碼原理是什么?

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

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

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

    CRC-16校驗碼生成

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

    薦讀:基于FPGA 的CRC校驗碼生成

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

    CRC校驗碼的C語言程序免費下載

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

    CRC校驗碼并行計算的FPGA實現(xiàn)

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

    工控常用LRC XOR累加和CRC校驗工具校驗碼自動生成軟件多計算方式

    CRC校驗工具 校驗碼自動生成軟件支持十幾種CRC計算方式,包括MODBUS協(xié)議的CRC-16
    的頭像 發(fā)表于 11-25 14:27 ?3473次閱讀
    工控常用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實現(xiàn)方式

    CRC循環(huán)冗余校驗碼(Cyclic Redundancy Check),檢錯碼。
    的頭像 發(fā)表于 06-21 15:03 ?3396次閱讀
    <b class='flag-5'>CRC</b><b class='flag-5'>校驗碼</b>的多種Verilog實現(xiàn)方式