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

如何在STM32CubeMX中集成Flexible Safety RTOS

ThreadX-RTOS嵌入式開發(fā)
如何在項(xiàng)目中使用RTOS分析工具SystemView?
如何在Windows上運(yùn)行ThreadX?
Express Logic的ThreadX RTOS協(xié)助開發(fā)
Imagination 和 Express Logic 宣布擴(kuò)展 ThreadX RTOS 對(duì) MIPS CPU 的支持
嵌入式RTOS ThreadX 用戶指南手冊(cè)ver.4.0c
適用于Arduino 101的Azure RTOS ThreadX線程

如何在OpenMV生態(tài)系統(tǒng)中集成STM32Cube.AI生成的代碼

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

如何在eclipse配置jdk環(huán)境
SEGGER SystemView支持Eclipse ThreadX

評(píng)論