This is the mail archive of the ecos-discuss@sourceware.org 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 hanging after "go" command


Hi,
I have been using the startup type as RAM and  i h've loaded my redbot
image in external Flash [i h've onchip RAM stating @ 0x40000000 and
external RAM starting @ 0x81000000]

here is my RAM linker script (the path is
C:\cygwin\tmp\app1app1_install\include\pkgconf\mlt_arm_lpc2xxx_olpce2294_ram.ldi).
*********************************
#include <cyg/infra/cyg_type.inc>
MEMORY
{
   ram0 : ORIGIN = 0x40000000, LENGTH = 0x4000
   ram  : ORIGIN = 0x81000000, LENGTH = 0x100000
}

SECTIONS
{
   SECTIONS_BEGIN
   SECTION_fixed_vectors (ram0, 0x40000400, LMA_EQ_VMA)
   SECTION_rom_vectors (ram, 0x81010000, 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
}

Thanks for your time.

On 10/24/06, Gary Thomas <gary@mlbassoc.com> wrote:
Sridhar k wrote:
> Thanks for the reply..
> am getting the follwoing if i dont use the option "-b XXX"
>
> RedBoot> load -m ymodem
> CCBB*** Abort! Attempt to load S-record to address: 0x00000000, which is
> not val
> id
> xyzModem - CRC mode, 2(SOH)/1(STX)/0(CAN) packets, 4 retries
> RedBoot>
>
> By this , I think am certainly doing some thing wrong.please help me out

Build your program for RAM startup - this should get it linked to an
appropriate address.

>
> On 10/23/06, Gary Thomas <gary@mlbassoc.com> wrote:
>> Sridhar k wrote:
>> > Hi everyone,
>> >
>> > Am trying to load a simple hello world program after loading the
>> > Redboot image into my LPCE2214 target(host is windows/cygwin).
>> > The redboot image seems to be working fine.am able to ping the board
>> > from the host and also i can ping the host from the target board
>> > (from redboot prompt in terminal app). And here are the some redboot
>> > command outputs for ref..
>> >
>> > *******************************
>> > Non-certified release, version UNKNOWN - built 03:05:23, Oct  19 2006
>> >
>> > Platform: Olimex LPC-E2294 development board (ARM7TDMI)
>> > Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.RedBoot(tm)
>> > bootstrap and debug environment [ROM]
>> > Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limitedrelease,
>> > version UNKNOWN - built 03:05:23, Oct  19 2006
>> >
>> > RAM: 0x81000000-0x81100000, [0x8100cce0-0x810ed000] available
>> >
>> > Platform: Olimex LPC-E2294 development board (ARM7TDMI)
>> > FLASH: 0x80000000 - 0x80100000, 16 blocks of 0x00010000 bytes each.
>> > 2000, 2001,
>> >
>> >
>> > RedBoot> fis list
>> > Name              FLASH addr  Mem addr    Length      Entry point
>> > RedBoot           0x80000000  0x80000000  0x00020000  0x00000000
>> > FIS directory     0x800F0000  0x800F0000  0x0000F000  0x00000000
>> > RedBoot config    0x800FF000  0x800FF000  0x00001000  0x00000000
>> >
>> > RedBoot>
>> >
>> > RedBoot> channel
>> > Current console channel id: 0
>> >
>> >
>> > *******************************
>> > /* this is a simple hello world program */
>> > #include <stdio.h>
>> > #include <cyg/kernel/kapi.h>
>> > #include <cyg/infra/diag.h>
>> > #include <cyg/io/io.h>
>> >
>> > int main(void)
>> > {
>> >  diag_printf("Hello, eCos world!\n");
>> >  return 0;
>> > }
>> > *******************************
>> >
>> > I h've compiled this hello.c using the Makefile from exapmles
>> > directory and made the "hello.srec" from "hello.o" using the
>> > arm-elf-objcopy.
>> > I have loaded this hello.sre file using the folowing command from
>> > windows hyperterminal redboot promt.
>> >
>> > *******************************
>> > RedBoot> load -m ymodem -b 0x81010400
>> > CCCAddress offset = 0x81010400
>> > Entry point: 0x81010400, address range: 0x81010400-0x81010420
>> > xyzModem - CRC mode, 2(SOH)/1(STX)/0(CAN) packets, 5 retries
>> >
>> > RedBoot>
>> > RedBoot> go
>> > *******************************
>> > $ arm-elf-size hello.srec
>> >   text    data     bss     dec     hex filename
>> >      0      52       0      52      34 hello.srec
>> >
>> > after loading this when i give "go" command its hanging..its coming
>> > out of this hang state only if i reset the target.
>> > Please correct me if am doing any thing wrong.Please suggest.
>> >
>>
>> Why are you forcing the address?  eCos programs are not position
>> independent and the code needs to load at the address it was linked
>> to run at.  Try the 'load' command without the '-b XXX' option and
>> see what happens.

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


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