1. 摘要
本篇筆記主要介紹,在freeRTOS環(huán)境下,以STM32為例介紹如何快速獲取CPU利用率,配合CubeMonitor測試
2. 準備工作
1, IAR 8.32.1
2, STM32Cube_FW_H7_V1.6.0
3. CPU使用率
這里的CPU使用率是指在一定周期內(nèi),除過空閑任務(wù)以外的所有任務(wù)棧CPU總運行時間的比值,
osCPU_Usage = (100 - (osCPU_TotalIdleTime * 100) / CALCULATION_PERIOD); 其實就是計算出空閑任務(wù)的時間,就能獲取CPU的利用率,而空閑任務(wù)運行時間的獲取,可以利用鉤子或者叫掛鉤函數(shù),具體在freeRTOS下就是

而我們所有的計算都是以CPU時基為基礎(chǔ),在freeRTOS下以STM32H743為MCU,通常設(shè)時基為1ms,就是操作系統(tǒng)的TICK,而freeRTOS也提供了掛鉤函數(shù)

所以我們要使用這兩個掛鉤函數(shù),必須先配置使能在freeRTOSConfig.h下

4. 獲取CPU利用率
在ST提供的SDK里面會有一個公共的文件cpu_utils.c和cpu_utils.h兩個文件,這兩個文件提供了獲取freeRTOS下獲取CPU利用率的方案和方法,可以供參考,我們可以將兩個文件加入工程,需要配置和修改一些東西


在cpu_utilis.c的文件開頭注釋部分有說明如何利用這個模塊,按照模塊說明,也就是我們上章節(jié)所列的首先必須使能IDEL和TICK的HOOK函數(shù)配置。,還必須定義兩個宏,對freeRTOS就可以在freeRTOSConfig.h中定義如下

在頭文件中添加函數(shù)聲明

這種方法只能用來初略估計,如需精確估計可開啟一個比sysTick 優(yōu)先級高的硬件定時器來,但是在一般正式的項目中,不這樣做,這樣會影響系統(tǒng)的實時性。

直接調(diào)用就可以了。更多精細的測試和調(diào)試可以使用freeRTOS+Trace。

5. 測試
編譯無誤后,可以下載進行調(diào)試, 工程中有大概十幾個任務(wù)


可以看到CPU的利用率。也可以利用ST推出的CubeMonitor進行測試,下次推送將給大家安排詳細的CubeMonitor使用。
責(zé)任編輯:PSY
原文標題:如何快速獲取CPU利用率
文章出處:【微信公眾號:嵌入式程序猿】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
cpu
+關(guān)注
關(guān)注
68文章
11277瀏覽量
224957 -
STM32
+關(guān)注
關(guān)注
2309文章
11162瀏覽量
373423 -
利用率
+關(guān)注
關(guān)注
0文章
10瀏覽量
7189 -
FreeRTOS
+關(guān)注
關(guān)注
14文章
499瀏覽量
66934
原文標題:如何快速獲取CPU利用率
文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
GPU 利用率<30%?這款開源智算云平臺讓算力不浪費 1%
華為發(fā)布AI容器技術(shù)Flex:ai,算力平均利用率提升30%
設(shè)備利用率算不清?智能管理系統(tǒng)自動分析數(shù)據(jù),生成可視化報表幫你降本
從 “被動維修” 到 “主動管理”:這套系統(tǒng)讓設(shè)備利用率提升 30%
如何使用 CyCloneTCP 和 FreeRTOS 從 SNTP 服務(wù)器獲取時間?
什么是服務(wù)器虛擬化?一文讀懂原理、優(yōu)勢與實戰(zhàn)部署
是否可以在不使用 freeRTOS 的情況下運行 Infenion AIROC 藍牙包來配置 CY43439(將 CY43439 與 STM32H753 連接)?
海光DCU率先展開文心系列模型的深度技術(shù)合作 FLOPs利用率(MFU)達47%
CUBEmonitor write panel變量無法在dashboard上顯示的原因?
mes工廠管理系統(tǒng):如何讓設(shè)備利用率提升50%?
DeepSeek MoE架構(gòu)下的網(wǎng)絡(luò)負載如何優(yōu)化?解鎖90%網(wǎng)絡(luò)利用率的關(guān)鍵策略
嵌入式開發(fā)避坑指南|FreeRTOS的5個\"反直覺\"小技巧
STM32調(diào)試神器STM32CubeMonitor介紹
在freeRTOS環(huán)境下,如何用STM32配合CubeMonitor快速獲取CPU利用率
評論