AnsweredAssumed Answered

Sdram0 bank 0 overlapped allocation

Question asked by emanuele.cardani on Nov 23, 2011
Latest reply on Nov 25, 2011 by CraigG

I'm using a standard project with a generated LDF file.

Sdram memory partion is by default as following:


MEM_SDRAM0_BANK0        { TYPE(RAM) START(0x00000004) END(0x00ffffff) WIDTH(8) }
MEM_SDRAM0_BANK1        { TYPE(RAM) START(0x01000000) END(0x01ffffff) WIDTH(8) }
MEM_SDRAM0_BANK2        { TYPE(RAM) START(0x02000000) END(0x02ffffff) WIDTH(8) }
MEM_SDRAM0_BANK3        { TYPE(RAM) START(0x03000000) END(0x03ffffff) WIDTH(8) }



I've noticed a strange behavior when I allocate frame buffers in sdram0 bank0: section("sdram0") u8 sFrame0[FRAMESIZE];

First lines of the video frame0 have corrupted pixels. Further investigating the problem looking at memory allocation I noticed that sFrame0 is overlapped with other memory section as you can see from the attached image.

The overlapping section are in particular l1_data_cache_b, l1_code_cache, l1_data_cache_a and heap section (ldf_heap_lenght….).

I solved the problem forcing a different mapping of sdramo_bank 0: 

MEM_SDRAM0_BANK0        { TYPE(RAM) START(0x00001000) END(0x00ffffff) WIDTH(8) }


However I would like understand why this Issue happens and where I am doing something wrong.


Note: I use BF548 and VDSP++ 5 update 10.