Community Translation - Optimizing Code Size in FX3 SDK - KBA230335

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
keni_4440091
Level 7
Level 7
500 replies posted 100 solutions authored 50 solutions authored

Hi

I want to translate KBA230335, please confirm to my work

Regards,

Nino

0 Likes
2 Replies
AikoO_51
Moderator
Moderator
Moderator
100 sign-ins First question asked 50 solutions authored

Hi Nino-san,

Confirm the KBA,

please work to do.

Thanks,

Aiko

Aiko Ohtaka
Infineon Technologies
0 Likes

タイトル:FX3 SDKのコードサイズの最適化

バージョン 2

ChaitanyaV_612020/05/16 8:45 に作成。ChaitanyaV_612020/05/16 8:46 に変更。

Version: **

質問:

FX3 SDKのコードサイズを最適化するための推奨設定は何ですか?

回答:

各シンボルで消費するスペースの明確化

新しい機能が既存のプロジェクトに追加される時、コードスペースが足りなくなる場合があります。GNU
ARM
ツールチェーンにバンドルされているarm-none-eabi-nmツールは、より多くのコードスペースを消費するシンボルを明確化するために使用する事が可能です。

GNU umELFファイルにすべてのシンボルを表示します。しかし、--sizeオプションは各々のシンボルのサイズを表示し、かつ--size-sortが指定された場合は、サイズによってソートします。従って、コマンドプロンプトで下記のコマンドを使用して、最も多いコードスペース(10進数)を消費しているシンボルを明確化する事ができます。

arm-none-eabi-nm --print-size –size-sort --radix=d “path
of elf file”

このコマンドはサイズに沿った各々のシンボルを昇順に表示します。

コードサイズの最適化

コードサイズを最適化するためには下記の方法が使えます:

  1. リリースモードでプロジェクトを立ち上げる

デバッグモードでプロジェクトを構築している間、デバッグおよびシンボル情報が含まれます。また、最適なデバッグを有効にするために最適化オプションは無効になります。しかし、リリースモードでは、デバッグおよびシンボル情報は削除され、かつ最適化オプションはコードサイズを削減するために有効になります。このようにコードサイズを削減するためにリリースモードでプロジェクトを構築する事を推奨します。リリースモードでプロジェクトを構築するためには、ビルド ドロップ-ダウンリストからリリース(リリースコンフィギュレーション)を選択して下さい。

1.プロジェクト構築のためのリリース設定の選択  
pastedImage_2.png

     リリースコンフィギュレーションを使用してプロジェクトを構築している時、最適化レベルは自動的にOptimize most (-O3)に変更されます。

     最適化オプションを確認するには:

a.     プロジェクトエクスプローラーのプロジェクトを右クリック。

b.     ポップアップメニューからプライオリティをクリック

c.     プロパティダイアログの左のペインからC/C++ビルドを展開し、設定をクリック。

d.     ツール設定タブに移動。

e.     最適化レベルを確認するためにオプティマイゼーションをクリック。

2.プロジェクトの最適化設定  
pastedImage_16.png

  1. 場合によっては、最適化レベルをOptimaze most (-O3)からOptimize size (-Os)に変えることで更にサイズを削減できます。最適化レベルドロップ-ダウンリストからOptimize size (-Os)を選択して下さい。(2参照)

  1. .imgファイルのサイズを削減するもう一つの方法はリンク時最適化を使う事です。リンク時最適化はすべてのコンパイルユニットで通過する最適化パスです。また、この方法がコードサイズ削減のために使用されますが、コードの機能が欠落しないことを確認するために十分なテストを行う必要があります。

リンク時最適化を有効にするには:

  1. プロジェクトの最適化設定に移動して下さい。(2参照)
  2. Link-time optimizer (-flto)を選択。(3参照)

3Link-time Optimizerを有効にする

  pastedImage_18.png

  1. Applyをクリック、そしてOKをクリック。
  2. プロジェクトを構築する前に、一旦プロジェクトをクリーンします。プロジェクトを右クリックし、Clean Projectをクリック。
  3. プロジェクトが構築されました。

14 閲覧 カテゴリ: USB: SuperSpeed Peripherals タグ: fx3 sdk, ss_usb, hsls_usb

0 Likes