2011-02-23 08:52:29 EST
I am having a similar but slightly different problem with release 2.9.0 writing a multi-module program for the C8051F350. Several modules include C8051F350.h. When I link the program, many of the processor’s global symbols, such as: _ADC0F, _PCA0CP0, _PCA0CP1, _ADC0H, _ADC0L, etc., are reported by the linker as having multiple definitions.
I have seen this problem before, and resolved it, unfortunately I don’t remember how. Further, I have another project, also with multiple modules, that **doe_sn’t have this problem[/b_]. I can see no differences between these projects to explain. I have carefully examined the compiler, assembler and linker commands and see no differences.
Found the problem. Some modules were including a different CPU definition file than others (because they were taken from a different project that uses a different CPU variant).