UART is configured with DMA enabled, so secondary controller always keep on sending data, while debugging on primary controller DMA keep on running and write on illegal location causing corruption, is there any way to halt DMA only while step run else keep running while in debug mode. enableDebugMode completely disables DMA in debug mode.
I don't know of a way to stop DMA operation in debug mode but I also don't think that it should be a problem if the DMA is set up to automatically stop (or free-run in a circular buffer mode). If it is overwriting memory or accessing invalid memory I would say that there is a basic problem with the DMA configuration that should be addressed first.
moreover i am reading variable size data so every time in callback i am using UART_ReceiveEDMA call to read x bytes, so in that case how would one configure circular buffer ?
If you configure for a fixed length and you know that your buffer is adequate to receive it you won't have any advantage of using a circular buffer.
As I understand it the libraries you reference don't have support for free-running UART DMA so you would need to develop it or use the uTasker solution (which also adds free running DMA UART reception to FreeRTOS based developments).
So basically illegal memory location might be a wrong word but what i was trying to say was that it writes on next memory location once 32 bytes which is buffer size get exhausted. and also i'll check for auto stop mode.
Thank You for replying.