This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] MSPM0G3507: How to put the ISRs into SRAM for MSPM0 deivces

Part Number: MSPM0G3507

  1. Use function of DL_Interrupt_registerInterrupt to define all the interrupts that used.(This function will copy the vector table into SRAM then modify the interrupt offset address and modify the interrupt ISR entry address as needed)image.png

    Example:     DL_Interrupt_registerInterrupt(

            ((uint32_t) UC0_INT_IRQn), BSL_PI_UART_ISR);

    BSL_PI_UART_ISR is the ISR function name
  2.  

    Define all the ISR function into SRAM. just add the define below

    #if defined(__ti_version__) || defined(__TI_COMPILER_VERSION__)

    #define RAMFUNC \

        __attribute__((section(".TI.ramfunc"))) __attribute__((noinline))

    #elif defined(__GNUC__)

    #define RAMFUNC __attribute__((section(".ramfunc"))) __attribute__((noinline))

    #elif defined(__IAR_SYSTEMS_ICC__)

    #define RAMFUNC __ramfunc __attribute__((noinline))

    #else

    #error "Compiler not supported for this function"

    #endif

    To use it as below

    RAMFUNC static void BSL_PI_UART_ISR(void)

    {

    //functions

    }