Howdy Bob,
When messing with low level stuff (like interrupts) one must learn to read
and deal with TI's weird interrupt schemes.
One can learn all from looking at the include files: These files can be
found in /usr/msp430/include with a normal install from one of the Debian
packages (msp430mcu...)
msp430g2231.h
msp430g2232.h
msp430g2332.h
You want to look for things like *_HAS_*. These are the function defines
and tells you what different processors have integrated on chip. Later in
the file you will also see things like *_VECTOR. This is what defines
what the vector (interrupt) table looks like for the processor.
For timers we see the following:
msp430g2231.h:
443:#define __MSP430_HAS_TA2__ /* Definition to show that
Module is available */
#define TIMERA1_VECTOR (0x0010) /* 0xFFF0 Timer A CC1, TA */
#define TIMERA0_VECTOR (0x0012) /* 0xFFF2 Timer A CC0 */
msp430g2232.h:
448:#define __MSP430_HAS_TA3__ /* Definition to show that
Module is available */
#define TIMER0_A1_VECTOR (0x0010) /* 0xFFF0 Timer0_A CC1, TA */
#define TIMER0_A0_VECTOR (0x0012) /* 0xFFF2 Timer0_A CC0 */
msp430g2332.h:
448:#define __MSP430_HAS_TA3__ /* Definition to show that
Module is available */
#define TIMER0_A1_VECTOR (0x0010) /* 0xFFF0 Timer0_A CC1, TA */
#define TIMER0_A0_VECTOR (0x0012) /* 0xFFF2 Timer0_A CC0 */
Looks like the 2232.h and 2332.h are the same as far as timers are
concerned.
For details of what the chip provides for Timers, one should look
explicitly at the data sheet for the explicit chip. Not the user's manual.
You will want to change from TIMERA0_VECTOR to TIMER0_A0_VECTOR or the
other one, which ever one is appropriate depending on what h/w you want to
capture the interrupt from.
Hopefully that clears somethings up.
And yes the error message is bogus. I think it is taking the ascii
representation of "TIMERA0_VECTOR", the first 8 bytes perhaps and then
converting this 32 bit number to decimal and that is what is being
displayed. But I haven't tried that out because I don't have my
programmer's calc handy.
eric
On Fri, Dec 23, 2011 at 1:07 AM, Bob von Knobloch <b...@vknobloch.de> wrote:
> Hi,
>
> I'm using mspgcc 20110716.
> I have a project using an msp430g2231, which compiles and runs OK.
> I am trying to change to processor type to a g2232 or g2332.
> When I specify one of these (e.g. -mmcu=msp430g2232) then the toolchain
> (linker) reports:
>
> msp430-gcc -Wall -g -Os -mmcu=msp430g2232 -Wno-main -c -o mspsani.o
> mspsani.c
> mspsani.c: In function ‘TIMERA0_ISR’:
> mspsani.c:343:27: error: interrupt vector 538631144 is beyond end of MCU
> vector table
> make: *** [mspsani.o] Error 1
>
> I have looked at the library headers for these devices and everything
> looks sane.
> Can anyone suggest why the offset for the vector table appears wrong
> with these devices?
>
>
> --
> The Sun is out, the sky is blue, it's time to drive the MR2.
>
>
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
> _______________________________________________
> Mspgcc-users mailing list
> Mspgcc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>
--
Eric B. Decker
Senior (over 50 :-) Researcher
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users