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.

CCS/RM41L232: Undefined Entry

Part Number: RM41L232
Other Parts Discussed in Thread: HALCOGEN

Tool/software: Code Composer Studio

Hello,

I am using RM41L232 with CCS /Halcogen environment.

When I enable floating-point (VFPv3D16) in processor options I am getting undefined entry exception.

Can you please help to fix this issue?

  • The CPU on RM41x/RM42x does not include the FPU coprocessor.

    Regards, Sunil

  • Thanks, Sunil for your response.

    Some more queries.

    1) I have included a Hercules safety diagnosis library for our project. If I don't enable floating-point support then getting below error.

    gmake: Target 'all' not remade because of errors. RIVSparkPack C/C++ Problem
    gmake: *** [safety_library/source/sl_asm_api.obj] Error 1 RIVSparkPack C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project/safety_library/source line 273 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 274 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 275 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 276 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project/safety_library/source line 277 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 278 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 279 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 280 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 281 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 282 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 283 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 284 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project/k/safety_library/source line 285 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 286 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project//safety_library/source line 287 C/C++ Problem
    [E0002] Instruction requires VFP support sl_asm_api.asm /Project/safety_library/source line 288 C/C++ Problem
    [E0002] Instruction requires VFP or NEON support sl_asm_api.asm /Project//safety_library/source line 271 C/C++ Problem

    What is the workaround for fixing this issue?

    2) I have commented below code lines which has the dependency on floating-point from sl_asm_api.asm file.

    Then I set floating-point support to none.

    ;fmxr fpexc, r2

    ;fmdrr d0, r1, r1
    ;fmdrr d1, r1, r1
    ;fmdrr d2, r1, r1
    ;fmdrr d3, r1, r1
    ;fmdrr d4, r1, r1
    ;fmdrr d5, r1, r1
    ;fmdrr d6, r1, r1
    ;fmdrr d7, r1, r1
    ;fmdrr d8, r1, r1
    ;fmdrr d9, r1, r1
    ;fmdrr d10, r1, r1
    ;fmdrr d11, r1, r1
    ;fmdrr d12, r1, r1
    ;fmdrr d13, r1, r1
    ;fmdrr d14, r1, r1
    ;fmdrr d15, r1, r1

    I am able to build it. Is this ok to comment and run this safety diagnosis library? 

  • These instructions are conditional based on whether the _VFP_SUPPORT_ parameter is defined as '1' or not. Please check the compile settings to "undefine" this parameter, or set it to '0'.

  • Hi Sunil,

    Thanks. It worked.

    Presently I have enabled _RM42x_ macro for the RM41 microcontroller.

    1) In which safety diagnosis library file I have to make memory-related changes for RM41.

    2) In sys_link.cmd what are the changes I have to make in MEMORY.

    MEMORY
    {
    VECTORS (X) : origin=0x00000000 length=0x00000020
    FLASH0 (RX) : origin=0x00000020 length=0x0001FFE0
    STACKS (RW) : origin=0x08000000 length=0x00001500
    RAM (RW) : origin=0x08001500 length=0x00006B00

    /* USER CODE BEGIN (2) */
    /* USER CODE END */
    }

  • Please open a separate thread on the forum to avoid mixing disparate topics. Thanks.