Но.
Как только пытаюсь добавить еще 1 задачу. Все зависает, при первом же обращении по сети.
При 8 задачах работает. 9 уже нет.
В настройках FreeRTOS ничегго такого нету. Хип увеличил до 48 кило.
main.c
Код: Выделить всё
ETH_BSP_Config(); /* configure ethernet (GPIOs, clocks, MAC, DMA) */
LwIP_Init(); /* Initilaize the LwIP stack */
/* Main task */
vSemaphoreCreateBinary( xMBMSemaphore );
xTaskCreate(Main_task, "MAIN", configMINIMAL_STACK_SIZE * 2, NULL, MAIN_TASK_PRIO, NULL);
xTaskCreate(http_server_socket_thread, "HTTP_S", DEFAULT_THREAD_STACKSIZE*2, NULL, WEBSERVER_TASK_PRIO, NULL);
// xTaskCreate(http_server_netconn_thread, "HTTP_N", DEFAULT_THREAD_STACKSIZE*2, NULL, WEBSERVER_TASK_PRIO, NULL);
// xTaskCreate(tcpecho_thread, "TCP_ECHO", DEFAULT_THREAD_STACKSIZE, NULL, TCPECHO_TASK_PRIO, NULL);
// xTaskCreate(udpecho_thread, "UDP_ECHO", DEFAULT_THREAD_STACKSIZE, NULL, UDPECHO_TASK_PRIO, NULL);
#ifdef USE_DHCP
/* Start DHCPClient */
xTaskCreate(LwIP_DHCP_task, "DHCP", configMINIMAL_STACK_SIZE * 2, NULL, DHCP_TASK_PRIO, NULL);
#endif
/* Modbus slave task */
vSemaphoreCreateBinary( xMBSSemaphore );
// xTaskCreate(MBSlave_task, "MBSlave", configMINIMAL_STACK_SIZE * 2, NULL, MODBUS_TASK_PRIO, NULL);
/* Start toogleLed4 task : Toggle LED4 every 250ms */
xTaskCreate(ToggleLed4, "LED4", configMINIMAL_STACK_SIZE, NULL, LED_TASK_PRIO, NULL);
xTaskCreate(ToggleLed5, "LED5", configMINIMAL_STACK_SIZE, NULL, LED_TASK_PRIO, NULL);
/* Start scheduler */
vTaskStartScheduler();
список задач
- Number of page hits:381
Name State Priority Stack Num
---------------------------------------------
HTTP_S R 5 538 5
IDLE R 0 102 8
Eth_if B 6 316 3 --- lwip
LED5 B 2 94 7
LED4 B 2 104 6
TCP/IP B 5 924 2 --- lwip
LINK B 3 218 1 --- lwip
MAIN S 1 226 4


