TCP probems after changing clock speed on AT91RM9200
Hi all,
We've been developing an application on our own board which is based on the AT91RM9200. The eCos config is closely based on that for the AT91RM9200-EK and this has been going well for quite some time.
We now tried to reduce the processor clock speed for power consumption reasons from180MHz to 90MHz and have run into a problem. The application appears to runs exactly as before (slower of course) and "normally" everything works fine. However, we soon noticed a TCP related problem. After a lot of tracing it looks as if data sent on a TCP socket sometimes doesn't reach the remote end. Calls to fputs are made on the socket, and it returns an OK response, and then fflush is called on the socket so from the application it appears as if the data is sent successfully. At the remote end I just don't get the data.
Now, this application has been running for months in the field (at 180MHz) without exhibiting any problems of this nature and now after halving the clock speed the fault occurs very frequently.
I suspect the problem may be that I haven't configured everything in eCos correctly after changing the clock and this is causing some problems in the TCP/IP stack (I'm using FreeBSD network stackk by the way).
To change the clock I simply changed CYGARC_HAL_ARM_ARM9_AT91RM9200_CLOCK to 90000000 (which forced CYGARC_HAL_ARM_ARM9_AT91RM9200_CLOCK is set to 30000000). As I said, the application "basically" runs OK except for my networking problem.
If anybody has any idea what could be causing the problem, or any suggestions about what I've done wrong in terms of changing the clock speed I be very grateful to hear them,
Thanks in advance,
Tim Hatton