Interrupts processing in C


my audio processing application is using SPORT DMA interrupt handler to execute audio DSP algorithms.

In main, after initialization, program waits for control packets from UART and then, when some command come, audio algorithms parameters are set.  The problem is interaction between DSP code executed in background, and parameter settings code in main loop. On example, memcpy function does not work for transfer of 119 long fractional FIR coefficients from large table in L2 memory to L1 filter coefficient vector.

I moved this transfer from main loop to mentioned above interrupt handler, and problem disappeared, but this is not safe.

Where I can find info about register preserving on entry to interrupt service routines ?

I use many assembler routines for audio DSP, but follow the rules described in "C and Assembly Mixed Programming".