Forums

Code Composer Essentials V2.0 linker problem

Started by etcrob December 31, 2007
I am having a problem with CCE V2.0. It generates linker command
strings which prevent me from modifying any of the rts430.lib library
functions. This may be esoteric, but I wonder if anyone has had a
similar problem?

Rob

Problem:
Using CCE 2.0, the MSP430 linker will not allow me to link the
rts430.lib AFTER linking my project's C modules. As a result, I can
not use or modify the BOOT.C module within my project, because it is
inherently included within rts430.lib. So I get "defined multiple
times" errors. The same project works fine with CCE 1.0. The
documentation says "The customized version will replace the default
definition included in the run-time library if it is linked in before
the run-time library."

This problem also prevents me from using the _c_int00( )
initialization routine, as described in the manusl.

See the MSP430 Optimizing C/C++ Compiler v 2.0.1 User's Guide,
Section 4.3.1 Linking With Run-Time-Support Libraries, for a
description of how it should work. Regarding _c_int00, see also
6.9.1, System Pre-Initialization.

Steps Needed to Recreate the Problem:
Add BOOT.C (from the lib\rtssrc.zip folder) to a project (with --
rom_model selected). When you compile, "defined multiple times"
errors will result. Look at the linker command string generated by
CCE. You can see that rts430.lib is linked BEFORE BOOT.C. It should
be linked AFTER BOOT.C, so that the linker will ignore the multiple
declarations with the same name.

Beginning Microcontrollers with the MSP430