This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fwd: Re: Memory segments


> This is my memory layout from my ecc file.
>  
> I guess I have misconfigured this in some way and
> that's my problem. Both .bss and .data sections are
> configured to be in the int_sram, but I really get
> confused with the starting address param. The data
> section starts in 0x1000 while the bss section
> starts in ALIGN(0x4). I'm not sure what that value
> means.....
>  
> I'm completely lost.

You are not the only one. I've never seen a memory configuration like
this before. Who ever did the port has done something different than
usual.

Anyway ALIGN(0x4) is a linker directive. You have find out more about
this in the ld documentation.

http://www.delorie.com/gnu/docs/binutils/ld_toc.html

ALIGN(0x4) will mean follow on from the previous section, but align
the start of the section on a 4byte boundary.

I suggest you talk to who ever give you the HAL. Since this is not a
standard HAL for eCos it is hard for me to help you.

        Andrew
 
> > # <
> > # Memory layout
> > #
> > cdl_component CYGHWR_MEMORY_LAYOUT {
> >     # Calculated value:  "mlt_arm_stepp" 
> >     # Flavor: data
> >     # Current_value: mlt_arm_stepp
> > };
> > 
> > # >
> > # Start address of the internal ram, usable by the
> > application
> > # 
> > #
> > cdl_option CYGHWR_HAL_ARM_STEPP_INT_RAM_APPL_ORIGIN
> > {
> >     # Flavor: data
> >     # No user value, uncomment the following line to
> > provide one.
> >     # user_value "ALIGN (0x4)"
> >     # value_source default
> >     # Default value:  (CYG_HAL_STARTUP == "ROM") ?
> > "ALIGN (0x4)" : 0x6900 
> >     #     CYG_HAL_STARTUP == ROM
> >     #   --> "ALIGN (0x4)"
> > };
> > 
> > # Memory segment for .text section
> > # 
> > #
> > cdl_option CYGHWR_HAL_ARM_STEPP_TEXT_MEM {
> >     # Flavor: data
> >     # No user value, uncomment the following line to
> > provide one.
> >     # user_value ext_flash
> >     # value_source default
> >     # Default value:  CYGPKG_REDBOOT  ?
> > (CYG_HAL_STARTUP == "ROM")  ? "ext_flash" :
> > "ext_sram"
> >  : (CYG_HAL_STARTUP == "ROM")  ? "ext_flash" :
> > "ext_sram"  
> >     #     CYGPKG_REDBOOT (unknown) == 0
> >     #     CYG_HAL_STARTUP == ROM
> >     #     CYG_HAL_STARTUP == ROM
> >     #   --> ext_flash
> >     # Legal values:  "int_sram" "ext_flash"
> > "ext_sram"
> >  (CYGHWR_HAL_ARM_STEPP_VARIANT == "S2SDK") ?
> > "ext_slow_sram" : "" 
> >     #     CYGHWR_HAL_ARM_STEPP_VARIANT == STEPP
> > };
> > 
> > # Start address for .text section
> > # 
> > #
> > cdl_option CYGHWR_HAL_ARM_STEPP_TEXT_ORIGIN {
> >     # Flavor: data
> >     # No user value, uncomment the following line to
> > provide one.
> >     # user_value 0x40000000
> >     # value_source default
> >     # Default value:  CYGPKG_REDBOOT  ?
> > (CYG_HAL_STARTUP == "ROM")  ?
> > (CYG_HAL_STARTUP_MEMORYAREA == "0")  ? 0x40000000 :
> > 0x40040000  : 0x41000000  : (CYG_HAL_STARTUP ==
> > "ROM")
> >  ? (CYG_HAL_STARTUP_MEMORYAREA == "0")  ? 0x40000000
> > :
> > 0x40040000  : 0x41000000  
> >     #     CYGPKG_REDBOOT (unknown) == 0
> >     #     CYG_HAL_STARTUP == ROM
> >     #     CYG_HAL_STARTUP_MEMORYAREA == 0
> >     #     CYG_HAL_STARTUP == ROM
> >     #     CYG_HAL_STARTUP_MEMORYAREA == 0
> >     #   --> 0x40000000
> > };
> > 
> > # Memory segment for .data section
> > # 
> > #
> > cdl_option CYGHWR_HAL_ARM_STEPP_DATA_MEM {
> >     # Flavor: data
> >     user_value int_sram
> >     # value_source user
> >     # Default value:  CYGPKG_REDBOOT  ?
> > (CYG_HAL_STARTUP == "ROM")  ? "int_sram" :
> > "ext_sram" 
> > : "ext_sram"  
> >     #     CYGPKG_REDBOOT (unknown) == 0
> >     #     CYG_HAL_STARTUP == ROM
> >     #   --> ext_sram
> >     # Legal values:  "int_sram" "ext_sram" 
> > (CYGHWR_HAL_ARM_STEPP_VARIANT == "S2SDK") ?
> > "ext_slow_sram" : "" 
> >     #     CYGHWR_HAL_ARM_STEPP_VARIANT == STEPP
> > };
> > 
> > # Start address for .data section
> > # 
> > #
> > cdl_option CYGHWR_HAL_ARM_STEPP_DATA_ORIGIN {
> >     # Flavor: data
> >     user_value 0x1000
> >     # value_source user
> >     # Default value:  CYGPKG_REDBOOT  ?
> > (CYG_HAL_STARTUP == "ROM")  ? 0x1000 : "ALIGN (0x4)"
> > 
> > : (CYG_HAL_STARTUP == "ROM")  ? 0x41000000 : "ALIGN
> > (0x4)"  
> >     #     CYGPKG_REDBOOT (unknown) == 0
> >     #     CYG_HAL_STARTUP == ROM
> >     #     CYG_HAL_STARTUP == ROM
> >     #   --> 0x41000000
> > };
> > 
> > # Memory segment for .bss section
> > # 
> > #
> > cdl_option CYGHWR_HAL_ARM_STEPP_BSS_MEM {
> >     # Flavor: data
> >     user_value int_sram
> >     # value_source user
> >     # Default value:  CYGPKG_REDBOOT  ?
> > (CYG_HAL_STARTUP == "ROM")  ? "int_sram" :
> > "ext_sram" 
> > : "ext_sram"  
> >     #     CYGPKG_REDBOOT (unknown) == 0
> >     #     CYG_HAL_STARTUP == ROM
> >     #   --> ext_sram
> >     # Legal values:  "int_sram" "ext_sram" 
> > (CYGHWR_HAL_ARM_STEPP_VARIANT == "S2SDK") ?
> > "ext_slow_sram" : "" 
> >     #     CYGHWR_HAL_ARM_STEPP_VARIANT == STEPP
> > };
> > 
> > # Start address for .bss section
> > # 
> > #
> > cdl_option CYGHWR_HAL_ARM_STEPP_BSS_ORIGIN {
> >     # Flavor: data
> >     user_value "ALIGN (0x4)"
> >     # value_source user
> >     # Default value: "ALIGN (0x4)"
> > };
> > 
> > # Memory layout linker script fragment
> > #
> > cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
> >     # Calculated value: 
> > "<pkgconf/mlt_arm_stepp.ldi>"
> > 
> >     # Flavor: data
> >     # Current_value: <pkgconf/mlt_arm_stepp.ldi>
> > };
> > 
> > # Memory layout header file
> > #
> > cdl_option CYGHWR_MEMORY_LAYOUT_H {
> >     # Calculated value:  "<pkgconf/mlt_arm_stepp.h>"
> > 
> >     # Flavor: data
> >     # Current_value: <pkgconf/mlt_arm_stepp.h>
> > };
 

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]