オンラインの一般的なCRC32の計算
テクニカル・ノート 191210
アーキテクチャ:
All
コンポーネント:
general
更新日:
2020/03/20 8:58
はじめに
このテクニカルノートは、オンラインのCRC計算で使われている最も一般的なCRC32アルゴリズムを使ってIAR Embedded Workbench for Arm でどのようにCRC32を計算するのかを説明します。
解説
たとえば、以下のオンラインCRC32計算では、入力データ0x01 0x02 0x03 0x04の結果は0xB63CFBCDになります。
- https://crccalc.com/?crc=01020304&method=crc32&datatype=hex
- http://www.sunshine2k.de/coding/javascript/crc/crc_js.html
- https://www.lammertbies.nl/comm/info/crc-calculation.html
Technical Note 45456 のCRC32サンプルプロジェクトは、オンラインCRC計算と比較して異なる結果を与えることに注意してください。
IAR ielftoolでオンラインCRC計算と同じ結果を得るためには、Project(プロジェクト)>Options(オプション)>Linker(リンカ)>Checksum(チェックサム) ダイアログボックス の関連設定を以下としてください:
- Use as input(入力として使用) にはチェックをつけない
- Complement(補数) には 1’s complement(1の補数)を選択(XOR with -1)
- Bit order(ビット順) には LSB first(LSBが先頭)を選択 (use mirroring)
サンプルプロジェクト
crc32std_ewarm_7804.zip (IAR Embedded Workbench for Arm version 7.80.4 で作成).
オンラインのCRC calculators
3つのオンラインの CRC-calculatorsのスクリーンショットを参照してください。 :
まとめ
オンラインのCRC計算で使用される最も一般的なCRC32アルゴリズムを使用して、IAR Embedded Workbench for ArmでCRC32を計算することができます。
全ての製品名は、それぞれの所有者の商標または登録商標です