On Wed, 2005-03-09 at 13:54 -0800, Badri Sampathkumar wrote:
Hi:
I have integrated an ethernet driver for my custom board. I run the Free
bsd
tcpip
stack on it. I am able to succesfuly run the test programs and when the
test
program (ping_lo_test) is running, I am able to ping the board from
another
laptop. The board also initializes its IP thru DHCP when started up.
The issue is the n/w interface and the ethernet driver are started only
when
an appln program like ping_lo_test is run (this calls
init_all_network_interfaces). I want the network stack & the ethernet
driver
to be up & running once any image that is linked with the library is
loaded
on the board, like a simple hello program that does not use the
networking
stack.
Once the BSP along with the drivers is loaded, I would like the board to
respond to ping. But this does'nt happen. I realized that the
eth_drv_start() is never called & so the h/w driver is not started too.
So I
included a call to 'init_all_network_interfaces()' in the cyg_net_init()
function in the free-bsd code.
This starts up the ethernet driver but still I am not getting interrupts
when an Appln like Hello program that is linked with this library is
loaded.
Is there any threading issues ..? I run the background network proc
thread @
prio 7 and fast net proc thread @ prio 6 - the default values when
free-bsd
is included.
How do you start your "hello world" thread?
Note: eCos does not normally start up the networking unless some
thread does so explicitly. That's just a design decision (which has
worked just fine all these years...)
--
------------------------------------------------------------
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