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 using a cortex m3 arm from microsemi and I am trying to get the uLink2 debugger to load and debug my code. I have the standard on board 64K of nvm (addr 0) which is only good for start up really and 2GB of DDR RAM memory (0xA0000000) where my application will run.
I have tried to tell the debugger about this RAM memory that starts at 0xA0000000 with the following debugger initialization file but it seems to be totally ignoring it and giving me a error 129: MapMem - map size truncated to 128MB. If i try to load the symbols after this completes whatever it is doing, the uVision/uLink2 IDE hangs and I have to kill it.
RESET MAP MAP 0xA0000000, 0xA07FFFFF READ WRITE EXEC MAP 0xA0800000, 0xA0FFFFFF READ WRITE EXEC MAP 0xA1000000, 0xA17FFFFF READ WRITE EXEC MAP 0xA1800000, 0xA1FFFFFF READ WRITE EXEC
Does anyone ideas as to what I have done wrong or what I can do to allow my code to be loaded?
I appreciate your at least looking at my issue. I see that you help a lot of people on the forum and to me that shows what I great guy/engineer you are because I know it takes time to do. I hope you keep doing it because I am learning a lot from your posts.
This is my first experience with a ARM processor so I have had to try to how it works quickly because of the crazy delivery schedule. It doesn't help when the tools don't work right. :-(
The size is not due to my code being HUGE but that there are a lot of very big data structures to hold MBs of data as well as ZI data.
This is why my memory map that is creating this 128MB truncation. The MAP directive is suppose to tell the debugger about he extra memory past 128MB but its not working
Load Region FLASH_LOAD (Base: 0x00000000, Size: 0x00025848, Max: 0x00080000, ABSOLUTE, COMPRESSED[0x00025124]) Execution Region ER_RO (Base: 0x00000000, Size: 0x00000908, Max: 0x00008000, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object 0x00000000 0x00000188 Data RO 2881 RESET M2S050T_MSS_CM3_hw_platform.lib(startup_m2sxxx.o) 0x00000188 0x00000008 Code RO 3102 * !!!main c_w.l(__main.o) 0x00000190 0x00000034 Code RO 3741 !!!scatter c_w.l(__scatter.o) 0x000001c4 0x0000005a Code RO 3739 !!dczerorl2 c_w.l(__dczerorl2.o) 0x0000021e 0x00000002 PAD 0x00000220 0x0000001a Code RO 3743 !!handler_copy c_w.l(__scatter_copy.o) 0x0000023a 0x00000002 PAD 0x0000023c 0x0000001c Code RO 3745 !!handler_zi c_w.l(__scatter_zi.o) 0x00000258 0x000002fc Code RO 2611 .text M2S050T_MSS_CM3_hw_platform.lib(system_m2sxxx.o) 0x00000554 0x000000e8 Code RO 2882 .text M2S050T_MSS_CM3_hw_platform.lib(startup_m2sxxx.o) 0x0000063c 0x00000038 Code RO 2951 .text M2S050T_MSS_CM3_hw_platform.lib(low_level_init.o) 0x00000674 0x0000010c Code RO 3420 .text M2S050T_MSS_CM3_hw_platform.lib(retarget.o) 0x00000780 0x0000000a Ven RO 3747 Veneer$$Code anon$$obj.o 0x0000078a 0x0000000a Ven RO 3748 Veneer$$Code anon$$obj.o 0x00000794 0x0000010e Data RO 1544 .constdata sys_config.o 0x000008a2 0x00000014 Data RO 3422 .constdata M2S050T_MSS_CM3_hw_platform.lib(retarget.o) 0x000008b6 0x00000002 PAD 0x000008b8 0x00000050 Data RO 3737 Region$$Table anon$$obj.o Execution Region ARM_LIB_HEAP (Base: 0x0af00000, Size: 0x00080000, Max: 0x00080000, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object 0x0af00000 0x00080000 Zero RW 2 ARM_LIB_HEAP.bss anon$$obj.o Execution Region ER_RW (Base: 0x20000000, Size: 0x00000060, Max: 0x00008000, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object 0x20000000 0x0000001c Data RW 2612 .data M2S050T_MSS_CM3_hw_platform.lib(system_m2sxxx.o) 0x2000001c 0x00000004 Data RW 3423 .data M2S050T_MSS_CM3_hw_platform.lib(retarget.o) 0x20000020 0x00000040 Zero RW 3421 .bss M2S050T_MSS_CM3_hw_platform.lib(retarget.o) Execution Region STACKS (Base: 0x20001000, Size: 0x00003800, Max: 0xffffffff, ABSOLUTE, UNINIT) Base Addr Size Type Attr Idx E Section Name Object 0x20001000 0x00003800 Zero RW 2879 STACK M2S050T_MSS_CM3_hw_platform.lib(startup_m2sxxx.o) Execution Region ER_DDR (Base: 0xa0000000, Size: 0x0cc3fde8, Max: 0x20000000, ABSOLUTE, COMPRESSED[0x000005a8]) 0xa0000000 0x00000000 Code RO 3050 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) . . . . 0xacc3fde8 0x00000000 Zero RW 2880 HEAP M2S050T_MSS_CM3_hw_platform.lib(startup_m2sxxx.o)