簡介
FreeRTOSViewer 可以讓使用 FreeRTOS 操作系統(tǒng)的客戶跟蹤調(diào)試一些操作內(nèi)核的信息,例如任務信息,消息隊列信息等等。這個輔助的工具可以在內(nèi)核停止或者打斷的時候查看內(nèi)核的相關內(nèi)容。
Microchip 的 MPLAB? X IDE+Harmony 軟件開發(fā)平臺已經(jīng)集成了 FreeRTOS 系統(tǒng),并將FreeRTOSViewer 工具嵌入開發(fā)平臺中以方便客戶調(diào)試。
本文介紹一種基于 MPLAB X IED+Harmony 下使用 FreeRTOSViewer 工具調(diào)試的方法。
硬件工具和軟件平臺硬件:
PIC32MZ EF入門工具包
MEB II
軟件:
-
MPLAB-X IDE:v3.61 或者更新
-
XC32:v1.42 或者更新
-
Harmony:v2.0.00b 或者更新
調(diào)試工具:
MPLAB? ICD3
或
MPLAB? REAL ICE
步驟一、在MPLAB X IDE中安裝RTOSViewer插件
在 MPLAB X IDE中選擇 Tools->Plugins,進入插件安裝,選擇 RTOS Viewer 插件進行安裝。

二、在Harmony中打開一個使用了FreeRTOS的工程

三、設置工程,選擇合適的調(diào)試工具

四、在 MPLAB X IDE中選擇 Tool->Embedded->RTOSViewer,打開 RTOSViewer工具

五、在RTOSViewer中選擇FreeRTOS Kernel9.0.0

六、Debug工程,運行大約10S,待程序穩(wěn)定以后暫停程序運行。由于對操作系統(tǒng)信息的讀取需要一定的時間,需要等待

七、通過RTOSViewer中的Tasks觀察窗口查看任務的相關信息

-
Reference:任務序號
-
Name:任務名稱
-
Priority:任務優(yōu)先級
-
Sate:任務狀態(tài)
1. Ready : Ready to execute and present in ready list
2. Delayed: Blocked task in delayed list
3. Suspended: Suspendered by vTaskSuspend() call
4. Running: Currently executing task
5. Deleted: Terminated task but the memory is not yet freed
-
TCB ID:任務的入口地址
-
Stack(Start/Top):任務的堆棧起始地址
八、通過RTOSViewer中的Queue觀察窗口查看消息隊列的相關信息

-
Sno:隊列序號
-
Registered Queue Name:隊列名稱
-
Queue Head:隊列開始地址
-
Queue Tail:隊列結束地址
-
Write To:隊列下一個待寫地址
-
Read From:隊列最后以后讀取地址
-
Pending Messages:隊列中待處理的消息數(shù)
-
Length:隊列長度
-
Item Sizes:隊列單元的 size
九、通過RTOSViewer中的CoRoutines觀察窗口查看協(xié)同運行函數(shù)的相關信息

-
Sno:序號
-
Functions:函數(shù)名稱
-
Blocking Event:阻塞的事件
-
State:狀態(tài)
-
Priority:優(yōu)先級
十、通過RTOSViewer中的System觀察窗口查看系統(tǒng)的相關信息

如何關注Excelpoint世健微信訂閱號?第一步:請按住該二維碼,待窗口彈出“識別圖中二維碼”后,選擇“識別圖中二維碼”;第二步:待窗口彈出Excelpoint世健微信訂閱號時,選擇“關注”,即完成關注Excelpoint世健微信訂閱號。
-
嵌入式
+關注
關注
5152文章
19676瀏覽量
317744 -
microchip
+關注
關注
52文章
1550瀏覽量
119099
原文標題:【世說設計】Microchip MPLAB? Harmony之學習篇(20)
文章出處:【微信號:Excelpoint_CN,微信公眾號:Excelpoint_CN】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
實時操作系統(tǒng)FreeRTOS應用之任務調(diào)試信息獲取

在i.MX RT的FreeRTOS MCUXpresso工程中添加runtime

為什么CubeMX設計的FreeRTOS工程只能正常運行3個任務?
FreeRTOS調(diào)試功能代碼報錯
使用Tracealyzer跟蹤FreeRTOS內(nèi)核
mcuxpressor freertos調(diào)試崩潰的原因?怎么解決?
使用RealView MDK進行SW調(diào)試和實時跟蹤

AS:可視化的調(diào)試工具--FreeRTOS+Trace
關于CoreSight中調(diào)試和跟蹤的相關內(nèi)容
IAR移植FreeRTOS

評論