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: Redboot :: __startup_stack


Hi

As i said earlier i was able to run redboot (RAM) with gdb stubs
disabled.

When i enable the gdb stubs, the objdump of redboot gives me...


------------------------------------------------------------------------
-----------------
#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
        bl      initialize_stub
203000f0:	eb0008d3 	bl	20302444 <initialize_stub>

        // Now that stub is initialized, change vector. It is possible
        // to single-step through most of the init code, except the
below.
        // Put a breakpoint at the call to cyg_hal_invoke_constructors
to
        // pass over this bit (s-s depends on internal state in the
stub).
#endif

#if defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) || \
    defined(CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS)
        mov     r0,#0           // move vectors
203000f4:	e3a00000 	mov	r0, #0	; 0x0
        ldr     r1,=__exception_handlers
203000f8:	e59f12c8 	ldr	r1, [pc, #712]	; 203003c8
<_eCos_id+0x14>
        ldr     r2,[r1,#0x04]   // undefined instruction


....
------------------------------------------------------------------------
------------------

I find that redboot never returns (to 0x203000f4) after initialize_stub
is called.

The '+' sign which is the last function (putdebugchar) called in
initialize_stub is coming on 
serial port, but tracing after this seems to lead to
software_interrupt->exception_handler.
and the $T050f.. (which points to startup_stack)


I would like to know what are the things that happen after
initalize_stub is called.
Do i have to change anything in the implementation for my board.  Please
throw some light on
the same

Thanking u
harsha





































	

-----Original Message-----
From: Harsha D 
Sent: 01 July 2005 18:11
To: 'Andrew Lunn'
Cc: ecos-discuss@sources.redhat.com
Subject: RE: [ECOS] Redboot :: __startup_stack



Hi 

I was able to get the redboot working by disabling the gdb stubs. (which
effectively makes initialize_stub not be called).
Now redboot prompt appears.. although some junk characters are taken as
input and the program seems to be in infinite loop.

But i am unable to understand what is that in the gdb stubs which is
making the redboot to crash.  If you can throw some light on some of the
possibilities it would be great !!

Thanking you
harsha



-----Original Message-----
From: Andrew Lunn [mailto:andrew@lunn.ch]
Sent: 01 July 2005 13:16
To: Harsha D
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] Redboot :: __startup_stack


On Fri, Jul 01, 2005 at 10:09:49AM +0530, Harsha D wrote:
> Hi
>  
>  ===============================================================
>  Porting 		:	Redboot	
>  Platform	:	ARM922T based board
>  source base	:	based on Excalibur package
>  
>  ===============================================================
>  Memory layout is 
>  --------------------------
>  SRAM(32KB)	 0x00000000 - 0x00008000	
>  RAM(32MB)	 0x20000000 - 0x02000000
>  
>  ===============================================================
>  My ram ldi file
>  ---------------------
>  MEMORY
>  {
>      ram : ORIGIN = 0x20000000, LENGTH = 0x02000000
>  }
>  
>  SECTIONS
>  {
>      SECTIONS_BEGIN
>      SECTION_fixed_vectors (ram, 0x20000020, LMA_EQ_VMA)
>      SECTION_rom_vectors (ram, 0x20300000, LMA_EQ_VMA)
>      SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
>      SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
>      SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
>      SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
>      SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
>      SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
>      SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
>      SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
>      CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
>      SECTIONS_END
>  }

....
  
>  [ I am loading redboot at 0x20300000]
> Googling told me that 
>  fixed_vectors should be at 0x20(???) which is not the case for me.  
>  Will it cause any problems ?  If yes then how should i have my memory
layout.

      SECTION_fixed_vectors (ram, 0x20000020, LMA_EQ_VMA)

Add an sram memory region and change this to 0x20 and the fixed
vectors will move.

        Andrew

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