Hi,

I have a vector table for MCS9S08AC128 which has been hardcoded from ff9c but each vector is taking three bytes instead of 2 bytes as per the data sheet .I commented all the vector constants

Snippet from .map file

.abs_section_ff9c 3 R 0xFF9C 0xFF9E .absSeg5

vector table I have commented just to see how much size it occupies. Vector 49 should be from FF9C to FF9D as per the datasheet

**void** (* **const** _vectab[])() @0xff9c = {

/* FF80 - FF9B - Unused Vector Space available for user program. */

_DoNothing_Isr, /* Vspi2 Vector 49 */

//_DoNothing_Isr, /* Vtpm3ovf Vector 48 */

//_DoNothing_Isr, /* VReserved47 Vector 47 */

//_DoNothing_Isr, /* VReserved46 Vector 46 */

//_DoNothing_Isr, /* VReserved45 Vector 45 */

//_DoNothing_Isr, /* VReserved44 Vector 44 */

//_DoNothing_Isr, /* VReserved43 Vector 43 */

//_DoNothing_Isr, /* VReserved42 Vector 42 */

//_DoNothing_Isr, /* VReserved41 Vector 41 */

//_DoNothing_Isr, /* VReserved40 Vector 40 */

//_DoNothing_Isr, /* VReserved39 Vector 39 */

//_DoNothing_Isr, /* VReserved38 Vector 38 */

//_DoNothing_Isr, /* VReserved37 Vector 37 */

//_DoNothing_Isr, /* VReserved36 Vector 36 */

//_DoNothing_Isr, /* VReserved35 Vector 35 */

//_DoNothing_Isr, /* VReserved34 Vector 34 */

//_DoNothing_Isr, /* VReserved33 Vector 33 */

//_DoNothing_Isr, /* VReserved32 Vector 32 */

//_DoNothing_Isr, /* Vtpm3ch1 Vector 31 */

//_DoNothing_Isr, /* Vtpm3ch0 Vector 30 */

//_DoNothing_Isr, /* Vrti Vector 29 */

//_Iic_Isr, /* Viic1 Vector 28 */

//_DoNothing_Isr, /* Vadc1 Vector 27 */

//_DoNothing_Isr, /* Vkeyboard1 Vector 26 */

//_DoNothing_Isr, /* Vsci2tx Vector 25 */

//_DoNothing_Isr, /* Vsci2rx Vector 24 */

//_DoNothing_Isr, /* Vsci2err Vector 23 */

//_SciT_Isr, /* Vsci1tx Vector 22 */

//_DoNothing_Isr, /* Vsci1rx Vector 21 */

//_DoNothing_Isr, /* Vsci1err Vector 20 */

//_DoNothing_Isr, /* Vspi1 Vector 19 */

//_DoNothing_Isr, /* Vtpm2ovf Vector 18 */

//_DoNothing_Isr, /* Vtpm2ch5 Vector 17 */

//_DoNothing_Isr, /* Vtpm2ch4 Vector 16 */

//_DoNothing_Isr, /* Vtpm2ch3 Vector 15 */

//_DoNothing_Isr, /* Vtpm2ch2 Vector 14 */

//_DoNothing_Isr, /* Vtpm2ch1 Vector 13 */

//_DoNothing_Isr, /* Vtpm2ch0 Vector 12 */

//_Tpm1_Isr, /* Vtpm1ovf Vector 11 */

//_DoNothing_Isr, /* Vtpm1ch5 Vector 10 */

//_DoNothing_Isr, /* Vtpm1ch4 Vector 09 */

//_DoNothing_Isr, /* Vtpm1ch3 Vector 08 */

//_DoNothing_Isr, /* Vtpm1ch2 Vector 07 */

//_DoNothing_Isr, /* Vtpm1ch1 Vector 06 */

//_DoNothing_Isr, /* Vtpm1ch0 Vector 05 */

//_DoNothing_Isr, /* Vicg Vector 04 */

//_DoNothing_Isr, /* Vlvd Vector 03 */

//_DoNothing_Isr, /* Virq Vector 02 */

//_Swi_Isr, /* VSwi Vector 01 */

//_Startup /* VReset Vector */

};

Hi Preetu,

Yes, your way is a correct way to define interrupt in prm file.

Once you define a certain interrupt in prm, we can't define the same vector in c file. otherwise we will get link error.

I attach a document on the summary of defining Interrupt Functions.

If you don't want share your project to public, you can create a private ticket to NXP technical support team, contact support engineer with your project personally.

Have a great day,

Jennie Zhang

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------