Socket Creation Problem

ramanuday wrote on Thursday, July 02, 2015:

I tried to create a new socket using


but it is entering the vAssertCalled() function and continuously looping over there.

When i tried to debug it is being called from the function


configASSERT( listLIST_IS_INITIALISED( &xBoundSocketsList ) );


Can anyone help me with this socket creation…?

rtel wrote on Thursday, July 02, 2015:

Have you called FreeRTOS_IPInit()?

heinbali01 wrote on Thursday, July 02, 2015:


On the page referred to by Richard you will also see this important user-provided function:

void vApplicationIPNetworkEventHook( eIPCallbackEvent_t eNetworkEvent )
static BaseType_t xTasksAlreadyCreated = pdFALSE;

    /* Both eNetworkUp and eNetworkDown events can be processed here. */
    if( eNetworkEvent == eNetworkUp )
        /* Create the tasks that use the TCP/IP stack if they have not already
        been created. */
        if( xTasksAlreadyCreated == pdFALSE )
             * For convenience, tasks that use FreeRTOS+TCP can be created here
             * to ensure they are not created before the network is usable.

            xTasksAlreadyCreated = pdTRUE;

Only after xTasksAlreadyCreated has become true, you can start create and use sockets.
Of course, you can also make this a global variable and call it something like:

BaseType_t xIPNetworkIsReady = pdFALSE;