in the sysinit code, the vector table is copied to RAM
/* Copy the vector table to RAM */
if (__VECTOR_RAM != VECTOR_TABLE)
{
for (n = 0; n 256; n++)
__VECTOR_RAM[n] = VECTOR_TABLE[n];
}
mcf5xxx_wr_vbr((uint32)__VECTOR_RAM);
why does it has to like this. I tried to do just
mcf5xxx_wr_vbr((uint32)VECTOR_TABLE);
to use the vector table in flash, but this does not work at all.
I do not need to remap any irq vectors at runtime, so I hoped to use a fixed vector table undestroyable by errounous ram accesses.