This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/RM48L952: FEE driver map re-allocation

Part Number: RM48L952
Other Parts Discussed in Thread: HALCOGEN

Tool/software: TI C/C++ Compiler

Hello TI,

I have a question regarding the map reallocation for the FEE driver as it is stated in the user guide to use the "pragmas" below if you would like to re-allocate the fee drivers:

FEE_START_SEC_CONST_UNSPECIFIED

FEE_STOP_SEC_CONST_UNSPECIFIED

FEE_START_SEC_CODE

FEE_STOP_SEC_CODE

FEE_START_SEC_VAR_INIT_UNSPECIFIED

FEE_STOP_SEC_VAR_INIT_UNSPECIFIED

Is there an example how to use those pragmas properly and move those sections away into e.g. Flash Bank 2?

  • Hello Mux,

    FEE uses F021 Flash API. Examples can be found in the HalcoGen FEE read write code.

    E.g.: C:\ti\HALCoGen\v04.07.01\examples\RM46x\example_TI_Fee_Write_Read.c

    There are some steps in about example code. Once you follow that and create a CCS project, you can find these in HL_sys_link.cmd: (the following is an example)

    FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0

    FLASH1 (RX) : origin=0x00200000 length=0x00200000

    ………………

    FEE_TEXT_SECTION : {} > FLASH0 | FLASH1

    FEE_CONST_SECTION : {} > FLASH0 | FLASH1

    FEE_DATA_SECTION : {} > RAM

     

    So basically you can map the FEE text, const and data sections to where you wanted, whichever you bank you wanted.

    Eventually, after you build the project, check the .map file to confirm it.

    Best regards,

    David Zhou

  • Hello dzhou,

    thanks for the reply. This helped alot, but I am still facing some issues for the build process during linking time.

    I am using the FEE driver together with the F021 API, but I still have some undefined symbols:

     undefined                 first referenced                                                                      
      symbol                       in file                                                                           
     ---------                 ----------------                                                                      
     Device_FlashDevice                  ./src/ti_fee_util.obj                                                             
     Fapi_serviceWatchdogTimer   .lib/F021_API_CortexR4_LE_V3D16.lib<Read.WdService.obj>

    Are there some workarounds suggested by TI?

  • Mux,

    Did you complete step 6 as written in example_TI_Fee_Write_Read.c?

    Quote: "

       @b Step @b 6:
    *
    *   Add F021 Library files to CCS Project
    *   - Add/Link F021_API_CortexR4_LE_V3D16.lib from folder C:/ti/Hercules/F021 Flash API/2.01.01 to CCS Project
    *   - Add Path C:/ti/Hercules/F021 Flash API/2.01.01/include to Include Path in CCS Project"

    The library addition is in build, arm linker option, file search path, then add the library file.

    The path addition is in build, arm compiler option, include options.

    For your reference, I followed the example_TI_Fee_Write_Read.c and created one example:

    ./cfs-file/__key/communityserver-discussions-components-files/312/6644.FEE_5F00_Examples.zip

    Copy the whole zip to c:\ folder and then unzip it. Please note in my case my Flash API is installed in:

    C:\ti\Hercules\F021 Flash API

    So you will have to update project properties in both compiler option and linker option to choose the correct path and library file to match your environment.

    best regards,

    David Zhou