I found an issue in using the WINC1500 component and FreeRTOS together. The WINC1500 uses delay_ms routines (through nm_bsp_sleep calls). These calls set the value of systick to create the delay. FreeRTOS sets systick in order to create the port tick value. The init calls in the WINC1500 stack will immediately overwrite the value. Simple solution is to define a symbol in the FreeRTOS port and in the WINC driver make nm_bsp_sleep use vTaskDelay to get a ms delay if FreeRTOS is enabled, otherwise use delay_ms. Alternatively, only initialize the WINC1500 before FreeRTOS is initialized.
Joined: Fri. Dec 10, 2010
Posts: 73 View posts