John Regehr

interrupt behavior in RAM vs. CONSOLE_RAM targets in CodeWarrior for ColdFire 6.4 for M52233DEMO

Discussion created by John Regehr on Sep 11, 2007
Latest reply on Sep 12, 2007 by John Regehr
This question is regarding interrupts behaving differently in the RAM and CONSOLE_RAM compilation targets with CWCF6.4 when targeting an M52233DEMO board.

Starting with the "hello world" app I wrote very simple code to generate an interrupt when PIT0 is reset.

When I use the RAM compilation target, the interrupt handler fires as expected (periodically blinking an LED on the demo board).  However, when using the CONSOLE_RAM target, my application throws a bus error when the interrupt fires.

But here is the odd bit:

To link in my interrupt handler I pointed vector119 in mcf5xxx_vectors.s to my handler.  When I use the CONSOLE_RAM target, it seems that this vector table is not even being linked into my application: I can enter a function that does not exist for vector119 and no linker error is signaled.
  Using the RAM compilation target, I get a linker error as expected if a vector refers to a function that does not exist.  And furthermore, as I said, my handler is in fact the one that fires when PIT0 expires, when I use the RAM option.

My question is: Is there something obvious I am missing about the CONSOLE_RAM compilation target, where it grabs the vector table from somewhere other than mcf5xxx_vectors.s?  If so, where is it getting vectors from?  If not, is this a bug?


John Regehr