ファイルのサイズを小さくするには、該当するライブラリを使用してコードを最適化し、リンカ スクリプトを変更します。
たとえば、xil_printf を使用すると、標準の printf よりも少ないリソースが使用されます。詳細は %EDK_install_directory%/doc にある oslib_rm.pdf を参照してください。
また、コマンド ラインで「-ffunction-sections -Wl,--gc-sections」というコマンドを使用することもできます。使用方法は次のとおりです。
-ffunction-sections : コンパイル中に各ファンクションが別のセクションにまとめられます。
-Wl,-gc-sections : リンカにより使用されていないセクションが削除されます。
使用されていないファンクションが破棄されます。
「-ffunction-sections」を実行すると、コンパイラでセクション名に「.text*」という文字列が作成されるので、これを変更するか、ユーザーのリンカ スクリプトを作成する必要がある場合があります。たとえば、
.text : { *(.text) }
ではなく
.text : { *(.text*) }
となります。また、外部チップ メモリでこの問題を回避する方法もあります。
メモ : -g オプションを使用するとデバッグ セクションが含まれるので ELF ファイルのサイズが大きくなりますが、このデバッグ セクションは、実行ファイルがエンベデッド システムに読み込まれると破棄されます。
AR# 21533 | |
---|---|
日付 | 08/16/2010 |
ステータス | アクティブ |
種類 | 一般 |
ツール |