2 Replies Latest reply on Jul 26, 2020 7:45 PM by NoTa_4591161

    Community Translation - How to Define a Custom INIT Section in Softune V3 for 16FX – KBA219887

    NoTa_4591161

      Hi,               

       

      I would like to translate KBA219887 into Japanese.

      Please confirm to my work.

       

      Thanks,

      Kenshow

        • 2. Re: Community Translation - How to Define a Custom INIT Section in Softune V3 for 16FX – KBA219887
          NoTa_4591161

          Hi Jenna-san,

                                          

          Japanese translation was over.
          Please check below.

           

          Original KBA:

          How to Define a Custom INIT Section in Softune V3 for 16FX – KBA219887

           

          Thanks.

          Kenshow

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

           

          タイトル: Softune V3 for 16FXでカスタムINITセクションを定義する方法 – KBA219887

           

          バージョン:**

           

          質問:

          初期値を持つ変数は、RAMの特定の領域に配置されることが期待されています。Softune16FXのカスタムINITセクションを定義するにはどうすればよいでしょうか?

           

          回答:

          Softune V3 for 16-bit MCUで、初期化された変数を特定のRAM領域に格納するカスタムINITセクションを定義するには、次の手順を実行します。

          1. SoftuneプロジェクトのセットアップでRAM領域とカスタムセクションを定義します。

          Softuneで、Project > Setup Project をクリックし、[ Linker ]タブを選択します。次に、[ Category: Disposition/Connection ]を選択して、RAM領域とセクション名を定義します。

          1. SoftuneRAM領域とセクション名を定義する手順

          Figure 1 

          Figure 1  

          ここでは、_INRAM02RAM領域0x70000x7FFFを設定し、初期値の変数を格納します。_INRAM02領域にTESTINITセクションを定義します。セクション名は、図2に示すように、オプションウィンドウに「-sc TESTINIT/Data/BYTE=_INRAM02」を直接追加して定義することもできます。

          2.オプションウィンドウにコマンドを追加してセクション名を定義する

          Figure 2  

          2. start.asmファイルを変更して、起動時にTESTINITセクションで定義された変数を初期化します。図3に示す手順に従ってください

          3. start.asmを変更する手順

          Figure 3  

          3. #pragmaセグメントを使用して、カスタムセクションで初期化された変数を定義します。

          //Eg. Test.c

          #pragma segment DCONST=TESTDCONST,attr=CONST

          #pragma segment INIT=TESTINIT,attr=DATA

          unsigned char test1=0x1;

          unsigned char test2=0x2;

          4. Softuneプロジェクトをビルドし、マップファイル(.mp1)の変数のアドレスを確認します。変数test1およびtest2は、_INRAM02領域にあります。

           

          4.マップファイル(.mp1)の結果

          Figure 4  

          Softuneコンパイラのデフォルトセクションについては、F2MC-16ファミリSOFTUNE™Cコンパイラマニュアルをご参照願います。

           

           

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

          27-July-2020

            Kenshow