I'm going to add the "assert(0);" to those function and start again the test.
I also report here the tasks I create on my project (with their priority, stack size and if vTaskDelay is used).
- Tasks running on device but which do not use vTaskDelay:
xTaskCreate(uart_task, "uTsk", 3500, NULL, 11, &UART_TaskHandle); -> no vTaskDelay used
xTaskCreate(GSM_uartTask, "UauxTsk", 4096, NULL, 11, &GSM_TaskHandle); -> no vTaskDelay used
-Tasks on device which do not use vTaskDelay (but they are NOT running on my test):
xTaskCreate(SOT_task, "SOTt", 3000, NULL, 8, &SOT_TaskHandle); -> no vTaskDelay used
xTaskCreate(WIEGAND_task, "WieT", 2048, NULL, 9, &WIEGAND_TaskHandle); -> no vTaskDelay used
xTaskCreate(IR_RC5_task, "ir_t", 2048, NULL, 8, &IR_TaskHandle); -> no vTaskDelay used
xTaskCreate(SD_Task, "SD_task", 3000, (uint8_t *) &val, 9, NULL); -> no vTaskDelay used
xTaskCreate(SD_boot_Task, "SD_boot", 3072, NULL, 9, NULL); -> no vTaskDelay used
-Tasks which use vTaskDelay. They are all coded as "loops" in the form of:
Code: Select all
while (1) {
..do my stuff..
vTaskDelay(xxx);
}
vTaskDelete(NULL);
xTaskCreate(INPMNG_ReadTask, "I_read", 1500, NULL, 10, &INPMNG_ReadHandle); -> vTaskDelay(10 / portTICK_PERIOD_MS); (10ms)
xTaskCreate(INPMNG_task, "I_tsk", 2048, NULL, 9, &INPMNG_MngHandle); -> vTaskDelay(1000 / portTICK_PERIOD_MS); (1sec)
xTaskCreate(INPMNG_AnalogTask, "I_ana", 2048, NULL, 10, &INPMNG_AnaHandle); -> vTaskDelay(1000 / portTICK_PERIOD_MS); (1sec)
xTaskCreate(port_task, "i2c_tsk", 1024 * 2, (void* ) 0, 11, &PORT_TaskHandle); -> vTaskDelay(250 / portTICK_RATE_MS); (250ms)
xTaskCreate(RULES_State_Machine, "rTsk", 5120, NULL, 7, &RULES_TaskHandle); -> vTaskDelay(20 / portTICK_PERIOD_MS); (20ms)
xTaskCreate(SMM_task, "SmmTask", 5096, NULL, 10, &SMM_TaskHandle); -> vTaskDelay(100 / portTICK_PERIOD_MS); (100ms)
Finally I have 'main' task which I don't know what is its priority. Stack size of main task is 5120.
I'll let you know ASAP I will get something new from test.
Thank you