FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [February 2009 Threads] Rowley LPC2368 on MCB2360 demo problemPosted by DeeAitch on February 24, 2009 Dear FreeRTOS users
I got the demo, mentioned in the subject, to work but I experience a strange problem....
When I have started the debugging process as described on the demo web page, it should be possible to enter the web server page to view the contents. But I cannot get the etnernet connection to work. What happens is that the LINK LED on the development board blinks now and then and the PC shows "100Mbit connection established" for a second. Then the connection is lost again. This repeats over and over again.
Now. If I halt the debugger for a few seconds and then continue the dugging, the LINK LED stays litten and I can connect to the web server via IE.
So, it is only possible to establish ethernet connection if I first start the debugging, then pause it, then continue it again.
After a closer look, I see that the problem starts when the vTaskStartScheduler() is called. If I pause the debugger for a short while, then the connection works.
What is the reason, and possible solution, for this problem?
/Dee
RE: Rowley LPC2368 on MCB2360 demo problemPosted by Dave on February 24, 2009 The hardware you are using is not quite the same as used by the standard demo. Is the PHY used on the MCB2360 the same as the one used on the MCB2368?
RE: Rowley LPC2368 on MCB2360 demo problemPosted by Dave on February 24, 2009 Also the code contains some delays used to wait for the ethernet link to be established. Maybe the delays need to be longer on your hardware or network. Search for vTaskDelay in the ethernet source code and increase the times a bit.
RE: Rowley LPC2368 on MCB2360 demo problemPosted by Grigore-Mihai Dobra on February 24, 2009 Don't know anything about your board, but the "This repeats over and over again" phrase sounds like a reset from some reason. Is your debugger stopping some timers/watchdogs/etc?
RE: Rowley LPC2368 on MCB2360 demo problemPosted by DeeAitch on February 24, 2009 Hi davedoors.
Your idéa is correct! I had a look in emac.c and notice the hardware init function. Inside I changed the delay time in the following part:
/* Wait for hardware reset to end. */ for (tout = 0; tout < 100; tout++) { vTaskDelay( 1000 ); regv = read_PHY (PHY_REG_BMCR); if (!(regv & 0x8000)) { /* Reset complete */ break; } }
I changed vTaskDelay( 1 ); to vTaskDelay( 1000 );
Now it works!
Thanks a bunch.
/Dee
RE: Rowley LPC2368 on MCB2360 demo problemPosted by DeeAitch on February 24, 2009 Hello again....
I would like to add that this part is perhaps more interesting
/* Check the link status. */ if( xReturn == pdPASS ) { xReturn = pdFAIL; for (tout = 0; tout < 10; tout++) { vTaskDelay( 1000 ); regv = read_PHY (PHY_REG_STS); if (regv & 0x0001) { /* Link is on. */ xReturn = pdPASS; break; } } }
I changed vTaskDelay( 100 ); to vTaskDelay( 1000 );
This solution works also. =)
/Dee
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|