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.

AM2632: How to achieve temporary unresponsive interrupt, interrupt save, and interrupt restore

Part Number: AM2632

Tool/software:

As the title suggests, how do I achieve in AM263X:

1. Save Interrupt 

2. CPU temporarily not responding to interrupts

3. Restore Interrupt

 

In DSP, I can completed the above operation using the following method:

#define  INT_STORE unsigned int uiSave_IER = IER; UINT32 ulDintTimeTmp;
#define  INT_DISABLE {IER = 0;ulDintTimeTmp=ReadCpuTimer0Counter();}
#define  INT_RESTORE {ulDintTimeTmp=ulDintTimeTmp-ReadCpuTimer0Counter(); \
                      if (ulDintTimeTmp GT hos_ulDintTimeMax)             \
                      {                                                   \
                          hos_ulDintTimeMax = ulDintTimeTmp;              \
                          asm(" .global  _hos_ulDintTimeAdr ");           \
                          asm(" MOVL ACC, XAR5 ");                        \
                          asm(" MOV  XAR5, PC ");                         \
                          asm(" MOVW DP, #_hos_ulDintTimeAdr ");          \
                          asm(" MOVL @_hos_ulDintTimeAdr, XAR5 ");        \
                          asm(" MOVL XAR5, ACC ");                        \
                      } IER = uiSave_IER; }

In arm, how do I configure it? Can you provide example code?

Besides, what code should I use to replace the following operations in DSP?

#define  EINT   __asm(" clrc INTM")
#define  DINT   __asm(" setc INTM")
#define  ERTM   __asm(" clrc DBGM")
#define  DRTM   __asm(" setc DBGM")
#define  EALLOW __asm(" EALLOW")
#define  EDIS   __asm(" EDIS")
#define  ESTOP0 __asm(" ESTOP0")

Thanks