AnsweredAssumed Answered

Relocating Interrupt Vector Table When Using MQX

Question asked by kackle123 on May 17, 2019
Latest reply on Jun 7, 2019 by kackle123

I can import an example Kinetis K64F Freedom board (FRDM-K64F) bareboard project, modify its linker file to something like the following (that is, relocate its interrupt vector table), and it still works fine:

 

MEMORY

{
    vectorrom   (RX): ORIGIN = 0x00001000, LENGTH = 0x00000400
    cfmprotrom  (R):  ORIGIN = 0x00001400, LENGTH = 0x00000020
    rom         (RX): ORIGIN = 0x00001420, LENGTH = 0x000FeBE0  
    ram         (RW): ORIGIN = 0x1FFF0000, LENGTH = 0x00040000 

}

 

But I cannot do the same with an example MQX project; it crashes near __thumb_startup().  Upon loading the code, I see with the debugger that the table has moved to 0x1000, which is correct.  But I suspect MQX or CodeWarrior (Kinetis Design Studio/KDS fails too) is not properly setting something else up.

 

Could someone please try loading the MQX 4 "hello world" project, confirm it executes, and then try using my linker file's MEMORY section above to see whether it still works? 

Outcomes