/** * @brief Start Thread * @param argument not used * @retval None */ static void StartThread(void const * argument) { /* Initialize LCD and LEDs */ BSP_Config(); /* Create tcp_ip stack thread */ tcpip_init( NULL, NULL ); /* Initilaize the LwIP stack */ Netif_Config(); /* Initialize webserver demo */ http_server_socket_init(); /* Notify user about the netwoek interface config */ User_notification(&gnetif); #ifdef USE_DHCP /* Start DHCPClient */ osThreadDef(DHCP, DHCP_thread, osPriorityBelowNormal, 0, configMINIMAL_STACK_SIZE * 2); osThreadCreate (osThread(DHCP), &gnetif); #endif /* Start toogleLed4 task : Toggle LED4 every 250ms */ osThreadDef(LED4, ToggleLed4, osPriorityLow, 0, configMINIMAL_STACK_SIZE); osThreadCreate (osThread(LED4), NULL); for( ;; ) { /* Delete the Init Thread */ osThreadTerminate(NULL); } }
/** * @brief Main program. * @param None * @retval None */ int main(void) { /*!< At this stage the microcontroller clock setting is already configured to 144 MHz, this is done through SystemInit() function which is called from startup file (startup_stm32f4xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f4xx.c file */ /*Initialize LCD and Leds */ LCD_LED_Init(); /* configure ethernet (GPIOs, clocks, MAC, DMA) */ ETH_BSP_Config(); /* Initilaize the LwIP stack */ LwIP_Init(); /* Initialize webserver demo */ http_server_socket_init(); #ifdef USE_DHCP /* Start DHCPClient */ xTaskCreate(LwIP_DHCP_task, (const signed char *) "DHCPClient", configMINIMAL_STACK_SIZE * 2, NULL,DHCP_TASK_PRIO, NULL); #endif /* Start toogleLed4 task : Toggle LED4 every 250ms */ xTaskCreate(ToggleLed4, (const signed char *) "LED4", configMINIMAL_STACK_SIZE, NULL, LED_TASK_PRIO, NULL); /* Start scheduler */ vTaskStartScheduler(); /* We should never get here as control is now taken by the scheduler */ for ( ;; ); }