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

Version 2

    Version: **


    Translation - Japanese: Softune V3 for 16FXでカスタムINITセクションを定義する方法 – KBA219887 - Community Translated (JA)



    Variables with initial value is expected to be located in a specific area of RAM. How do I define a custom INIT section for this in Softune for 16FX?



    In Softune V3 for 16-bit MCU, do the following to define a custom INIT section to store initialized variables in a specific RAM area:


    1. Define the RAM area and custom section in Softune project setup.


    In Softune, click Project > Setup Project and select the Linker tab. Then select Category: Disposition/Connection to define the RAM area and section name.


    Figure 1. Steps to Define RAM Area and Section Name in Softune


    Figure 1


    Figure 1


    Here, set the RAM area 0x7000~0x7FFF for _INRAM02 to store variables with an initial value. Define the TESTINIT section in the _INRAM02 area. The section name can also be defined by adding “-sc TESTINIT/Data/BYTE=_INRAM02” in the Option window directly as displayed in Figure 2.


    Figure 2. Add Command to Option Window to Define Section Name


    Figure 2


    2. Modify the start.asm file to initialize the variables defined in the TESTINIT section during startup. Follow the steps shown in Figure 3


    Figure 3. Steps to Modify start.asm


    Figure 3


    3. Define initialized variables in the custom section with the #pragma segment.


    //Eg. Test.c


    #pragma segment DCONST=TESTDCONST,attr=CONST


    #pragma segment INIT=TESTINIT,attr=DATA


    unsigned char test1=0x1;


    unsigned char test2=0x2;


    4. Build the Softune project and check the address of the variables in the map file (.mp1). Variable test1 and test2 are located in the _INRAM02 area.


    Figure 4. Results in map file (.mp1)


    Figure 4


    For information about default section of Softune compiler, refer to F2MC-16 Family SOFTUNE™ C Compiler Manual.