6 Replies Latest reply on Dec 17, 2019 3:44 PM by TakashiM_61

    I'd like to use the  IAR bulid library to PsoC6

    TeNo_4504711

      I'd like to use the  IAR bulid library to CY8C6347BZI-BLD53.

       

      So, I changed the sample project (CE220263)  for IAR, and imported the library .

      I added function of the library and builded.

      then, IAR outputed error log.(see below)

       

      エラー[Lp011]:section placement failed

      unable to allocate space for sections/blocks with a total estimated minimum size of 0x2'2200 bytes (max align 0x8) in <[0x802'4000-0x804'7800]> (total uncommitted space 0x2'1dd1).

      エラー[Lp021]: the destination for compressed initializer batch "P1-1" is placed at an address that is dependent on the size of the batch, which is not allowed when using lz77 compression.

       

      I thought the stack and heap size were the cause of the error.

      So I changed the heap and stack size.

       

      Project -> Options -> Linker -> Config -> Edit

      CSTAC=0x8000, HEAP=0x10000

      (These values are proven on other CPUs.)

       

      However, the error was not resolved.

       

      Are there any other settings to change?

      Also, can I judge that this library cannot be used for CY8C6347BZI-BLD53?

       

      ----------------------------------------------------------------------------------------------------------------

       

      CY8C6347BZI-BLD53にIARでビルドされたライブラリの使用を検討しています。

       

      そこで、IARのサンプルプロジェクト(CE220263)を変更し、ライブラリをインポートしてビルドしましたが、IARはエラーログを出力しました(以下を参照)。

       

      エラー[Lp011]:section placement failed

      unable to allocate space for sections/blocks with a total estimated minimum size of 0x2'2200 bytes (max align 0x8) in <[0x802'4000-0x804'7800]> (total uncommitted space 0x2'1dd1).

      エラー[Lp021]: the destination for compressed initializer batch "P1-1" is placed at an address that is dependent on the size of the batch, which is not allowed when using lz77 compression.

       

      上記エラーより、スタックとヒープサイズがエラーの原因だと考えたため、ヒープとスタックサイズを変更しました。

      プロジェクト -> オプション -> リンカ -> 設定 -> 編集

      CSTAC=0x8000, HEAP=0x10000

      (これらの値は、他のCPUで実績のある値です。)

       

      しかし、エラーは解消されませんでした。

       

      どこか他に変更する設定はありますか?

      もしくは、このライブラリはCY8C6347BZI-BLD53に使用できないと判断できますか?

        • 1. Re: I'd like to use the  IAR bulid library to PsoC6
          TakashiM_61

          先ず一点確認ですが、CE220263は問題なくIARの環境にインテグレートされいますか?

          インテグレートの手順はPSoC CreatorのHelpで参照可能です。

           

          Help内の"Integrating into 3rd Party IDEs"から"Generating PSoC 6 Files for 3rd Party IDEs"に進み、

          PSoC Creator上で必要な設定を行って後にBuild.

           

          次にHelp内の"Setting up a PSoC 6 IAR Project"に記載されている手順に沿ってIAR上でProjectの作成等を実行。

           

          この時点でCE220263をIAR上で正常にビルドが行われることを確認しました。

          因みにCTACK/HEAPの設定はCortex-M0p、Cortex-M4それぞれ下記になります。

           

          Cortex-M0p:

          Cortex-M4:

          追加のLibraryでどの程度STACH/HEAPが必要か分かりませんが、先ずはCE220263がIAR環境下でビルド可能かどうかご確認ください。

          • 2. Re: I'd like to use the  IAR bulid library to PsoC6
            TeNo_4504711

            TakashiM_61様

             

             ご回答ありがとうございます。

             

            >先ず一点確認ですが、CE220263は問題なくIARの環境にインテグレートされいますか?

            >インテグレートの手順はPSoC CreatorのHelpで参照可能です。

             ⇒インクルードできています。

              ご説明頂いた通り、PSoC CreatorのHelpの記載内容を元にプロジェクトをIAR用にインテグレートしました。

              また、ライブラリインポート前に、エラーなくビルドできることを確認しています。

               

             なお、今回インポートを検討しているライブラリですが、cortexM4のCPUで実績があるので、

            PSoC6でも使用できると考えておりました。

             しかし、PSoC6のコアはcortexM4Fなので、コアが異なります。

             原因として、コアの違いが影響しているとも考えておりますが、明確には分からない状況です。

             このコミュニティの主旨とは異なるかもしれませんが、コアの違いに影響について

            ご教授していただけると幸いです。

            • 3. Re: I'd like to use the  IAR bulid library to PsoC6
              TakashiM_61

              Cortex-M4FとCortex-M4の違いは単精度のFPUが有るか無いかです。

              このCoreの違いでMemoryに関するBuildエラーが発生するとは考えにくいです。

              念のためにCortex-M4側でCSTAC=0x8000, HEAP=0x10000に変更してもビルドはできました。

              あとは御社使用のライブラリがどの程度使用するかによるかと思います。

               

               

              • 4. Re: I'd like to use the  IAR bulid library to PsoC6
                TakashiM_61

                本件、状況は如何でしょうか?

                もし、更にサポートが必要でない場合、一旦Closeとさせて頂きたいのですが。

                宜しくお願い致します。

                • 5. Re: I'd like to use the  IAR bulid library to PsoC6
                  TeNo_4504711

                  IARでIRAMの領域を限界まで拡張したところ、若干の改善が見られたのですが、

                  ライブラリの関数を追加してビルドすると同様のビルドエラーが発生したため、

                  メモリサイズが足りないと結論づけました。

                   

                  アドバイスいただき、ありがとうございました。

                  本件、CLOSEといたします。

                  • 6. Re: I'd like to use the  IAR bulid library to PsoC6
                    TakashiM_61

                    ご連絡、有難うございました。

                    また何かございましたら、CDCをご利用ください。

                     

                    以上です。