Hello
I am currently using the RM46/RM44 DMA peripheral to handle a SCI communication without using CPU resources.
My product is made of two software. The first one acts as a bootloader and launches the second one (applicative).
Both of them uses the SCI through DMA.
One more thing, the bootloader does not reset to launch the applicative, it directly jumps to the applicative entry point.
I observed some issues in DMA behavior. After some more investigation, I saw that the DMA Control Packets were not reinitiliazed when I entered the applicative.
However i am paying attention to:
1) Disable the DMA before leaving the bootloader (GCTRL to 0x0 as soon as BUSY bit is low),
2) Initializing the DMA peripheral at the beginning of applicative execution.
I have tried to reset the DMA peripheral (GCTRL to 1as soon as BUSY bit is low) instead of stopping it without any success.
Finally the only solution I found was to set RTCTRL first bit and perform a memset of 0 from first DMA RAM address to latest one.
Is this behavior normal (I mean, is it normal that control packets are not equal to 0 upon reset)?
Do you see any other way to reinitialize these control packets?
Thanks for help,
Jules