On 05/05/06, Tennessee Carmel-Veilleux <tennessee.carmelveill...@gmail.com>
wrote:



On 05/05/06, Chris Liechti <cliec...@gmx.net> wrote:
>
> Tennessee Carmel-Veilleux schrieb:
> > I have just started the code on a data acquisition helper chip based
> on
> > the MSP430F2013. I am using the latest win32 installer of MSPGCC
> > (04042006 version of msp430-ld).
>
> there is a newer version, from this month, that fixed some things for
> newer cpu's.



AFAIK, I downloaded and installed the new version today. Maybe the linker
included is the old one ? I shall try again when I am back at work on
tuesday. I will advise of success or failure.


I uninstalled my previous MSPGCC package and reinstalled from
mspgcc-20060502.exe (latest win32 installer). The linker version is still:

-------------
$ msp430-ld --version
GNU ld version 060404 20060404
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
-------------

The include file correction I had sent last week (msp430x20x3.h) is still
needed for compiling and the linker does not recognize the
OUTPUT_ARCH(msp:200) in the linker script. I think that the archive may
contain an older build of the binutils that does not support the identifier
for msp:200 in the BFD library. Maybe that support still needs to be added.

Anyway, I am now certain that msp430x20x3.h support is not directly present
in the latest package.

I tried making a work-around by modifying the ldscripts in
mspgcc/msp430/lib/ldscripts to have OUTPUT_ARCH(msp:21) instead of msp:200.
However, there seems to be no way to bypass the default linker script. Even
by adding the following to the GCC invokation:

-Xlinker "-T" -Xlinker "path_to_mspgcc/msp430/lib/ldscripts/msp430x2013.x"

or with manual invokation of the linker with options to replace the linker
script, I still get the error about msp:200 being invalid.

-------------
$ msp430-ld -m msp430x2013 -o USBVoltAmp_slave.elf
/cygdrive/d/mspgcc/bin/../lib/
gcc-lib/msp430/3.2.3/../../../../msp430/lib/crt430x2013.o
-L/cygdrive/d/mspgcc/b
in/../lib/gcc-lib/msp430/3.2.3/msp1
-L/cygdrive/d/mspgcc/bin/../lib/gcc-lib/msp4
30/3.2.3 -L/cygdrive/d/mspgcc/bin/../lib/gcc-lib
-L/cygdrive/d/mspgcc/bin/../lib
/gcc-lib/msp430/3.2.3/../../../../msp430/lib/msp1
-L/cygdrive/d/mspgcc/bin/../li
b/gcc-lib/msp430/3.2.3/../../../../msp430/lib
-L/cygdrive/d/mspgcc/bin/../lib/gc
c-lib/msp430/3.2.3/../../.. -T
/cygdrive/d/mspgcc/msp430/lib/ldscripts/msp430x20
13.x main.o asmlib.o fonctions.o fll.o swuart.o -lgcc -lc -lgcc
msp430-ld: cannot represent machine `msp:200'
------------

I think that the default linker script might be parsed before any
substitution, which would make it read the invalid architecture. I would
need to patch the binary to replace the string inside of it, which to me
seems like a bad idea :)

Is it possible that a fix be found ? I can provide the source code and
makefiles that show the error to any MSPGCC developper so that the
conditions can be reproduced until the build process is working.

Anyways, thanks again for the great work on the latest versions of MSPGCC. I
have been using the support for MSP430x42x with great success for over a
year and the additionnal tools (msp430-size and msp430-ram-usage) are very
useful to get information on the built binaries. I hope that support for
MSP430x20xx can work soon !

Best Regards,

Tennessee Carmel-Veilleux
Electronics Design Technician, University of Montreal

Reply via email to