2017-01-04 10 views
1

膨大な数のデータを格納するために、ボードにフラッシュメモリを搭載したこの組み込みシステムを使用しています。メインコントローラはARM Cortex-M3プロセッサで、フラッシュの一部に配置されたデータを圧縮し、圧縮されたデータをフラッシュの別の部分に格納することになっています。ARM Cortex-M3プロセッサでLZ4HCアルゴリズムを使用する

これらのシステムでSRAMの量が制限されているので、LZ4HCアルゴリズムをどのくらい正確に使うことができますか?私はPCのように一度にデータ全体を圧縮することはできません。ちょっとしたデータやブロック単位でこれを行う必要があると思います(たとえば、512または4096バイトのデータごと)。私はちょうど方法がわからない。私はその機能を完全に理解することができませんでした。
このブロックをブロック単位で実行することも可能ですか?
例が見つかりませんでした。オープンソースコードには良い文書はありません。実際には私はドキュメントがないと思う。

答えて

1

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

LZ4HCを使用しない場合や、独自のライブラリを実装する場合は、組み込みシステム用のLZSSベースのライブラリであるheatshrinkが適しています。

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

+0

ありがとうございますが、LZ4である必要があります。さもなければ彼らはそれのために行くつもりはない。私は助けを探し続けた。明らかに、それは大きな問題であり、組込みシステムにはあまり適していないが、それを動作させる機会がある。私が何か役に立つものを見つけたら、この投稿を更新します。 – mostafanfs

関連する問題