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]

RE: RedBoot, Ethernet, MBX860


I just fixed a number of little things that, added up, kept the MBX from working
well when using ethernet and RedBoot.  See the recent email (send today) for
the patches.

With these in place, everything _except_ ^C over an ethernet debug channel
seems to work for me.  Please let us know if this is not your experience.

On 03-May-2001 Anthony Massa wrote:
> 
> I am using the MBX860 platform with the net package.  I have RedBoot running
> on my target, and seems to be operating properly.  I then connect
> GDB/Insight via the Ethernet port and can download the code properly.  I am
> finding that the code always dies in the quicc_eth_init routine in
> if_quicc.c.  I want to eventually be able to run the GoAhead webserver
> running on my board, which I have compiled in and ready to go - I hope.  Has
> anyone been able to get the MBX860 platform up and running using the net
> package and the Ethernet port for debugging.
> 
> Here are some of the things I have tried to get the quicc_eth_init routine
> running...
> 
> - Moving the creation of the interrupt in quicc_eth_init to the end of the
> routine.  This failed with the same outcome as before.
> 
> - I removed a line (shown below) in the quicc_eth_init because of the
> comment of shutting down the Ethernet.  I thought this would have been the
> problem since I was debugging using the Ethernet port, and obviously,
> shutting it down would be very bad.  This failed with the same outcome as
> before, too.
> 
>     // Shut down ethernet, in case it is already running
>     scc->scc_gsmr_l &= ~(QUICC_SCC_GSML_ENR | QUICC_SCC_GSML_ENT);
> 
> 
> - I disabled interrupts at the beginning of the quicc_eth_init routine using
> HAL_DISABLE_INTERRUPTS and re-enabled them at the end using
> HAL_RESTORE_INTERRUPTS.  This failed and hung the board the same way as
> before.
> 
> - I also tried using a static IP address.  I didn't think this would work
> since the failure occurs way before the IP address is used.  This failed as
> well.
> 
> 
> It seemed as though the failure was occurring when the code tried to access
> the volatile struct ethernet_pram *enet_pram variable in quicc_eth_init.  It
> was hard to be absolutely certain because there were some failures that
> occurred at different points in the routine, but it seemed that the code
> that used this variable caused the most immediate failures.  I don't know if
> there is some sort of contention problem with accessing the Ethernet
> registers while RedBoot/GDB is running or what.
> 
> I did try to run while stepping through the quicc_eth_init routine and also
> just running without any breakpoints, however, the hung board result was the
> same in both running cases.


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