6

MSP430 で zlib 圧縮を使用しようとした人はいますか? MSP430 プロジェクト (私は IAR Embedded Workbench を使用しています) で使用するためにライブラリにコンパイルする方法について何かアドバイスはありますか?

4

3 に答える 3

9

MSP430 データシートウィキペディアの記事によると、スライドウィンドウ(32 KiB)だけでも十分なRAM(最大16 KiB)がありません。そのため、MSP430 では収縮アルゴリズムを使用できません。ZLIB は、ZLIB にも当てはまる単純なデフレート実装であると考えてください。独自の deflate 実装を作成しようとしても、成功することはありません。deflate は、スライド辞書用に 32 KiB を必要とし、ハフマン ツリー用に追加のメモリを必要とするためです。それは解凍部分のみです。圧縮には、7.5 * 辞書サイズ = 240 KiB (7zip の deflate 実装による) のハッシュ チェーン マッチ ファインダー用の追加メモリが必要です。その小さなアーキテクチャで本当に圧縮が必要な場合は、カスタム バイト コードの LZSS 圧縮アルゴリズムを検討することをお勧めします。それらは高速で軽量です。ただし、特にエントロピー コーディングの違いにより、deflate と競合するほど強力ではありません。

于 2012-01-14T10:32:35.047 に答える
2

以前はプロセッサ開発のテストとして zlib をビルドしていましたが、世界が 64 ビットに移行し始めたため、unsigned long と unsigned int を無計画に使用したり、慎重に型キャストせずに混合したりすると、コンパイラに大混乱をもたらすことになりました。今は落ち着いたかもしれませんが、私はそれを使うのをやめました。

大量のメモリが必要/必要です.msp430は、一部の競合製品と比較してRAM側で特に小さいです。

http://github.com/dwelch67/msp430simを使用できる msp430 シミュレーターがあります。これは、チップにあるよりも多くの RAM を持つように構成するのが簡単です。ただし、zlib はまだ完全な 64k を必要としていて、何も残さない場合があります。何が起こるかを見る必要があります。多分私はこれを取り、シミュレーターのテストとして自分で試してみます. 上記のシミュレーターまたはおそらく他のシミュレーターでは、メモリフットプリントが非常に(比較的)小さい別の圧縮ツールが使用されています。特にzlibが必要なのか、それとも一般的な解凍が必要なのかはわかりません。

于 2012-01-13T22:51:08.403 に答える
1

特にMSP430ではなく、多くのターゲット用に構築しましたが、それは問題ではありません. これはすべて ISO C であり、標準ライブラリの呼び出しのみに依存しています。動的メモリ割り当てを使用するため、ヒープが必要になります。

于 2012-01-13T20:47:18.673 に答える