文檔說明
在調(diào)試 i.MX RT FreeRTOSMCUXpresso SDK工程的時候, 很多網(wǎng)友需要添加查看每個task的runtime功能。
該功能可以在MCUXpressoIDE的TASK List(FreeRTOS)中調(diào)出來: Windows->show view->other->MCUXpresso IDEFreeRTOS->Task List(FreeRTOS),如下圖:
但是在運(yùn)行i.MX RTSDK工程的時候, 會發(fā)現(xiàn)Runtime欄目是一個問號, 如下:
那么如何配置出具體的Runtime呢?
實(shí)際上, 我們有個國外的專家寫過一篇基于Kinetis K64的FreeRTOSruntime添加案例。
i.MX RT的SDK FreeRTOS中添加runtime的方法和KINETIS類似, 同樣需要添加一個硬件timer去做runtime的記錄。K64使用的是FTM, i.MX RT沒有FTM的模塊,可以換其他的timer, 本文使用PIT硬件定時器去添加到i.MX RTfreetos代碼中,實(shí)現(xiàn) MCUXpressoSDK工程的runtime功能。
軟硬件準(zhǔn)備如下:
MIMXRT1064-EVK
SDK_2.7.0_EVK-MIMXRT1064
MCUXpresso IDE
具體步驟
1. 導(dǎo)入 SDK 工程
本文以SDK FreeRTOShello 工程為基礎(chǔ): SDK_2.7.0_EVK-MIMXRT1064oardsevkmimxrt1064 tos_examplesfreertos_hello 2. 添加PIT 硬件配置
配置的硬件定時器時間需要至少是 RTOS tick 時間 10 倍,從 FreeRTOSConfig.h 中可以看到 RTOS tick 時間:
#define configTICK_RATE_HZ ((TickType_t)200)
所以,需要配置 PIT 的定時時間為 200*10=2Khz
配置好之后, 點(diǎn)擊 update code,更新 PIT 外設(shè)驅(qū)動到工程的相關(guān)代碼中??截?SDK 中的 pit.c, pit.h到導(dǎo)入 MCUXpresso 工程的 driver folder中
SDKpit 驅(qū)動路徑是:
SDK_2.7.0_EVK-MIMXRT1064devicesMIMXRT1064drivers
3. 修改代碼
3.1freertos_hello.c
添加頭文件
添加 PIT 中斷服務(wù)函數(shù)
添加 runtime 相關(guān)代碼
Main函數(shù)添加外設(shè)調(diào)用
Hello_task任務(wù)函數(shù)把掛起改為 vTaskDelay.
3.2 FreeRTOSConfig.h
Run time宏定義打開
添加 runtime 的宏定義相關(guān)代碼
到目前為止,所有代碼已經(jīng)修改完畢。
測試結(jié)果
下面進(jìn)行燒錄到 MIMXRT1064-EVK 測試:
上圖中Task List 中runtime,可以看到 hello_task, IDLE 的 runtime 百分比情況, 已經(jīng)實(shí)現(xiàn) runtime觀察功能。
審核編輯:湯梓紅
-
恩智浦
+關(guān)注
關(guān)注
14文章
5857瀏覽量
107312 -
FreeRTOS
+關(guān)注
關(guān)注
12文章
484瀏覽量
62139 -
SDK
+關(guān)注
關(guān)注
3文章
1035瀏覽量
45899 -
runtime
+關(guān)注
關(guān)注
0文章
17瀏覽量
2168 -
mcuxpresso
+關(guān)注
關(guān)注
1文章
40瀏覽量
4174
原文標(biāo)題:【經(jīng)驗(yàn)分享】在i.MX RT的FreeRTOS MCUXpresso工程中添加runtime
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論