Hi,

Something is wrong with your installation. See below.

nobo...@web.de wrote:

Hi,

The FW42x parts have been supported (and the support actually used) since last summer. That is why the timera1 is known during your compilation (although with a typo upsetting things) - timera1 was added to the headers specifically for the FW42x :-)

I tried it:

msp430-gcc -mmcu=msp430xW427 -Os -mendup-at=main -Wall -g -c main.c
Known MCU names:
        msp1
        msp2
        msp430x110
        msp430x112
        msp430x122
        msp430x122
        msp430x1222
        msp430x1122
        msp430x1132
        msp430x123
        msp430x1232
        msp430x133
        msp430x135
        msp430x147
        msp430x148
        msp430x149
        msp430x412
        msp430x413
        msp430x311
        msp430x312
        msp430x313
        msp430x314
        msp430x315
        msp430x323
        msp430x325
        msp430x336
        msp430x337
        msp430x1101
        msp430x1111
        msp430x1121
        msp430x1331
        msp430x1351
        msp430x435
        msp430x436
        msp430x437
        msp430x447
        msp430x448
        msp430x449
        msp430x167
        msp430x168
        msp430x169
        msp430x155
        msp430x156
        msp430x157
This is the output from a very old version of msp430-gcc. There are more MCUs in versions less than one year old, and they are sorted into order now. Which version of gcc are you using? Your script seems to indicate you are using the right one, but they above output doesn't. The right versions to use at the moment are GCC 3.2.3 and the mspgcc patches from the 3.3 directory at the mspgcc site. These do *not* give the output shown here. At least, they don't for everyone else :-)

I looked at the source file names, found some good looking files and with 
-mmcu=msp430xW427 and #include <msp430xW42x.h> the MCU is known, so the above 
error list is wrong.
I could start compiling but with the new MCU type i do get many errors:

main.c:69: `CACTL2' undeclared (first use in this function)
...
main.c:71: `CAON' undeclared (first use in this function)
isr.c:109: `CACTL1' undeclared (first use in this function)
...
modules.c:789: `CAF' undeclared (first use in this function)
...
make: *** [main.o] Error 1

What's wrong?
This is just a consequence of the compiler not knowing the device. It has not selected the right headers, so it does not know these port names. When the compiler is fixed, this problem will go away. I can use those names OK with an FW427.

Is there no trick to reduce the size to the size the IAR compiler
produces?
- did you compile for the same target?

Yes, for F413.

- did you try -O2 too?

Yes, with -O2 it's bigger.
I'm using

CPU    = msp430xW427
ASMOPT = -mmcu=${CPU} -std=gnu99 -ffunction-sections -fgcse -fssa 
-fdelete-null-pointer-checks -fno-math-errno -mno-stack-init -Os 
-mendup-at=main -Wall
COPT   = -mmcu=${CPU} -std=gnu99 -Os -mendup-at=main -Wall -g


- does the code use floats?

Yes. Does mspgcc produces more float code than the IAR compilers?
There are not many people using floats, so it hasn't received a lot of attention. The integer code from mspgcc is generally smaller and faster than IAR. However, IAR beats mspgcc very easily on floating point code.

Regards,
Steve


Reply via email to