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.

RM48L952: Interrupting FEE write causes a reset

Part Number: RM48L952
Other Parts Discussed in Thread: HALCOGEN

Hello,

We are using the HALCoGen FEE driver in our project to store changes to calibratable parameters. All seemed to be working well until we recently implemented nested interrupts as described in the TI application note. It appears interrupting the write operation causes the microcontroller to crash. As a workaround, we have disabled all interrupts while writing to the FEE which is called from a 1 second task, but this is not desirable as the write operation takes around 50ms to complete and we have a 10ms task which will be significantly delayed.

We are using the asynchronous write command as follows:

/* Disable interrupts during FEE write */
_disable_IRQ();

/* Write the block into FEE sector Asynchronously. When status is IDLE the write operation has completed */
TI_Fee_WriteAsync(ctBlockNumber, (uint8_t *)ptrRamAddr);

do {


TI_Fee_MainFunction();

stFeeStatus = TI_Fee_GetStatus(GET_LAST_ACTION_STATUS);

}
while (stFeeStatus != IDLE);

/* Re-enable interrupts after writing to FEE is complete */
_enable_IRQ();

Is anyone able to tell me why interrupting the write sequence would cause a problem? Are we able to move the interrupt disable to cover only the TI_Fee_MainFunction() so we do not delay our higher priority timed tasks?

Many thanks