Sfoglia il codice sorgente

添加对>=5.2内核支持,修复编译error (#12)

* [src] version 5.2.0 SEGGER_SYSVIEW_RTThread.c
Supper Thomas 1 anno fa
parent
commit
71b7cd6491
1 ha cambiato i file con 11 aggiunte e 2 eliminazioni
  1. 11 2
      SystemView_Src/Config/SEGGER_SYSVIEW_RTThread.c

+ 11 - 2
SystemView_Src/Config/SEGGER_SYSVIEW_RTThread.c

@@ -84,7 +84,11 @@ static void _cbSendTaskInfo(const rt_thread_t thread)
 #else
     Info.sName = thread->name;
 #endif
+#if defined(RT_VERSION_CHECK) && (RTTHREAD_VERSION >= RT_VERSION_CHECK(5, 1, 0))
+    Info.Prio = RT_SCHED_PRIV(thread).current_priority;
+#else
     Info.Prio = thread->current_priority;
+#endif
     Info.StackBase = (U32)thread->stack_addr;
     Info.StackSize = thread->stack_size;
 
@@ -107,14 +111,19 @@ static void _cbSendTaskList(void)
     rt_enter_critical();
     for (node = list->next; node != list; node = node->next)
     {
-#if defined(RT_VERSION_CHECK) && (RTTHREAD_VERSION >= RT_VERSION_CHECK(5, 0, 1))
+#if defined(RT_VERSION_CHECK) && (RTTHREAD_VERSION >= RT_VERSION_CHECK(5, 1, 0))
+        thread = RT_THREAD_LIST_NODE_ENTRY(node);
+#elif defined(RT_VERSION_CHECK) &&(RTTHREAD_VERSION >= RT_VERSION_CHECK(5, 0, 1))
         thread = rt_list_entry(node, struct rt_thread, tlist);
 #else
         thread = rt_list_entry(node, struct rt_thread, list);
 #endif
         /* skip idle thread */
-        if (thread != tidle)
+#if defined(RT_VERSION_CHECK) && (RTTHREAD_VERSION >= RT_VERSION_CHECK(5, 1, 0))
+            _cbSendTaskInfo((int)(thread + 0x20));  //ref SEGGER_SystemView/issues/9
+#else
             _cbSendTaskInfo(thread);
+#endif
     }
     rt_exit_critical();
 }