This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Debugging code in DDR

Hi
I am trying to debug my code (size 0~0x20000) which is located in DDR memory. The ESRAM is much too small for it.

Below is the scatter file I am using to link it all together. The system startup code is located in eNVM (address 0) using ESRAM for its stack.

My main will be in the DDR which starts at 0xA0000000. I put the heap and all other data structures in there too. The map looks correct to me.

The problems I am having are:

1) When using uVision ULINK2, I click on load and I immediately get a "error 129: MapMem - map size truncated to 128MB" yet it continues to load the software into what I hope is eNVM and DDR

So I do not know what this error is trying to tell me.

2) After the load completes, I click on Start Debug Session and it gets to about 19% and then hangs up.

I have been able to debug my bootloader code (which is smaller) using both eNVM and DDR already so I know it will work. My main code is much bigger, obviously, but outside of that I don't understand why the uVision/ULINK2 is hanging up.

I would really appreciate any help or ideas you might have on what might be wrong

Steve

LR_IROM1 0x00000000 0x40000 { ; load region size_region ER_RO 0x00000000 0x40000 ; load address = execution address { *.o (RESET, +First) *(InRoot$$Sections) startup_m2sxxx.o (+RO) system_m2sxxx.o (+RO) sys_config.o (+RO) low_level_init.o (+RO) } RAM_EXEC 0xA0000000 0x30000 { * (+RO) }

STACKS 0x20000000 UNINIT { startup_m2sxxx.o (STACK) }

; MDDR_RAM 0xA0000000 0x1FFFFFFF ER_RW 0xA0030000 0x1FFFFFFF { * (+RW +ZI) * (HEAP) }
}