Juha-Matti Koopikka

Funny interrupt behavior after starting firmware via bootloader - MC9S12XDP512

Discussion created by Juha-Matti Koopikka on Mar 3, 2008
Latest reply on Mar 13, 2008 by Daniel White


I have been coding a CAN-bootloader for MC9S12XDP512, it seems that the firmware is downloaded as it should be at Flash, and pseudo vector table is relocated at below 0xeffe.

The launching of firmware is executed as:
      asm JMP    [0xFFFE-BootBlkSize,pcr]/* Run user Program */

The program starts fine, but if it gets a timerinterrup (for canopen heartbeat) it doesn't make that CAN-message. But it also don't crash, because I'm able to read other CAN objects, includin it's different fw versionnumber. And if I stop executing from debugger it starts automticaly again and makes that message.

If i upload a different kind of firmware such as a babbling idiot, which only generates CAN-traffic without any timers, it works 100% right.

Any idea what could be problem here, I'm thinkin somethin is wrong with new pseudo-table.




Added p/n to subject.

Message Edited by NLFSJ on 2008-03-13 04:40 PM