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

uLink2 initialization file - map command?

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?

Parents
  • 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)
    
    

Reply
  • 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)
    
    

Children
No data