Recently when I using the memmove() function provided by ewl library, I got a very strange result which is totally wrong.Simply put, I want to move a piece of data backwards by 8 bytes, but the result seems like very strange. I want to know why and how to slove it. Thanks!
I'm not sure if it is still actual - I did quick test on my side and memmove() works correctly on my side:
Most probable cause of the issue is that something rewrite the memory space. It can be some DMA access, if it is multicore project with badly defined linker script file – other core may write outside of its memory space and So on.