[ECOS] Redboot hanging after "go" command

Gary Thomas gary@mlbassoc.com
Mon Oct 23 23:37:00 GMT 2006


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



More information about the Ecos-discuss mailing list