Reply by Raymond Hurst January 5, 20092009-01-05
Shouldn't the interrupt statement be:

__interrupt void TIMERA1_ISR(void)
Ray

brian wrote:
> --- In m... , Anders
> Lindgren
> wrote:
> >
> > brian wrote:
> > > A bit of a rookie question:
> >
> > > The examples show interrupt vector set up using the #pragma
> > > vector=TIMERA0_VECTOR compiler pragma. This does not seem to work
> > > with the compiler in the environment shipped with the ez450 RF2500
> > > kit. Is there a similar call in this environment ? Am I missing
> > > something ?
> >
> > Hi Brian!
> >
> > Someone here might be able to help you, but you will need to tell us a
> > little bit more, for example, which environment you are using (probably
> > IAR), the exact error you get from the compiler, and preferably a very
> > small code snippet that demonstrates the problem.
> >
> > From what you write, we can only guess. One guess might be that you
> > don't include the header file that define the symbol, TIMERA0_VECTOR.
> > Typicall it is defined in files named "ioXXX.h" or "mspXXX.h", where
> XXX
> > is the name of the processor you are using.
> >
> > -- Anders Lindgren, IAR Systems
> > --
> > Disclaimer: Opinions expressed in this posting are strictly my own and
> > not necessarily those of my employer.
> > THanks Anders,
> Sorry for the lack of data.
>
> I am running the TI CCE compiler env. Version 2.0.4.2. The processor
> is the MSP430x2274. I reference the associated .h files when I build
> the workspace, per CCE convention.
>
> Here is the Build message, note WARNING.
> 'Invoking: MSP430 Compiler'
> "c:\Program Files\Texas Instruments\CC Essentials
> 2.0\tools\compiler\MSP430\bin\cl430" --obj_directory"./"
> --include_path="c:\Program Files\Texas Instruments\CC Essentials
> 2.0\tools\compiler\MSP430\include" --symdebug:dwarf
> --plain_char=signed --silicon_version=msp --printf_support=full
> "../main.c"
> "../main.c", line 13: warning: unrecognized #pragma
> 'Finished building: ../main.c'
>
> Here is the code, this is a simple example from TI. I have changed the
> vector = TIMERA1_VECTOR, in the example to TIMERA1_ISR to match the
> definition statement in the msp430x2274.h file. I have tried this both
> ways.
>
> No defined vector ever appears in the linker listing for interrupts in
> any examples I have tried.
>
> I also copied the #define statement into my main.c file that contains
> the TIMERA1_ISR vector definition, no luck.
>
> // Timer_A3 Interrupt Vector (TAIV) handler
> #pragma vector=TIMERA1_ISR
> __interrupt void Timer_A(void)
> {
> switch (TAIV) // Efficient switch-implementation
> {
> case 2: break; // TACCR1 not used
> case 4: break; // TACCR2 not used
> case 10: P1OUT ^= 0x01; // overflow
> break;
> }
> }
>
> Thanks for looking at this. I know I am simply missing something obvious.
>
> Regards,
> Brian

--
Ray Hurst
949-202-6037

Beginning Microcontrollers with the MSP430

Reply by brian January 5, 20092009-01-05
--- In m..., Anders Lindgren
wrote:
>
> brian wrote:
> > A bit of a rookie question:
>
> > The examples show interrupt vector set up using the #pragma
> > vector=TIMERA0_VECTOR compiler pragma. This does not seem to work
> > with the compiler in the environment shipped with the ez450 RF2500
> > kit. Is there a similar call in this environment ? Am I missing
> > something ?
>
> Hi Brian!
>
> Someone here might be able to help you, but you will need to tell us a
> little bit more, for example, which environment you are using (probably
> IAR), the exact error you get from the compiler, and preferably a very
> small code snippet that demonstrates the problem.
>
> From what you write, we can only guess. One guess might be that you
> don't include the header file that define the symbol, TIMERA0_VECTOR.
> Typicall it is defined in files named "ioXXX.h" or "mspXXX.h", where
XXX
> is the name of the processor you are using.
>
> -- Anders Lindgren, IAR Systems
> --
> Disclaimer: Opinions expressed in this posting are strictly my own and
> not necessarily those of my employer.
>

THanks Anders,
Sorry for the lack of data.

I am running the TI CCE compiler env. Version 2.0.4.2. The processor
is the MSP430x2274. I reference the associated .h files when I build
the workspace, per CCE convention.

Here is the Build message, note WARNING.
'Invoking: MSP430 Compiler'
"c:\Program Files\Texas Instruments\CC Essentials
2.0\tools\compiler\MSP430\bin\cl430" --obj_directory"./"
--include_path="c:\Program Files\Texas Instruments\CC Essentials
2.0\tools\compiler\MSP430\include" --symdebug:dwarf
--plain_char=signed --silicon_version=msp --printf_support=full
"../main.c"
"../main.c", line 13: warning: unrecognized #pragma
'Finished building: ../main.c'

Here is the code, this is a simple example from TI. I have changed the
vector = TIMERA1_VECTOR, in the example to TIMERA1_ISR to match the
definition statement in the msp430x2274.h file. I have tried this both
ways.

No defined vector ever appears in the linker listing for interrupts in
any examples I have tried.

I also copied the #define statement into my main.c file that contains
the TIMERA1_ISR vector definition, no luck.
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_ISR
__interrupt void Timer_A(void)
{
switch (TAIV) // Efficient switch-implementation
{
case 2: break; // TACCR1 not used
case 4: break; // TACCR2 not used
case 10: P1OUT ^= 0x01; // overflow
break;
}
}

Thanks for looking at this. I know I am simply missing something obvious.

Regards,
Brian

Reply by Anders Lindgren January 5, 20092009-01-05
brian wrote:
> A bit of a rookie question:

> The examples show interrupt vector set up using the #pragma
> vector=TIMERA0_VECTOR compiler pragma. This does not seem to work
> with the compiler in the environment shipped with the ez450 RF2500
> kit. Is there a similar call in this environment ? Am I missing
> something ?

Hi Brian!

Someone here might be able to help you, but you will need to tell us a
little bit more, for example, which environment you are using (probably
IAR), the exact error you get from the compiler, and preferably a very
small code snippet that demonstrates the problem.

From what you write, we can only guess. One guess might be that you
don't include the header file that define the symbol, TIMERA0_VECTOR.
Typicall it is defined in files named "ioXXX.h" or "mspXXX.h", where XXX
is the name of the processor you are using.

-- Anders Lindgren, IAR Systems
--
Disclaimer: Opinions expressed in this posting are strictly my own and
not necessarily those of my employer.

Reply by brian January 4, 20092009-01-04
Hello All,

A bit of a rookie question:

The examples show interrupt vector set up using the #pragma
vector=TIMERA0_VECTOR compiler pragma. This does not seem to work
with the compiler in the environment shipped with the ez450 RF2500
kit. Is there a similar call in this environment ? Am I missing
something ?

Regards,

Brian