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.

TMS320F280039C: When importing the 'Reference Guide TIDA-010054' project with CCS 20.5.0, an error occurs during compilation: "undefined symbol '__disable_interrupts' and '__en

Part Number: TMS320F280039C
Other Parts Discussed in Thread: TIDA-010054, C2000WARE, TIDM-02002, C2000WARE-DIGITALPOWER-SDK, TIDM-02013, SYSCONFIG

TI Engineer

Hello!
When importing the "Reference Guide TIDA-010054" project with CCS 20.5.0, during compilation, it reports:"in the dab.obj file, undefined symbol '__disable_interrupts' and '__enable_interrupts' ". However, in the "dab.c" and "dab.h" files, the symbols "__disable_interrupts" and "__enable_interrupts" cannot be found.

In addition, in the left-hand list of CCS, items such as "drivelib excluded" and "ccs excluded" appear. Please advise on how to resolve these two issues.

TIDA-010054-Error.png

Best regards.
Yong Liu

  • Hello!

    We have received your case and will take some time to look into it.

    Thank you for your patience.

  • Supplement:
    The project "Reference Guide TIDA-010054" originates from the folder “D:\ti\c2000\C2000Ware_DigitalPower_SDK_5_06_00_00\solutions\tida_010054\f28003x\ccs”.

    Project Properties → Tools → C2000 Compiler:

    Project Properties → Tools → C2000 Linker:

  • Supplement:
    The project "Reference Guide TIDA-010054" originates from the folder “D:\ti\c2000\C2000Ware_DigitalPower_SDK_5_06_00_00\solutions\tida_010054\f28003x\ccs”.

    Project Properties → Tools → C2000 Compiler:

    Project Properties → Tools → C2000 Linker:

  • Hello,

         It seems there is not driverlib available, is C2000Ware  installed? 

  • Thank you for the reply, Alice! I have already installed C2000Ware.

  • Thank you for the reply, Alice! I have already installed C2000Ware.

  • Thank you for the reply, Alice! I have already installed C2000Ware.

  • Hello!
    The header file "dab.h" includes the header file "DCLF32.h", and "DCLF32.h" in turn includes the header file "DCL.h". In two inline functions within "DCL.h", the characters "__disable_interrupts()" and "__enable_interrupts()" were found. However, these two inline functions are not linked to the file.

    Adding the statement "#define __TMS320C28xx__" here to define the macro __TMS320C28xx__ results in the following compilation error: "__TMS320C28xx__ is predefined; redefinition ignored."

  • The screenshot is shown below:

  • 我遇到了你一样的问题并且解决了。你看你这个包含的库是不是没有路径。我导进来默认就没有路径,要自己改

  • 你好!
    感谢会员 Vayn Scmyst 答复我的问题。
    配置中添加三个入口参数时,都不能输入它们的扩展值。见下面的几个截图:
    Hello!
    I would like to thank member Vayn Scmyst for responding to my question.
    When adding three ENTRY parameters in the configuration, their EXPANDED VALUES values cannot be entered. Please refer to the screenshots below:

    打开“.cproject” 文件,发现了这些配置参数,但参数后面也都没有它们的值,好像它们的值是自动获取的,不能修改。
    Upon opening the ".cproject" file, these configuration parameters were found, but none of them had values assigned. It appears that their values are automatically retrieved and cannot be modified.

    Best regards.
    Yong Liu

  • 你好!
    感谢会员 Vayn Scmyst 答复我的问题。
    配置中添加三个入口参数时,都不能输入它们的扩展值。见下面的几个截图:
    Hello!
    I would like to thank member Vayn Scmyst for responding to my question.
    When adding three ENTRY parameters in the configuration, their EXPANDED VALUES values cannot be entered. Please refer to the screenshots below:

    打开“.cproject” 文件,发现了这些配置参数,但参数后面也都没有它们的值,好像它们的值是自动获取的,不能修改。
    Upon opening the ".cproject" file, these configuration parameters were found, but none of them had values assigned. It appears that their values are automatically retrieved and cannot be modified.

    Best regards.
    Yong Liu

  • 你好!
    感谢会员 Vayn Scmyst 答复我的问题。
    配置中添加三个入口参数时,都不能输入它们的扩展值。见下面的几个截图:
    Hello!
    I would like to thank member Vayn Scmyst for responding to my question.
    When adding three ENTRY parameters in the configuration, their EXPANDED VALUES values cannot be entered. Please refer to the screenshots below:

    打开“.cproject” 文件,发现了这些配置参数,但参数后面也都没有它们的值,好像它们的值是自动获取的,不能修改。
    Upon opening the ".cproject" file, these configuration parameters were found, but none of them had values assigned. It appears that their values are automatically retrieved and cannot be modified.

    Best regards.
    Yong Liu

  • 1、先添加已有的变量尝试:

    2、再添加新变量尝试:

    仍然不能输入或修改值。

    中文论坛的服务器好像在国外。登录、上传图片网页反应很迟缓,发帖子很困难,经常提示账户有问题!

  • Hello,    

    __enable_interrupts() and __disable_interrupts() are compiler intrinsics. They don't require any definition or declaration, when the C2000 compiler is used. 

    __TMS320C28XX__ is a predefined macro, defined by the C2000 compiler when compiling for a C28 target.

  • __enable_interrupts() and __disable_interrupts() are compiler intrinsics. They don't require any definition or declaration, when the C2000 compiler is used. 

    __TMS320C28XX__ is a predefined macro, defined by the C2000 compiler when compiling for a C28 target.

    Thank you, Alice!
    The import example routine was released by TI on August 22, 2025.
    // FILE: dab_main.c
    // $TI Release: TIDA_010054 v3.01.02.00 $
    // $Release Date: Fri Aug 22 11:50:42 CDT 2025 $

    The MCU is TMS320F28003x.

    C2000Ware_6_00_01_00 and C2000Ware_DigitalPower_SDK_5_06_00_00 were also installed.

    According to your explanation, the code sections related to the macro __TMS320C28XX__ (including __enable_interrupts() and __disable_interrupts()) should be included.
    But strangely, for some reason, in the "DCL.h" header file (./dab_F28003x/libraries/DCL/DCL.h), the code sections related to the macro __TMS320C28XX__ are not being included?
    A screenshot is as follows:

    Importing the official project "TIDM-02002 - Bi-Directional CLLLC Resonant Dual Active Bridge (DAB) for HEV-EV Onboard Charger" (TMS320F28004x), also gives errors:
    undefined symbol __disable_interrupts ./clllc.obj __enable_interrupts ./clllc.obj
    The above example also uses "DCL.h".

    As a beginner in TI C2000 microcontrollers, I don't quite understand.

    Best regards,
    Yong Liu

  • Hello,

    If the #ifdef __TMS320C28XX__ portion of the file is not being included, it may be included by a path this is not C28 based e.g. CLA. For example, if a CLA file is being compiled, then __TMS320XX__ will be false. Otherwise, it would be true.

  • Thanks again, Alice!
    The CLA was not used in this project.

    It is possible that some projects in the current C2000Ware_DigitalPower_SDK are not compatible with CCS 20.5.0, but are compatible with CCS 12.8.1.
    In your post below, you answered issues related to "official power projects, compilation and linking problems".
    "C2000WARE-DIGITALPOWER-SDK: tidm-02013 Compilation error"

    https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/1066000/c2000ware-digitalpower-sdk-tidm-02013?tisearch=e2e-sitesearch&keymatch=C2000WARE-DIGITALPOWER-SDK_ tidm-02013#

    In some projects of C2000Ware_DigitalPower_SDK_5_06_00_00, when opening the ".SysConfig" file, no peripherals are configured inside (they may be configured using statements in the code), which is difficult for beginners to understand.
    We look forward to the TI team releasing an updated C2000Ware_DigitalPower_SDK that is compatible with CCS 20.5.0 and SysConfig configuration as soon as possible.

    Best regards,
    Yong Liu

  • Hello,

    We will be making a new Digital Power SDK Release in June 2026 in which all the reference designs will be compatible with CCS 20.5. These issues will be fixed in the new release.

  • Thank you for informing me of this wonderful news!
    After two months, the new version of C2000Ware_DigitalPower_SDK compatible with CCS 20.5 will be available, which is truly excellent. I would also like to express my sincere gratitude for the TI team's hard work and selfless dedication.

    Best regards,
    Yong Liu