4.9 リンカによって使用される圧縮アルゴリズムをオーバーライドするのに使用できるオプション

リンカには圧縮を無効にする、または使用する圧縮アルゴリズムを指定するオプションがあります。

リンカによって使用される圧縮アルゴリズムは、以下のいずれかでオーバーライドできます。

  • --datacompressor off オプションを使用して圧縮を無効にします。

  • 圧縮アルゴリズムを指定します。

圧縮アルゴリズムを指定するには、リンカコマンドラインで必要なコンプレッサの数を指定します。以下に例を示します。

armlink --datacompressor 2 …

リンカで使用できる圧縮アルゴリズムの一覧を取得するには、コマンドラインオプション --datacompressor list を使用します。

armlink --datacompressor list… Num     Compression algorithm ======================================================== 0       Run-length encoding 1       Run-length encoding, with LZ77 on small-repeats 2       Complex LZ77 compression

圧縮アルゴリズムを選択するときは、以下の点に注意して下さい。

  • コンプレッサ 0 は、値がゼロの領域が大きく、値がゼロ以外のバイトが少ないデータに対してうまく機能します。

  • コンプレッサ 1 は、ゼロ以外の値が繰り返されるデータに対してうまく機能します。

  • コンプレッサ 2 は、同じ値が繰り返されるバイトを含むデータに対してうまく機能します。

リンカでは、データの大部分でゼロが繰り返される場合(75% を超える場合)は、コンプレッサ 0 または 1 が選択されます。ゼロが繰り返されるバイトがほとんどデータに含まれない場合(10% 未満の場合)は、コンプレッサ 2 が選択されます。イメージが ARM コードのみで構成されている場合は、ARM デコンプレッサが自動的に使用されます。イメージに Thumb コードが含まれる場合は、Thumb デコンプレッサが使用されます。選択すべきコンプレッサが明確でない場合は、すべてのコンプレッサをテストして、全体のサイズが最適になるものが選択されます。

独自のコンプレッサをリンカに追加することはできません。使用可能なアルゴリズム、およびリンカによるアルゴリズムの選択方法は、今後変更される可能性があります。

関連する概念
4.7 RW データ圧縮を使用した最適化
4.10 圧縮の適用方法
4.8 リンカによるコンプレッサの選択方法
4.11 RW データ圧縮使用時の注意事項
関連する参考文書
12.32 --datacompressor=opt
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.