I'm trying to to copy a struct from CLA Data Ram 1 to memory mapped to to the main CPU. I've found that using an assignment or memcpy uses RPT and PREAD to move the data.
According to SPRUH18D (p. 167), when MMEMCFG.RAM1E == 1 and MMEMCFG.RAM1CPUE ==1, CPU program reads return 0. This seems to be happening when using PREAD.
However, if I manually loop and assign the pointers without optimizations or use memmove, MOVs are used and the memory is copied correctly.
Is there any solution to this? The CLAtoCPUMsgRam is too small for my structure.