サイプレスS26KL-S/S26KS-S HyperFlash™ファミリで使用されるCRC-32パラメータ - KBA223179 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by HiOm_1802421 Version: **
Translation - English: CRC-32 Parameters Used in Cypress S26KL-S/S26KS-S HyperFlash™ Family - KBA223179
質問:
ソフトウェアベースのCRC-32計算機で、HyperFlashのハードウェアCRC-32計算機と同じ結果を得るには、どの多項式、初期値、および出力XOR値を使用する必要がありますか?
回答:
HyperFlashファミリーのデバイスに組み込まれたハードウェアCRC-32計算機は、次のパラメーターを使用します。
パラメータ | 値 |
多項式 | 0x1EDC6F41 |
初期値 | 0x00000000 |
出力XOR値 | 0x00000000 |
入力反転 | No |
出力反転 | No |
多項式 0x1EDC6F41 は、一般的に次のように表されます。
X 32 + X 28 + X 27 + X 26 + X 25 + X 23 + X 22 + X 20 + X 19 + X 18 + X 14 + X 13 + X 11 + X 10 + X 9 + X 8 + X 6 + 1
CRC-32パラメータに加えて、次の図で示すようにHyperFlashのCRC-32計算機で使用されるデータの順序にも注意する必要があります。
たとえば、下位ワードと上位ワードがそれぞれ0xF42Dと0x8CCFであり、ソフトウェア ベースのCRC-32計算機が8ビットのバイト ストリームを取る場合、入力データ バイトは 0xF4 - 0x2D - 0x8C - 0xCF の順序である必要があります。
次のCソースコードと表に、簡単なソフトウェアCRC-32計算機の例と、参考のためのいくつかの計算結果を示します。
|
サンプル データ | CRC-32値 |
0xF42D, 0x8CCF, 0xF646, 0x3129 | 0x22531137 |
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF | 0xB29FF223 |
0x0123, 0x4567, 0x89AB, 0xCDEF | 0xBAA822E2 |