[ECOS] No 'Hello eCos World' message!!!

Vijay Padiyar vijay_padiyar@hotmail.com
Wed Sep 22 07:53:00 GMT 2004


We are proceeding as follows: we built the Redboot image for our board
(modified from Rattler) by using the 'Redboot' template (with ROMRAM
startup) in eCos Config Tool. Then we built a kernel image using the
'hello.c' program (from the 'examples' folder under eCos) and 'target.ld'
with 'powerpc-eabi-gcc'. We converted the 'a.out' file into a 'hello.srec'
file using 'powerpc-eabi-objcopy'.

We started  by flashing the Redboot image onto our board and got the Redboot
prompt on our serial port. Using this, we downloaded the 'hello.srec' kernel
image onto the board using 'load' command (TFTP). The following is a screen
shot of the Redboot prompt:


+PHY: Intel LXT971A
Negotiating PHY parameters...
FCC eth0: /***NO LINK***
PHY: Intel LXT971A
Negotiating PHY parameters...
FCC eth1: 100Mb/Full Duplex
.. waiting for BOOTP information
Ethernet eth1: MAC address 0c:00:00:00:3c:20
Default server: XXX.XXX.XXX.XXX

RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version UNKNOWN - built 12:41:47, Sep 17 2004

Platform: Rattler (PowerPC MPC8250)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x08000000, [0x0003aa40-0x07fbd000] available
FLASH: 0xfe000000 - 0x00000000, 128 blocks of 0x00040000 bytes each.
RedBoot> load -v -h -p 69 hello.srec    <---- kernel image
Using default protocol (TFTP)
Entry point: 0x00040000, address range: 0x00040000-0x0008c7a0


When we ran the kernel image, we found it reinitialized the FCCs and gave a
display as follows:


RedBoot> go
[cyg_net_init] Init: mbinit(0x00000000)
[cyg_net_init] Init: cyg_net_init_devs(0x00000000)
Init device 'fcc_eth0'
PHY: Intel LXT971A
Negotiating PHY parameters...
FCC eth0: 100Mb/Full Duplex
Init device 'fcc_eth1'
PHY: Intel LXT971A
Negotiating PHY parameters...
FCC eth1: 100Mb/Full Duplex
[cyg_net_init] Init: loopattach(0x00000000)
[cyg_net_init] Init: ifinit(0x00000000)
[cyg_net_init] Init: domaininit(0x00000000)
[cyg_net_init] Init: cyg_net_add_domain(0x0008bedc)
New domain internet at 0x00000000
[cyg_net_init] Init: cyg_net_add_domain(0x0008b9c4)
New domain route at 0x00000000
[cyg_net_init] Init: call_route_init(0x00000000)
[cyg_net_init] Done


After this nothing came on the screen. The 'Hello eCos World' message never
appeared. When we halted the board through the emulator and single-stepped
through the code, we found it was running infinitely in the idle thread code
(idle_thread_main() in thread.cxx). The board wasn't even responding to
pings from other hosts (which it was doing earlier). Where could the problem

Another doubt is: we see that the FCC's and PHY are being initialized twice.
Should this be the correct program flow? Or should serial and Ethernet
initialization be done only once?


Chandrashekhar Padiyar

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