При запуске задач используется все тот же malloc. Если крутится только idle, значит больше задач нет. Значит при их запуске (например) не выделилось нужного места под стек и т.д. Копайте в сторону настроек кучи. А заодно проверьте, что возвращает xTaskCreate. Я для этого использую такую конструкцию
__inline signed portBASE_TYPE _xTaskCreate( pdTASK_CODE pvTaskCode, const signed portCHAR * const pcName, unsigned portSHORT usStackDepth, void *pvParameters, unsigned portBASE_TYPE uxPriority, xTaskHandle *pxCreatedTask ) { portBASE_TYPE result; result = xTaskCreate(pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask ); if ( result != pdPASS ) printf("%s coud not be created\r\n", pcName); #ifdef DEBUG else printf("%s started\r\n", pcName); #endif return result; }
--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
|