Linuxカーネルcrc32ビルドツールを使用しようとしています。転送方法に関係なく、有線経由で組み込みシステムに転送するには、一部のデータをcrc32する必要があります。組み込みシステムには、カーネルと同じか非常に似た方法でデータのCRC32を計算するCRC32エンジンがあります。ただし、カーネルに関連するすべてのcrc関連ヘッダーは/usr/include/linuxにはなく、手動でヘッダーを配置しようとするとコンパイル時にエラーが発生します。関連ヘッダーが存在しないか、マクロがありません。
一部の検索を実行しても有用な結果は得られません。
答え1
カーネルのCRC機能は、カーネル(モジュールを含む)で使用できますが、他の場所では使用できません。あなたがそれを言及しているので、/usr/include/linux
私はあなたがカーネルの外側のプログラムでそれらを使用したいと仮定しています。
次の2つのソリューションがあります。
- プログラムライセンスがカーネルライセンスと互換性がある場合は、以下をコピーできます。
lib/crc32.c
あなたのプロジェクトに合わせて調整してください。 - CRC32の他の実装も使用できます(ターゲットと互換性があると仮定)。宿異なるライセンスを持つものが1つあります。