Prevent re-changes by PE in a file

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Prevent re-changes by PE in a file

382 Views
PO220
Contributor IV

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

2 Replies

271 Views
marek_neuzil
NXP Employee
NXP Employee

Hello,

You can use the InterruptVector component (in Processor Expert) that put the requested interrupt service routine into interrupt vector table. See below:

pastedImage_1.png

Best Regards,

Marek Neuzil

271 Views
PO220
Contributor IV

Thank you

it's perfect !

0 Kudos