Webserver NXP LPC1768 Cortex M3 Red Suite

Hello, i try to make the webserver run. I use LPCxpresso with a RedProbe+ and the Keil Evaluation Board.
I can build without errors and i changed the IP – PC 169.254.78.231, Board 169.254.78.233 Netmask 255.255.0.0
I run another Webserver Demo without FreeRTOS with the Jumpersettings on the Board.
This Demo told me: “A bit-banging on the MDIO and MDC are included in the driver. Setting MDC_MDIO_WORKAROUND to 1 will enable the bit-banging in both MDC and MDIO.” I think that is the mistake but where can i enable bit-banging in MDC and MDIO in FreeRTOS or the Demo?

Webserver NXP LPC1768 Cortex M3 Red Suite

I forgott to say that i use a LPC1758 instead of the 1768. But i think that should not be a problem, or am i wrong?

Webserver NXP LPC1768 Cortex M3 Red Suite

The first thing to look at would be whether the PHY being used by the FreeRTOS demo is the same as the one on the Keil board.  All the hardware specifics are in their own files – so there should be nothing in FreeRTOS itself, or lwIP outside of its thin hardware port that would make any difference. Regarding the change to LPC1758 – as long as that part has a MAC and adequate RAM, it should be a matter of simply changing the linker script to be correct for that part.  If it has less RAM than the LPC1768 then you may need to make further changes to fit the Ethernet buffers in. Regards.

Webserver NXP LPC1768 Cortex M3 Red Suite

I think i found some differences in the PHY and right now i’m trying to fix this problem. My new question is: It is possible just to make the webserver run and ignore the LCD and USB? in main i did this: char cIPAddress; // Enough space for “xxx.xxx.xxx.xxx”. // Configure the hardware for use by this demo.
prvSetupHardware(); // Start the standard demo tasks.  These are just here to exercise the
//kernel port and provide examples of how the FreeRTOS API can be used.
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
    vCreateBlockTimeTasks();
    vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
    vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
    vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY );
    vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );
    vStartQueuePeekTasks();
    vStartRecursiveMutexTasks();
vStartLEDFlashTasks( mainFLASH_TASK_PRIORITY );     // Create the USB task.
    // xTaskCreate( vUSBTask, ( signed char * ) “USB”, configMINIMAL_STACK_SIZE, ( void * ) NULL, tskIDLE_PRIORITY, NULL ); // Display the IP address, then create the uIP task.  The WEB server runs
//in this task.
// LCDdriver_initialisation();
// LCD_PrintString( 5, 10, “FreeRTOS.org”, 14, COLOR_GREEN);
sprintf( cIPAddress, “%d.%d.%d.%d”, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
// LCD_PrintString( 5, 30, cIPAddress, 14, COLOR_RED);
    xTaskCreate( vuIP_Task, ( signed char * ) “uIP”, mainBASIC_WEB_STACK_SIZE, ( void * ) NULL, mainUIP_TASK_PRIORITY, NULL );     // Start the scheduler.
vTaskStartScheduler();     // Will only get here if there was insufficient memory to create the idle
    //task.  The idle task is created within vTaskStartScheduler().
for( ;; ); Can there be any problem or does the webserver normaly work with a main liek this. Thanks and regards.

Webserver NXP LPC1768 Cortex M3 Red Suite

I can’t recall the exact details of that demo as it was done some time ago – but there is one demo (maybe a different one) where commenting out the USB task also requires that the idle hook function is removed because the idle task attempts to send to a queue that is no longer being created. Regards.

Webserver NXP LPC1768 Cortex M3 Red Suite

I am debugging it right now and included the usbTask again, no matter if i need it or not.
BUT i saw something strange and think that there’s something wrong with the tasks…..
While i say “resume debug” and the programm is running the ethernet port is not there! but when i then pause, the ethernet interface comes up (The LED jack is on!) What pulls the Interface down, has anyone any clue? Thanks and regards.

Webserver NXP LPC1768 Cortex M3 Red Suite

Maybe strange, you would have to look at the schematic for the hardware to see if there could be a hardware reason for it.  It could, potentially I suppose, be a floating input somewhere. Regards.