From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17838 invoked by alias); 5 Jul 2005 04:20:44 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 17708 invoked by uid 22791); 5 Jul 2005 04:20:32 -0000 Received: from 202.54.90.7.ill-bgl.static.vsnl.net.in (HELO asuka.sanyo.co.in) (202.54.90.7) by sourceware.org (qpsmtpd/0.30-dev) with SMTP; Tue, 05 Jul 2005 04:20:32 +0000 Received: from blrexsr1.slti.sanyo.co.in ([10.230.49.142]) by asuka.sanyo.co.in (SMSSMTP 4.0.0.59) with SMTP id M2005070509562510571 ; Tue, 05 Jul 2005 09:56:25 +0600 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Tue, 05 Jul 2005 04:20:00 -0000 Message-ID: From: "Harsha D" To: "Andrew Lunn" Cc: Subject: RE: [ECOS] Redboot :: __startup_stack X-SW-Source: 2005-07/txt/msg00040.txt.bz2 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 // 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,=3D__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=20 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 =09 -----Original Message----- From: Harsha D=20 Sent: 01 July 2005 18:11 To: 'Andrew Lunn' Cc: ecos-discuss@sources.redhat.com Subject: RE: [ECOS] Redboot :: __startup_stack Hi=20 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 >=20=20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Porting : Redboot=09 > Platform : ARM922T based board > source base : based on Excalibur package >=20=20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Memory layout is=20 > -------------------------- > SRAM(32KB) 0x00000000 - 0x00008000=09 > RAM(32MB) 0x20000000 - 0x02000000 >=20=20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > My ram ldi file > --------------------- > MEMORY > { > ram : ORIGIN =3D 0x20000000, LENGTH =3D 0x02000000 > } >=20=20 > 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) =3D ALIGN (0x8); > SECTIONS_END > } .... =20=20 > [ I am loading redboot at 0x20300000] > Googling told me that=20 > fixed_vectors should be at 0x20(???) which is not the case for me.=20=20 > 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