Hi
I'm a new MQXlite user, with a KL15Z128.
MQX and task are incredible but I have always hated PE...time-consuming, unreproductible... I prefer my well-structured files.
I need to define an interrupt vector without PE
I can do it in the vector.c file
__attribute__ ((section (".vectortable"))) const tVectorTable __vect_table = { /* Interrupt vector table */
/* ISR name No. Address Pri Name Description */
&__SP_INIT, /* 0x00 0x00000000 - ivINT_Initial_Stack_Pointer used by PE */
{
(tIsrFunc)&__boot, /* 0x01 0x00000004 - ivINT_Initial_Program_Counter used by PE */
(tIsrFunc)&Cpu_INT_NMIInterrupt, /* 0x02 0x00000008 -2 ivINT_NMI used by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x03 0x0000000C -1 ivINT_Hard_Fault unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x04 0x00000010 - ivINT_Reserved4 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x05 0x00000014 - ivINT_Reserved5 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x06 0x00000018 - ivINT_Reserved6 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x07 0x0000001C - ivINT_Reserved7 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x08 0x00000020 - ivINT_Reserved8 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x09 0x00000024 - ivINT_Reserved9 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x0A 0x00000028 - ivINT_Reserved10 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x0B 0x0000002C - ivINT_SVCall unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x0C 0x00000030 - ivINT_Reserved12 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x0D 0x00000034 - ivINT_Reserved13 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x0E 0x00000038 - ivINT_PendableSrvReq unused by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x0F 0x0000003C 2 ivINT_SysTick used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x10 0x00000040 - ivINT_DMA0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x11 0x00000044 - ivINT_DMA1 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x12 0x00000048 - ivINT_DMA2 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x13 0x0000004C - ivINT_DMA3 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x14 0x00000050 - ivINT_Reserved20 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x15 0x00000054 - ivINT_FTFA used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x16 0x00000058 - ivINT_LVD_LVW used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x17 0x0000005C - ivINT_LLW used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x18 0x00000060 - ivINT_I2C0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x19 0x00000064 - ivINT_I2C1 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x1A 0x00000068 - ivINT_SPI0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x1B 0x0000006C - ivINT_SPI1 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x1C 0x00000070 - ivINT_UART0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x1D 0x00000074 - ivINT_UART1 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x1E 0x00000078 - ivINT_UART2 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x1F 0x0000007C - ivINT_ADC0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x20 0x00000080 - ivINT_CMP0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x21 0x00000084 - ivINT_TPM0 used by PE */
NAND_itTimer1, /* 0x22 0x00000088 - ivINT_TPM1 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x23 0x0000008C - ivINT_TPM2 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x24 0x00000090 - ivINT_RTC used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x25 0x00000094 - ivINT_RTC_Seconds used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x26 0x00000098 - ivINT_PIT used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x27 0x0000009C - ivINT_Reserved39 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x28 0x000000A0 - ivINT_USB0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x29 0x000000A4 - ivINT_DAC0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x2A 0x000000A8 - ivINT_TSI0 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x2B 0x000000AC - ivINT_MCG used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x2C 0x000000B0 - ivINT_LPTimer used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x2D 0x000000B4 - ivINT_Reserved45 used by PE */
(tIsrFunc)&_int_kernel_isr, /* 0x2E 0x000000B8 - ivINT_PORTA used by PE */
(tIsrFunc)&_int_kernel_isr /* 0x2F 0x000000BC - ivINT_PORTD used by PE */
}
};
but PE erases my vector when I click "generate processor expert code"
How can I prevent processor expert from erasing "personnal" vectors ?
Thank you in advance
Hello,
You can use the InterruptVector component (in Processor Expert) that put the requested interrupt service routine into interrupt vector table. See below:
Best Regards,
Marek Neuzil
Thank you
it's perfect !