We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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) } }
You need to ask Keil, but it sounds like the Keil tools can't support more than 128MB of memory (maybe they keep some bitmap) and you seem to have 1GB of RAM.