This is an automated email from Gerrit.

Andreas Fritiofson (andreas.fritiof...@gmail.com) just uploaded a new patch set 
to Gerrit, which you can find at http://openocd.zylin.com/2425

-- gerrit

commit 286baf615dc9770399c7d96dbd1b8c76b5306f4c
Author: Andreas Fritiofson <andreas.fritiof...@gmail.com>
Date:   Fri Dec 5 13:17:32 2014 +0100

    FreeRTOS: Make optional symbols optional
    
    xSuspendedTaskList and xTasksWaitingTermination are only available for
    some configurations. Missing optional symbols will have their addresses
    remaining at zero so the corresponding lists will be skipped when
    building the task list.
    
    Change-Id: If330f5038d009298c3a14a4d2756db7105a30bc8
    Signed-off-by: Andreas Fritiofson <andreas.fritiof...@gmail.com>

diff --git a/src/rtos/FreeRTOS.c b/src/rtos/FreeRTOS.c
index 3838646..959c8c7 100644
--- a/src/rtos/FreeRTOS.c
+++ b/src/rtos/FreeRTOS.c
@@ -119,19 +119,24 @@ enum FreeRTOS_symbol_values {
        FreeRTOS_VAL_uxTopReadyPriority = 10,
 };
 
-static const char * const FreeRTOS_symbol_list[] = {
-       "pxCurrentTCB",
-       "pxReadyTasksLists",
-       "xDelayedTaskList1",
-       "xDelayedTaskList2",
-       "pxDelayedTaskList",
-       "pxOverflowDelayedTaskList",
-       "xPendingReadyList",
-       "xTasksWaitingTermination",
-       "xSuspendedTaskList",
-       "uxCurrentNumberOfTasks",
-       "uxTopReadyPriority",
-       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 },
+       { "uxTopReadyPriority", false },
+       { NULL, false }
 };
 
 /* TODO: */
@@ -419,7 +424,8 @@ static int 
FreeRTOS_get_symbol_list_to_lookup(symbol_table_elem_t *symbol_list[]
                        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];
+               (*symbol_list)[i].symbol_name = FreeRTOS_symbol_list[i].name;
+               (*symbol_list)[i].optional = FreeRTOS_symbol_list[i].optional;
 
        return 0;
 }

-- 

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to