I'm trying to compile an example project in CrossCore 2.9.2 and I'm having a problem. Using the Pack Manager, I copy one of the examples (blinky_example, rng_example, LED_button_callback, etc.) to the local environment, and when I try to build I get the following error:
'Building file: ../RTE/Device/ADuCM3029/startup_ADuCM3029.c'
'Invoking: CrossCore GCC ARM Embedded C Compiler'
arm-none-eabi-gcc -g -gdwarf-2 -ffunction-sections -fdata-sections -DCORE0 -D_DEBUG -DADI_DEBUG -D_RTE_ -D__ADUCM3029__ -D__SILICON_REVISION__=0xffff @includes-4681ba7b1188a1af06c5fb1aad488aad.txt -Wall -c -mcpu=cortex-m3 -mthumb -MMD -MP -MF"RTE/Device/ADuCM3029/startup_ADuCM3029.d" -MT"RTE/Device/ADuCM3029/startup_ADuCM3029.o" -o "RTE/Device/ADuCM3029/startup_ADuCM3029.o" "../RTE/Device/ADuCM3029/startup_ADuCM3029.c"
../RTE/Device/ADuCM3029/startup_ADuCM3029.c:44:17: error: conflicting type qualifiers for '__copy_table_start__'
extern uint32_t __copy_table_start__;
In file included from C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/ARM/CMSIS/5.7.0/CMSIS/Core/Include/cmsis_compiler.h:54:0,
from C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/ARM/CMSIS/5.7.0/CMSIS/Core/Include/core_cm3.h:115,
from C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/AnalogDevices/ADuCM302x_DFP/3.2.0/Include/ADuCM3029.h:57,
from C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/AnalogDevices/ADuCM302x_DFP/3.2.0/Include/adi_processor.h:50,
from C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/AnalogDevices/ADuCM302x_DFP/3.2.0/Include/drivers/pwr/adi_pwr.h:55,
from C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/AnalogDevices/ADuCM302x_DFP/3.2.0/Include/rtos_map/adi_rtos_map_noos.h:55,
from C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/AnalogDevices/ADuCM302x_DFP/3.2.0/Include/rtos_map/adi_rtos_map.h:75,
C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/ARM/CMSIS/5.7.0/CMSIS/Core/Include/cmsis_gcc.h:146:31: note: previous declaration of '__copy_table_start__' was here
extern const __copy_table_t __copy_table_start__;
Following that are 3 more nearly identical errors for other similar variables in the same location.
I have uninstalled CCES and reinstalled to rule out some kind of latent misconfiguration.
I followed the instructions here as closely as possible (some packs are now deprecated):
I copied the blinky_example project from the EVAL-ADICUP3029 pack.
I get the same error when I try to build the blinky_example project and any other example projects I've tried.
Note that my eval board isn't even connected at this point, and I'm not using any code that doesn't come with the packs.
There were a couple of errors when updating the list of packs in Pack Manager. I'm not sure if they might be related to the problem:
Error while parsing C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/.Web/ABOV.CM0_DFP.pdsc: cannot read file. Unrecognized file format
Error while parsing C:/Analog Devices/CrossCore Embedded Studio 2.9.2/ARM/packs/.Web/ABOV.CM3_DFP.pdsc: cannot read file. Unrecognized file format
Note that I have not modified any of the example code, I'm just trying to compile the examples. This must be a fairly obvious issue, but I can't find much about it online. (Perhaps it's so obvious that nobody else needs to ask.)
There has been a CMSIS pack update a while ago that redefines these variables from the DFP. The DFP will be updated as well in time, but in the meantime just comment out or delete the variables found in the startup_ADuCM3029.c at lines 44 to 47.