This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RedBoot and eCos sharing Ethernet?
- To: ecos-discuss at sources dot redhat dot com
- Subject: [ECOS] RedBoot and eCos sharing Ethernet?
- From: Grant Edwards <grante at visi dot com>
- Date: Thu, 8 Mar 2001 09:50:12 -0600
I'm still thinking about trying network debugging via RedBoot's
gdb stubs. There may be some situations where the dual IP
scheme is workable for me. However, I can't figure out how it
can work even with two IP addresses.
I don't understand how the two Ethernet drivers can share a
single Ethernet board:
1) RedBoot's Etherenet driver initializes the Ethernet
controller, setting up receive and transmit queues in
memory.
2) Using RedBoot's network-gdb stubs, we download an eCos app
into RAM and start it.
3) The eCos Ethernet driver re-initializes the Ethernet
controller, setting up it's own receive and transmit queues
in memory and overwriting the controller configuration that
was set up by RedBoot.
4) When we hit a breakpoint (or ethdrv.c notices a "control-C"
packet) control passes back to RedBoot's gdb stubs. But
the Ethernet controller has been re-configured by eCos, so
RedBoot will have to re-initialize the Ethernet controller
before it can send or receive packets.
5) When we want to resume execution of the eCos app, RedBoot
would have to restore the Ethernet controller context so
that the eCos driver can send/receive packets.
What I don't understand is how the Ethenet controller context
gets saved and restored in 4) and 5). There aren't any hooks
in my Ethernet driver to save/restore context when switching
ownership of the controller between the two drivers. Did I
miss something when I wrote my Ethernet driver?
--
Grant Edwards
grante@visi.com