--info リンカオプションの使用例

リンク時のコンポーネントサイズを表示するには、以下のコマンドを入力します。

armlink --info sizes ...

ここでは、sizes によって、イメージ内の入力オブジェクトおよびライブラリのメンバごとにコードとデータのサイズが一覧表示されます。 このオプションを使すると、--info sizes,totals を指定したことになります。

以下の例では、出力が表形式で示され、合計は読みやすくするために区別されています。

Example 2. イメージコンポーネントのサイズ情報

Code (inc. data)   RO Data   RW Data    ZI Data      Debug

3712        1580        19        44      10200       7436   Object Totals
0              0        16         0          0          0   (incl. Generated)
0              0         3         0          0          0   (incl. Padding)
21376        648       805         4        300      10216   Library Totals 
0              0         6         0          0          0   (incl. Padding)

===============================================================================

Code (inc. data)   RO Data    RW Data    ZI Data      Debug
25088       2228       824         48      10500      17652   Grand Totals
25088       2228       824         48      10500      17652   ELF Image Totals
25088       2228       824         48          0          0   ROM Totals

===============================================================================

Total RO  Size (Code + RO Data)             25912 (  25.30kB)
Total RW  Size (RW Data + ZI Data)          10548 (  10.30kB)
Total ROM Size (Code + RO Data + RW Data)   25960 (  25.35kB)

この例では、以下のようになります。

Code (inc. Data)

コードで使用されるバイト数を示します。 このイメージには、3712 バイトのコードがあります。 これには、リテラルプールや短い文字列など、1580 バイトのインラインデータ(inc. data)が含まれています。

RO Data

読み出し専用データで使用されるバイト数を示します。 これは、Code (inc. data) 列内のインラインデータとは別です。

RW Data

読み出し-書き込みデータで使用されるバイト数を示します。

ZI Data

ゼロで初期化されたデータで使用されるバイト数を示します。

Debug

デバッグ入力セクション、シンボルテーブル、ストリングテーブルなど、デバッグデータで使用されるバイト数を示します。

Object Totals

イメージを生成するためにリンクされているオブジェクトで使用されるバイト数を示します。

(incl. Generated)

armlink は、インターワーキングベニアなどのイメージの内容や領域テーブルなどの入力セクションを生成する場合があります。 Object Totals 行にこのタイプのデータが含まれている場合、この行にそのデータが表示されます。

この例では、RO データの合計は 19 バイトで、そのうち 16 バイトがリンカで生成された RO データです。

Library Totals

個別のオブジェクトとして抽出され、イメージに追加されたライブラリのメンバで使用されるバイト数を示します。

(incl. Padding)

armlink は、必要に応じてパディングを挿入し、セクションの境界調整を強制実行します。 Object Totals 行にこのタイプのデータが含まれている場合、関連する (incl. Padding) 行にそのデータが表示されます。 同様に、Library Totals 行にこのタイプのデータが含まれている場合、そのデータは関連する行に示されます。

この例では、RO データのオブジェクトの合計は 19 バイトで、そのうち 3 バイトがリンカで生成されたパディングになります。また、RO データのライブラリの合計は 805 バイトで、そのうち 6 バイトがパディングになります。

Grand Totals

イメージの実際のサイズを示します。 この例では、10200 バイトの ZI データ(Object Totals)と 300 バイトの ZI データ(Library Totals)があるため、合計は 10500 バイトになります。

ELF Image Totals

RW データ圧縮(デフォルト)を使用して ROM サイズを最適化する場合、最終イメージのサイズが変更され、このサイズ変更は --info による出力に反映されます。 Grand TotalsELF Image Totals のバイト数を比較すると、圧縮の効果を確認できます。

この例では、RW データ圧縮が有効になっていません。 データが圧縮されると、RW 値が変更されます。

ROM Totals

イメージを含むために必要な ROM の最小サイズを示します。 ROM に保存されない ZI データやデバッグ情報は含まれません。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612