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: ROMRAM


hi gary,
    thanks for such a quick response.

the option CYGSEM_HAL_POWERPC_RESET_USES_JUMP is used
in two places in my code 

1)in arch/v2_0/cdl/hal_powerpc.cdl as 

cdl_option CYGSEM_HAL_POWERPC_RESET_USES_JUMP {
        display       "RESET vector jumps to startup"
        default_value 0
        description   "
            Some platforms may need this for ROMRAM
startup."
    }
and 
2)in vector.S file as

        .macro  reset_vector name
        .p2align 8
        .globl  __exception_\name
__exception_\name:
#ifdef CYGSEM_HAL_POWERPC_RESET_USES_JUMP
        bl      _start
#else
        lwi     r3,_start
        mtlr    r3
        blr
#endif

so should i set the option as 1 for ROMRAM,or ??
...
and there is one one question i wanted to ask u
was what is the major difference between ROM and
ROMRAM based STARTup as ROM based STARTUP also copies
data from ROM to RAM.

plz do send in ur valuable suggestions.

thanks a lot,

regards,
jasmine
reagrds,
jasmine




 



--- Gary Thomas <gary@mlbassoc.com> wrote:
> On Thu, 2004-07-22 at 10:03, jasmine kohli wrote:
> > hi all,
> > i am trying to bring redboot to my board which has
> > MPC852T as the processor.
> >  
> > i have 32 MB Flash with 64 MB SDRAM.
> > i have Flash mapped 0xFA000000 and SDRAM mapped at
> > 0x00000000
> >  
> > i have the following content in my
> > mlt_powerpc_myboard_romram.h
> > #ifndef __ASSEMBLER__
> > #include <cyg/infra/cyg_type.h>
> > #include <stddef.h>
> > #endif
> > #define CYGMEM_REGION_ram (0)
> > #define CYGMEM_REGION_ram_SIZE (0x4000000)
> > #define CYGMEM_REGION_ram_ATTR
> (CYGMEM_REGION_ATTR_R |
> > CYGMEM_REGION_ATTR_W)
> > #ifndef __ASSEMBLER__
> > extern char CYG_LABEL_NAME (__heap1) [];
> > #endif
> > #define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME
> > (__heap1))
> > CYG_LABEL_NAME (__heap1))
> > #define CYGMEM_SECTION_heap1_SIZE (0x4000000 -
> > (size_t) CYG_LABEL_NAME (__heap1))
> >  
> > 
> > and i have the following in
> > mlt_powerpc_myboard_romram.ldi file
> > #include <cyg/infra/cyg_type.inc>
> > MEMORY
> > {
> >     ram : ORIGIN = 0, LENGTH = 0x4000000
> > }
> > SECTIONS
> > {
> >     SECTIONS_BEGIN
> >     SECTION_vectors (ram, 0, LMA_EQ_VMA)
> >     SECTION_text (ram, 0x3400, LMA_EQ_VMA)
> >     SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
> >     SECTION_rodata1 (ram, ALIGN (0x8), LMA_EQ_VMA)
> >     SECTION_rodata (ram, ALIGN (0x8), LMA_EQ_VMA)
> >     SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
> >     SECTION_gcc_except_table (ram, ALIGN (0x1),
> > LMA_EQ_VMA)
> >     SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
> >     SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA)
> >     SECTION_bss (ram, ALIGN (0x10), LMA_EQ_VMA)
> >     CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
> >     SECTIONS_END
> > }
> > 
> >  
> > and the following in
> mlt_powerpc_myboard_romram.mlt
> > file
> > version 0
> > region ram 0 4000000 0 !
> > section vectors 0 1 0 1 1 0 1 0 0 0 !
> > section text 0 1 0 1 1 1 1 1 3400 3400 fini fini !
> > section fini 0 4 0 1 0 1 0 1 rodata1 rodata1 !
> > section rodata1 0 8 0 1 0 1 0 1 rodata rodata !
> > section rodata 0 8 0 1 0 1 0 1 fixup fixup !
> > section fixup 0 4 0 1 0 1 0 1 gcc_except_table
> > gcc_except_table !
> > section gcc_except_table 0 1 0 1 0 1 0 1 data data
> !
> > section data 0 8 0 1 0 1 0 1 sbss sbss !
> > section sbss 0 4 0 1 0 1 0 1 bss bss !
> > section bss 0 10 0 1 0 1 0 1 heap1 heap1 !
> > section heap1 0 8 0 0 0 0 0 0 !
> > 
> > now to the problem--- :( when i start redboot and
> step
> > trace through the code, it starts at
> > 0xfa000100 and then straight jumps to 0x00003400
> and
> > hangs.
> > does anyone have a clue on why this happens.
> 
> Because you told it to :-)  
> 
> Check out your use of
> CYGSEM_HAL_POWERPC_RESET_USES_JUMP
> >  
> > another question that i wanted to ask was do we
> have
> > to edit only the mlt_.h and mlt_.ldi file or do we
> > need to edit the .mlt file as well ,because its
> > difficult to editr the .mlt file on a linux
> system.
> 
> Why?  There is no need to keep Windows line endings
> in this file,
> so there is no problem editing it.
> 
> >  
> > and what are the major differences between all
> types
> > of startup -ROM,RAM,ROMRAM
> > 
> > a thank u to all ....
> > regards,
> > jasmine
> > 
> >  
> > 
> > 
> > 		
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Mail - You care about security. So do we.
> > http://promotions.yahoo.com/new_mail
> -- 
> Gary Thomas <gary@mlbassoc.com>
> MLB Associates
> 
> 



	
		
__________________________________
Do you Yahoo!?
Vote for the stars of Yahoo!'s next ad campaign!
http://advision.webevents.yahoo.com/yahoo/votelifeengine/

-- 
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]