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.

IPCGR cleanes content of array

Hello all,

I tried to execute the test of DDR in the program with IPC interrupt (to wake up Core1 from Core0)
and this test worked normally before IPC.  But after IPC read only test gave the error because of the code: 

*(volatile uint32_t *)(IPCGR(1))=(1);
cleaned work array's content  in DDR.

Assembler code:
---------------
195                                             DEVICE_REG32_W(IPCGR(1), 1);
$C$RL22:
00845e00: 0201222A MVK.S2 0x0244,B4
00845e04: 0201316B MVKH.S2 0x2620000,B4
00845e08: 2427 || MVK.L2 1,B0
00845e0a: 1005 STW.D2T2 B0,*B4[0]


Cleaning of the work array's content in DDR have appeared after execution of the command:
00845e0a: 1005 STW.D2T2 B0,*B4[0]

Please look complete program in the attachment.
Compiler's settings:
Debug [Active]
C6000 Compiler -> Optimization -> Optimization level -> 2
C6000 Compiler -> Advanced Optimization -> Optimize for speed -> 2


Please answer on two questions:
- why did this command clean the array's content?
- what necessary to do to avoid this cleaning?

Best regards,
Stanislaw

Program.zip