SAM7X256 and IwIP connot connect to WinPC

I tried to build FreeRTOS v4.1.0 and IwIP 1.1.0 on an ARM7X256 using Crossworks 1.6. Everything went fine till I downloaded the code on the ARM. The WinPC I used as a client for the demo refuses to connect properly. It just kept switching from connected to unplunged. I think that there’s something wrong with the EMAC routines since I’ve placed some initial messagges at the begging of the FreeRTOS initialisations and they only appear once(while the Ethernet keeps switching). Has anyone any suggestions on this?

SAM7X256 and IwIP connot connect to WinPC

With the cable unplugged the ethernet on the sam7 will attempt to connect every few seconds until it successfully connects.  You will see the link LED go on an off every few seconds during this period. Once the cable is plugged in the next time it attempts to connect should be successful and the LED will stay on. If it is repeatedly connecting then disconnecting it sounds like the software is running, but not detecting the connection so disconnecting again. Is the rest of the software running OK?  Leds flashing, etc? Have you got the MII/RMII setup correct for your board. Are you using the correct cable type?

SAM7X256 and IwIP connot connect to WinPC

The leds are flashing allright, meaning that the physical layer is trying to connect to the other end(I suppose…). The cable I’m using is a crossover but I’m not sure about the MII/RMII. What do you mean by saying "correctly"? I thought that every MII chip whould be O.K with the SAM7X’s MII. Isn’t that right? Anyway I’m using Olimex’s SAM7X board with a KS8721BL. Do you think this might be the problem? The thing is that there’re no other leds on it so I suppose I have to play a bit with the USART just to be sure that the other tasks are running.

SAM7X256 and IwIP connot connect to WinPC

In the EMAC code there is a constant something like #define USE_RMII which must be set to 1 for RMII mode and 0 for MII mode.  I don’t think RMII is reliable on sam7x.

SAM7X256 and IwIP connot connect to WinPC

I think the SAM7X’s MII interface as it’s implemented in FreeRTOS, is based on the existance of DP83840 on the board. So you have (probably) to adjust the way ESAC is communicating over MII with your PHY ethernet chip.