- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA219887 into Japanese.
Please confirm to my work.
Thanks,
Kenshow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Kenshow-san
Confirm to work this KBA.
Thanks
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
==============================
タイトル: Softune V3 for 16FXでカスタムINITセクションを定義する方法 – KBA219887
バージョン:**
質問:
初期値を持つ変数は、RAMの特定の領域に配置されることが期待されています。Softuneで16FXのカスタムINITセクションを定義するにはどうすればよいでしょうか?
回答:
Softune V3 for 16-bit MCUで、初期化された変数を特定のRAM領域に格納するカスタムINITセクションを定義するには、次の手順を実行します。
1. SoftuneプロジェクトのセットアップでRAM領域とカスタムセクションを定義します。
Softuneで、Project > Setup Project をクリックし、[ Linker ]タブを選択します。次に、[ Category: Disposition/Connection ]を選択して、RAM領域とセクション名を定義します。
図1. SoftuneでRAM領域とセクション名を定義する手順
ここでは、_INRAM02にRAM領域0x7000〜0x7FFFを設定し、初期値の変数を格納します。_INRAM02領域にTESTINITセクションを定義します。セクション名は、図2に示すように、オプションウィンドウに「-sc TESTINIT/Data/BYTE=_INRAM02」を直接追加して定義することもできます。
図2.オプションウィンドウにコマンドを追加してセクション名を定義する
2. start.asmファイルを変更して、起動時にTESTINITセクションで定義された変数を初期化します。図3に示す手順に従ってください
図3. start.asmを変更する手順
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)の結果
Softuneコンパイラのデフォルトセクションについては、F2MC-16ファミリSOFTUNE™Cコンパイラマニュアルをご参照願います。
==============================
27-July-2020