I tried to create a new socket using
FreeRTOSsocket(FREERTOSAFINET, FREERTOSSOCKDGRAM, FREERTOSIPPROTO_UDP );
but it is entering the vAssertCalled() function and continuously looping over there.
When i tried to debug it is being called from the function
FreeRTOSSocket() { ... ... configASSERT( listLISTIS_INITIALISED( &xBoundSocketsList ) );
...
}
Can anyone help me with this socket creation..?
Have you called FreeRTOSIPInit()? http://www.freertos.org/FreeRTOS-Plus/FreeRTOSPlusTCP/TCPNetworkingTutorialInitialising_TCP.html
Hi,
On the page referred to by Richard you will also see this important user-provided function:
~~~~~ void vApplicationIPNetworkEventHook( eIPCallbackEventt eNetworkEvent ) { static BaseTypet 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;
Regards.