SEGGER實時軟件分析工具SystemView已經在ThreadX v6.4.2上進行了測試。SystemView從v3.60c版本支持Eclipse ThreadX(Azure RTOS),用戶可以基于Systemview記錄ThreadX操作系統事件并執行分析。我們基于SEGGER Embedded Studio開發環境描述如何在Eclipse ThreadX RTOS中集成SystemView。
使用Embedded Studio
創建ThreadX項目
1 啟動Embedded Studio
2(可選)通過Tools->Package Manager為使用的處理器安裝CPU支持包
3 創建工程
通過File ->New Project…,創建項目,為設備選擇項目模板。例如“A C/C++ executable For NXP LPC4300.”,并輸入項目名稱。
4 測試創建的項目
通過J-Link連接目標硬件,構建項目并啟動調試會話,運行項目,在Terminal窗口中看到Hello World輸出。
5 獲取ThreadX代碼
在文件資源管理器中使用File ->Open Studio Folder…->Project Flolder打開工程文件目錄,創建一個新文件夾‘threadx’,并添加ThreadX源代碼,ThreadX代碼包可以訪問https://github.com/SEGGERMicro/threadx/releases/tag/v6.4.2_rel-segger獲取。
6 將ThreadX添加到Embedded Studio項目中
通過右鍵單擊Project->New Folder.... 創建一個新的文件夾ThreadX,在“ThreadX”中創建一個新文件夾common,并設置其Dynamic Flolder Options選項,將Source folder設置為“$(ProjectDir)/threadx/common”,設置Filter specification為*.c;*.h。選中“Recurse into subdirectoires”。
在‘ThreadX’中創建一個新文件夾‘ports’,并設置其Dynamic Flolder Options選項,將源文件夾設置為目標平臺的移植代碼,例如“$(ProjectDir)/threadx/ports/cortex_m4/gnu”。設置Filter specification為*.s;*. s;*. c;*.h。將Exclude specification設置為“*example*”。選中“Recurse into subdirectoires”。
通過右鍵單擊Project->Options添加包含路徑。選擇“Common”配置,編輯Code->Preproessor->用User Include Directories,添加“$(ProjectDir) / threadx /common/inc”,添加移植包含文件,如$(ProjectDir)/threadx/ports/cortex_m4/gnu/inc。
7(可選)添加第三方庫,hal,驅動程序等到項目中
8 添加應用程序代碼。
編輯main.c,添加#include“tx_api.h”,并修改main()函數實現。
9 使用Embedded Studio構建、開發和調試項目。
將SystemView
添加到ThreadX項目中
SystemView檢測代碼需要添加到ThreadX源代碼中。建議使用https://github.com/SEGGERMicro/threadx上準備好的ThreadX源代碼,如果使用其他來源的ThreadX,需手動修改應用修改。
1 將SystemView和RTT源添加到項目中
在文件資源管理器中打開項目,創建新的文件夾‘SystemView’并添加SystemView源代碼。訪問https://www.segger.com/downloads/systemview可以下載最新的SystemView代碼。
創建一個新文件夾‘RTT’并添加SEGGER_RTT源代碼。
將SystemView/SYSVIEW/*.c,SystemView/SYSVIEW/Sample/ThreadX/SEGGER_SYSVIEW_ThreadX.c,RTT/RTT/*.c,RTT/RTT/*.s及配置如SystemView/SYSVIEW/Sample/ThreadX/Cortex_M4/SEGGER_SYSVIEW_Config_ThreadX.c添加到項目。
添加include path,SystemView/Config,SystemView/SEGGER,SystemView/SYSVIEW,RTT/Config,RTT/RTT
2 根據目標系統調整SystemView和RTT配置
調整SEGGER_SYSVIEW_Config_ThreadX.c配置,設置SEGGER_SYSVIEW_Conf.h和SEGGER_RTT_Conf.h中的配置。
3 在SystemView中啟用ThreadX跟蹤
添加預處理器定義ENABLE_TRACE_API=1,在tx_api.h的末尾添加
#include“SEGGER_SYSVIEW_ThreadX.h”
在main()函數中調用SEGGER_SYSVIEW_Conf()。
完成以上操作,即可實現Systemview跟蹤ThreadX系統行為了。
SystemView是一個用于嵌入式系統的實時記錄和可視化工具。它揭示了應用程序的真實運行時行為,比調試器提供更多的系統洞察。麥克泰技術代理SEGGER全線產品,具有豐富的RTOS分析軟件與調試工具使用方面的知識和經驗,歡迎咨詢。
-
嵌入式
+關注
關注
5147文章
19621瀏覽量
316541 -
threadx
+關注
關注
0文章
17瀏覽量
14042 -
SystemView
+關注
關注
5文章
53瀏覽量
24913 -
J-Link
+關注
關注
0文章
88瀏覽量
22696
原文標題:如何在ThreadX應用中集成SystemView
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Azure RTOS ThreadX的搶占任務應用實現與調試
如何在裸機系統中集成SystemView

如何在STM32CubeMX中集成Flexible Safety RTOS

ThreadX-RTOS嵌入式開發
如何在項目中使用RTOS分析工具SystemView?
如何在Windows上運行ThreadX?
Express Logic的ThreadX RTOS協助開發
Imagination 和 Express Logic 宣布擴展 ThreadX RTOS 對 MIPS CPU 的支持
適用于Arduino 101的Azure RTOS ThreadX線程

如何在OpenMV生態系統中集成STM32Cube.AI生成的代碼

微軟開源Azure RTOS,并更名為Eclipse ThreadX

如何在eclipse配置jdk環境
SEGGER SystemView支持Eclipse ThreadX

評論