I don't think too many people have been using C++ for msp430, which is a
shame because I think a subset of the language is extremely suitable for
embedded programming.  Beefing up C++ support is a goal of mine.

In this case, the problem is that the header files fail to declare the
register declarations as externs, and the default behavior in C++ is
different from that of C.  Ben Ransford submitted a patch that included a
fix for this (see SF ticket 3114711 in the mspgcc4 bug tracker).  I'm
testing a variant of that today.  The initial trials suggest it fixes the
problem you're seeing.

Assuming all goes well, there will be a new mspgcc4 release later today
which should work for you.  This will also add support for a few new MCUs
that people have requested (not the G2xx2s just yet, sorry).

Peter

On Sun, Jan 30, 2011 at 9:48 AM, James Joyce <[email protected]> wrote:

>
>
>
>
> Hello,
>
> I've been trying to compile code using msp430-g++ or msp430-c++. However,
> I'm
> getting errors and I'm not sure how to proceed. Could you point me in the
> right
> direction? I haven't found any information on using C++ for either MSPGCC
> or
> MSPGCC4.
>
> Thank you
>
> My error is shown below:
>
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:473:
>  error: uninitialized const ‘P1IN’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:490:
>  error: uninitialized const ‘P2IN’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:513:
>  error: uninitialized const  ‘P3IN’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:524:
>  error: uninitialized const ‘P4IN’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:540:
>  error: uninitialized const ‘TAIV’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:642:
>  error: uninitialized const ‘TBIV’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:736:
>  error: uninitialized const ‘UCA0RXBUF’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:761:
>  error: uninitialized const ‘UCB0RXBUF’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:989:
>  error: uninitialized const ‘CALDCO_16MHZ’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:991:
>  error: uninitialized const  ‘CALBC1_16MHZ’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:993:
>  error: uninitialized const ‘CALDCO_12MHZ’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:995:
>  error: uninitialized const ‘CALBC1_12MHZ’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:997:
>  error: uninitialized const ‘CALDCO_8MHZ’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:999:
>  error: uninitialized const ‘CALBC1_8MHZ’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:1001:
>  error: uninitialized const ‘CALDCO_1MHZ’
>
> /opt/msp430-gcc-4.4.5/lib/gcc/msp430/4.4.5/../../../../msp430/include/msp430x22x4.h:1003:
>  error: uninitialized const ‘CALBC1_1MHZ’
>
>
>
> My code is in fact all C for now:
>
> #include "msp430x22x4.h"
>
> volatile unsigned int  i;      // volatile to prevent optimization
>
> int main(void)
> {
>  WDTCTL = WDTPW + WDTHOLD;   // Stop watchdog timer
>  P1DIR |= 0x01;              // Set P1.0 to output direction
>
>  for (;;)
>  {
>    P1OUT ^= 0x01;     // Toggle P1.0 using exclusive-OR
>    i = 10000;         // Delay
>    do (i--);
>    while (i != 0);
>  }
>    return 1;
> }
>
>
>
>
> ------------------------------------------------------------------------------
> Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
> Finally, a world-class log management solution at an even better
> price-free!
> Download using promo code Free_Logger_4_Dev2Dev. Offer expires
> February 28th, so secure your free ArcSight Logger TODAY!
> http://p.sf.net/sfu/arcsight-sfd2d
> _______________________________________________
> Mspgcc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>
>
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Mspgcc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to