2 Replies Latest reply on May 19, 2020 11:03 PM by keni_4440091

    Community Translation - Optimizing Code Size in FX3 SDK - KBA230335

    keni_4440091

      Hi

       

      I want to translate KBA230335, please confirm to my work

       

      Regards,

      Nino

        • 1. Re: Community Translation - Optimizing Code Size in FX3 SDK - KBA230335
          AikoO_51

          Hi Nino-san,

           

          Confirm the KBA,

          please work to do.

           

          Thanks,

          Aiko

          • 2. Re: Community Translation - Optimizing Code Size in FX3 SDK - KBA230335
            keni_4440091

            タイトル: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.プロジェクト構築のためのリリース設定の選択  

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

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

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

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

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

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

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

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

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

             

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

             

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

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

             

            3Link-time Optimizerを有効にする

             

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

             

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