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.

F2838xD: error #20: identifier " " is undefined and warning #48-D: incompatible redefinition of macro " "

Other Parts Discussed in Thread: SYSCONFIG, TMS320F28386D, C2000WARE

Hello everyone,

with code composer 12.5 I imported a sample project (from Getting Started --> Import Examples) to then be able to use the file SysConfig inside to the project and edit it to my liking.
I tried to import various examples for my TMS320F28386D device, also with an empty sysconfig file, but when i try to add a CAN, or I2C etc. communication the error is always the same:

It's my first project that I try to create, I think it's a trivial thing but I don't understand where the problem is. 

Does anyone know reason and solution for this error?

Thanks in advance.

Gianni

  • Hello Gianni,

    I'm unable to replicate these errors/warnings using the same project in the same version of C2000Ware; can you verify that your file paths are correct (check the Linked Resources in the Project Properties)? Did you take any steps after importing the project? I added CAN to the SysConfig project and didn't see any issues.

  • The steps that I'm doing are:

    1) Imported the example project "empty_sysconfig_337bga" (for device F28386D).

    2) From c2000.syscfg file inside of CCS I added CANA (GPIO16 and GPIO17) and CANB(GPIO36 and GPIO37).

    3) Builded the project.

    Always I see the same errors/warnings.

    This is the general setting of my Code Composer.

    And this is the page of sysconfig:

    And this is the C2000 compiler include options:

  • The imcompatibility is here:

    File generated from sysconfig: board.h

    So, if I rename from Sys Config the CANA as e.g. "E_CANA" the issue is fixed, but the question is:

    Is there a possibility to mantain the name CANA and avoid the error/warning?

    If I try to edit the name E_CANA in the file board.h, it is regenerated everytime I compile and the issue come back.

  • So, if I rename from Sys Config the CANA as e.g. "E_CANA" the issue is fixed, but the question is:

    Is there a possibility to mantain the name CANA and avoid the error/warning?

    If I try to edit the name E_CANA in the file board.h, it is regenerated everytime I compile and the issue come back.

    Are you using the latest C2000Ware and SysConfig? The latest version of SysConfig/C2000Ware doesn't have this naming problem because default names are formatted as "my<Peripheral>". The latest version also allows you to use custom names for the bases.

  • I'm using C2000Ware_5.01.00.00.

    for the SysConfig, how could I see the version? Because I'm using the file inside at the example.

  • If you installed everything in the default directory, you should see the version when you go to Project Properties > General and click on the Products tab:

    Also, based on your screenshot it looks like you are missing some of the include paths used by default in the empty_driverlib_project for F2838x; please double-check you imported from the newest version of C2000Ware, I checked the one I have installed and the include paths are different.

  • In Properties -> General -> Product:

    the version is C2000Ware [5.1.0.00] (So, it is confirmed that I imported from the newest version)

    the version of SysConfig was missing (with Add button I selected the [1.8.1]

  • the version of SysConfig was missing (with Add button I selected the [1.8.1]

    When you re-build the project now, what does your SysConfig window look like for the CAN peripheral?

  • When you re-build the project now, what does your SysConfig window look like for the CAN peripheral?

    Nothing changes, if I put the name CANA or CANB the error/warning is the same.

  • Unfortunately I'm not sure how much more help I can provide on this, since I'm unable to replicate the issue on my side. The only thing I can recommend is trying to remove any older versions of C2000Ware or SysConfig you may have installed in case CCS is pulling the incorrect versions and making sure the proper include paths are present.

    Besides that, there should be nothing else needed to pull in the latest SysConfig version to avoid the error you're seeing.