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: No 'Hello eCos World' message!!!


On Wed, Sep 22, 2004 at 10:12:21AM +0530, Vijay Padiyar wrote:
> Hello
> 
> 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'.

Please don't call this a kernel, its not. Its an application. Kernel
means something else in eCos.

Please read the following which described what the eCos kernel is:
http://ecos.sourceware.org/docs-latest/ref/kernel-overview.html

> 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
> lie?

For the device to ping you have to initialise the network
interfaces. Read the network section of the manual.

Running the idle thread is what it is supposed to do. It has nothing
else to do, so its idle!
 
> 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?

You have two ethernet interfaces, so no, its not initialized twice,
its initializing each one once. If you read what it actally says, this
is very clear: Init device 'fcc_eth0' & Init device 'fcc_eth1', 
FCC eth0: 100Mb/Full Duplex & FCC eth1: 100Mb/Full Duplex.

        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]