I'm trying to use the DMA to transfer data from an ADC result register directly to the external DDR2 memory using CW 10.2, the bare metal source code, and the TWR-K70F120M board.
There is a PIT that triggers an ADC conversion which, when complete, triggers a DMA request to transfer the result to a destination. I'm able to use the DMA to transfer the ADC data to areas in the internal memory, but if I try to set the DMA_TCDx_DADDR to the start of the external DDR2 RAM (0x70000000) , then the data doesn't get transferred.
Specifically, the memory monitor reads the contents of all the memory near 0x70000000 as "0x42000023" - the same value everywhere! In fact, all the registers in the 'Registers' tab read back as "0x42000023" after attempting such a transfer - although restarting the app, returns the registers to normal values.
Is the DMA supposed to be able to transfer anything to the external DDR2 memory? I've tried using the CPU to move stuff there and that worked. The memTest routines in the bare metal source code work fine in the DDR2 region. What am I missing here?
Thanks in advance!