X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Frtos%2FFreeRTOS.c;h=e13cc4617bdca5688ed6f41f9b3571a18f6afc0c;hp=667875c370c931329eef3c5b08dfbbdc4c0c60f6;hb=6b2887e16acefada94a496ef786882d04b9b89a2;hpb=f3b1405fddf0b32af27ad3894841f7d1702d8e5a;ds=sidebyside diff --git a/src/rtos/FreeRTOS.c b/src/rtos/FreeRTOS.c index 667875c370..e13cc4617b 100644 --- a/src/rtos/FreeRTOS.c +++ b/src/rtos/FreeRTOS.c @@ -119,19 +119,24 @@ enum FreeRTOS_symbol_values { FreeRTOS_VAL_uxTopUsedPriority = 10, }; -static const char * const FreeRTOS_symbol_list[] = { - "pxCurrentTCB", - "pxReadyTasksLists", - "xDelayedTaskList1", - "xDelayedTaskList2", - "pxDelayedTaskList", - "pxOverflowDelayedTaskList", - "xPendingReadyList", - "xTasksWaitingTermination", - "xSuspendedTaskList", - "uxCurrentNumberOfTasks", - "uxTopUsedPriority", - NULL +struct symbols { + const char *name; + bool optional; +}; + +static const struct symbols FreeRTOS_symbol_list[] = { + { "pxCurrentTCB", false }, + { "pxReadyTasksLists", false }, + { "xDelayedTaskList1", false }, + { "xDelayedTaskList2", false }, + { "pxDelayedTaskList", false }, + { "pxOverflowDelayedTaskList", false }, + { "xPendingReadyList", false }, + { "xTasksWaitingTermination", true }, /* Only if INCLUDE_vTaskDelete */ + { "xSuspendedTaskList", true }, /* Only if INCLUDE_vTaskSuspend */ + { "uxCurrentNumberOfTasks", false }, + { "uxTopUsedPriority", false }, + { NULL, false } }; /* TODO: */ @@ -418,8 +423,10 @@ static int FreeRTOS_get_symbol_list_to_lookup(symbol_table_elem_t *symbol_list[] *symbol_list = calloc( ARRAY_SIZE(FreeRTOS_symbol_list), sizeof(symbol_table_elem_t)); - for (i = 0; i < ARRAY_SIZE(FreeRTOS_symbol_list); i++) - (*symbol_list)[i].symbol_name = FreeRTOS_symbol_list[i]; + for (i = 0; i < ARRAY_SIZE(FreeRTOS_symbol_list); i++) { + (*symbol_list)[i].symbol_name = FreeRTOS_symbol_list[i].name; + (*symbol_list)[i].optional = FreeRTOS_symbol_list[i].optional; + } return 0; }