For a C2000-based project, I have some C2000Ware folders added to the project as linked folders (namely, the folder corresponding to the chip in device_support, driverlib and flash_api).
Those folders also contain files which should not be part of the build, e.g. the examples/ directory, files specific to that chip's ARM core (which won't compile on the C2000 cores), or files that have been copied into the project directory for modifications (most importantly the interrupt table).
As such, those files have been set to be excluded from the build. Unfortunately, CCS commonly seems to "forget" about the exclude setting, causing a plethora of build errors. This is not only transient behaviour in CCS internals, but is also very evident inside the .cproject files, wherein CCS changes from:
<entry excluding="device_support/headers/cmd/f2838x_headers_BIOS_cpu2.cmd|device_support/headers/cmd/f2838x_headers_nonBIOS_cpu1.cmd|device_support/headers/cmd/f2838x_headers_BIOS_cpu1.cmd|device_support/common/source/f2838x_eqep.c|device_support/common/source/f2838x_epwm.c|device_support/common/source/f2838x_emif.c|device_support/common/source/f2838x_ecap.c|device_support/common/source/startup_cm.c|device_support/common/source/f2838x_swprioritizedpievect.c|device_support/common/source/f2838x_sysctrl.c|device_support/common/source/f2838x_defaultisr.c|device_support/common/source/cm.c|device_support/common/cmd|device_support/examples|driverlib" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
to:
<entry excluding="driverlib" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="driverlib/inc"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="driverlib/ccs"/>
The exact folder mapping to the C2000Ware_3_03_00_00 directories is as follows (Project => C2000Ware):
device_support/ => device_support/f2838x/
driverlib/ => driverlib/f2838x/driverlib/
I am currently using CCS version 12.0.0.00009, having upgraded the project from CCS 10.2.0.00009 in the process of setting up the linked folders. The issue is present in both versions, but much more common in 10.2 than 12.0.
It is also not 100% reproducible. Whether this issue occurs seems to depend on how long one waits to build the projects after starting up CCS. A wait time too short or too long seems to trigger the error, whereas it works fine if starting a build a few seconds after CCS seems idle after startup. CCS 12.0 command line builds are unaffected and work as expected, whereas CCS 10.2 command line builds did not work (although I am not 100% sure if it is the exact same issue).
I found two (identically titled) old threads, which might have run into the same issue, affecting CCS 8.2 and 9.0, including three bugtracker references inaccessible to me (CCSIDE-3439, CCSIDE-3528, CCSIDE-3529):
CCS/TM4C129CNCPDT: CCSv8.2 and "Exclude from Build" no longer works - Code Composer Studio forum
CCS/TM4C129CNCPDT: CCSv8.2 and "Exclude from Build" no longer works - Code Composer Studio forum
The Directory Specifier Mode setting mentioned in both threads does not fix the issue at hand.