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]

RedBoot and eCos sharing Ethernet?



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]