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 vectory table into SRAM 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

}