1

膨大な数のデータを保存するためにボードにフラッシュ メモリを配置したこの組み込みシステムがあります。メイン コントローラは ARM Cortex-M3 プロセッサであり、フラッシュの一部に配置されたデータを圧縮し、圧縮されたデータをフラッシュの別の部分に配置することになっています。

これらの種類のシステムでは SRAM の量が限られているため、LZ4HC アルゴリズムをどのように正確に使用できますか? PC のようにデータ全体を一度に圧縮することはできず、データの小さなチャンクまたはブロックごとに圧縮する必要があると思います (たとえば、512 または 4096 バイトのデータごとに)。方法がわかりません。機能がまったく理解できませんでした。
ブロックごとにこれを行うことさえ可能ですか?
例が見つかりませんでした。また、オープン ソース コードには適切なドキュメントが付属していません。実際、ドキュメントはないと思います。

4

1 に答える 1

1

組み込みシステム専用のライブラリを使用することをお勧めします。これらのライブラリは通常、少量のメモリを使用し、サイクルごとに小さなデータ チャンクを圧縮するように設計されています。

LZ4HC を使用してはならない場合、または独自のライブラリを実装したい場合は、組み込みシステム用の LZSS ベースのライブラリであるheatshrinkから始めることをお勧めします。

ARM プロセッサのアセンブリには、LZ4 圧縮解除の実装もあります

于 2017-01-05T10:46:15.550 に答える