AnsweredAssumed Answered

IMXRT1050 noncached RAM above 0x20240000 for DMA

Question asked by Jack King on Sep 3, 2019
Latest reply on Sep 5, 2019 by Jack King

I am trying to configure an area of FlexRAM for DMA buffers in MCUXpresso IDE 11.0 for the i.MXRT1050/1060

When I choose the starting address as 0x20220000 and a size of 0x20000  it works as expected (for DMA).

 

 

If I choose to start the region at 0x20240000 (size 0x20000), it seems that any writes to the region don't succeed, but no errors are thrown.  Looking in the memory monitor, the locations are all 0x00 (initialized).

 

 

I also make the appropriate changes to the MPU config for the region and the section definition in the linker:

 

 

Then I assign the buffer to the DMA region with the following:

DMAMEM_ALIGN( uint8_t buffer[3200], 4);

with:

#define DMAMEM_ALIGN(var, alignbytes) \
__attribute__((section(".dmabuffers"))) var __attribute__((aligned(alignbytes)))

 

 

Again, this all works if the region is at address 0x20220000...

 

Any ideas?

Outcomes