色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MIMXRT1064的FreeRTOS任務(wù)運(yùn)行時(shí)統(tǒng)計(jì)信息

li1756686189 ? 來源:嵌入式 MCU ? 作者:嵌入式 MCU ? 2022-12-05 09:17 ? 次閱讀

FreeRTOS有很多很酷的功能,其中一個(gè)是它可以報(bào)告每個(gè)任務(wù)中花費(fèi)的CPU百分比。

3b1863b0-73e0-11ed-8abf-dac502259ad0.png

需要在FreeRTOSConfig.h中配置一些#定義:

#define configGENERATE_RUN_TIME_STATS 1

/* 1: generate runtime statistics; 0: no runtime statistics */

可以使用Systick計(jì)時(shí)器,但這不會(huì)給精確的結(jié)果,因此我們該計(jì)時(shí)器。

#define configGENERATE_RUN_TIME_STATS_USE_TICKS 0

/* 1: Use the RTOS tick counter as runtime counter. 0: use extra timer */

接下來,需要配置如何使用計(jì)時(shí)器:為此,指定計(jì)時(shí)器配置函數(shù)的名稱和獲取計(jì)時(shí)器值的函數(shù):

#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() McuRTOS_AppConfigureTimerForRuntimeStats()

#define portGET_RUN_TIME_COUNTER_VALUE() McuRTOS_AppGetRuntimeCounterValueFromISR()

使用I.MX RT的GPT(通用計(jì)時(shí)器):

#include "fsl_gpt.h"
uint32_t McuRTOS_RunTimeCounter; //需要一個(gè)用于測量時(shí)間的32位計(jì)數(shù)器
/* runtime counter, used for configGENERATE_RUNTIME_STATS */
將計(jì)時(shí)器配置為0.1毫秒(RTOS滴答計(jì)時(shí)器頻率的10倍),設(shè)置為1 kHz:
static void AppConfigureTimerForRuntimeStats(void) {
uint32_t gptFreq;
gpt_config_t gptConfig;
GPT_GetDefaultConfig(&gptConfig);
/* Initialize GPT module */
GPT_Init(GPT2, &gptConfig);
/* Divide GPT clock source frequency by 3 inside GPT module */
GPT_SetClockDivider(GPT2, 3);
/* Get GPT clock frequency */
gptFreq = CLOCK_GetFreq(kCLOCK_PerClk);
/* GPT frequency is divided by 3 inside module */
gptFreq /= 3;
/* Set GPT module to 10x of the FreeRTOS tick counter */
gptFreq = USEC_TO_COUNT(100, gptFreq); /* FreeRTOS tick is 1 kHz */
GPT_SetOutputCompareValue(GPT2, kGPT_OutputCompare_Channel1, gptFreq);
/* Enable GPT Output Compare1 interrupt */
GPT_EnableInterrupts(GPT2, kGPT_OutputCompare1InterruptEnable);
/* Enable at the Interrupt and start timer */
EnableIRQ(GPT2_IRQn);
GPT_StartTimer(GPT2);
}
接下來是計(jì)時(shí)器中斷服務(wù)例程的實(shí)現(xiàn)。
void GPT2_IRQHandler(void) {
/* Clear interrupt flag.*/
GPT_ClearStatusFlags(GPT2, kGPT_OutputCompare1Flag);
McuRTOS_RunTimeCounter++; /* increment runtime counter */
#if defined __CORTEX_M && (__CORTEX_M == 4U || __CORTEX_M == 7U)
__DSB();
#endif
}
最后,在啟動(dòng)調(diào)度器之前,必須調(diào)用Timer初始化函數(shù)。
3b31c670-73e0-11ed-8abf-dac502259ad0.png
使用串行連接接口UARTUSB、SEGGER RTT),也可以使用命令行接口檢索相同的信息
3b4c0418-73e0-11ed-8abf-dac502259ad0.png

信息顯示在Eclipse環(huán)境下的FreeRTOS任務(wù)列表的“運(yùn)行時(shí)”列中(針對MCUXpresso IDE顯示):3b63a3ca-73e0-11ed-8abf-dac502259ad0.png

在FreeRTOS中收集運(yùn)行時(shí)信息通常需要計(jì)時(shí)器(也可以使用SysTick)。收集的信息可以很好地概括CPU時(shí)間的使用情況,從而有助檢查系統(tǒng)負(fù)荷。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10878

    瀏覽量

    212167
  • 計(jì)時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    425

    瀏覽量

    32752
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62226

原文標(biāo)題:MIMXRT1064的 FreeRTOS任務(wù)運(yùn)行時(shí)統(tǒng)計(jì)信息

文章出處:【微信號:嵌入式 MCU,微信公眾號:嵌入式 MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何縮短Vivado的運(yùn)行時(shí)

    在Vivado Implementation階段,有時(shí)是有必要分析一下什么原因?qū)е?b class='flag-5'>運(yùn)行時(shí)間(runtime)過長,從而找到一些方法來縮短運(yùn)行時(shí)間。
    的頭像 發(fā)表于 05-29 14:37 ?1.4w次閱讀
    如何縮短Vivado的<b class='flag-5'>運(yùn)行時(shí)</b>間

    STM32L476+ST253993增加freertos,但是代碼下進(jìn)去系統(tǒng)運(yùn)行時(shí)就卡住,為什么?

    我準(zhǔn)備在官方的STM32L476+ST253993增加freertos,但是代碼下進(jìn)去系統(tǒng)運(yùn)行時(shí)就卡住,單步調(diào)試,系統(tǒng)一直卡在prvCheckTasksWaitingTermination中
    發(fā)表于 04-15 07:27

    FreeRTOS創(chuàng)建任務(wù)操作Flash運(yùn)行時(shí)系統(tǒng)調(diào)度出現(xiàn)錯(cuò)誤

    FreeRTOS:最近在學(xué)習(xí)freeRTOS,項(xiàng)目描述:用的是freeRTOS V6.0.5版操作系統(tǒng),cotex-M0內(nèi)核。創(chuàng)建了4個(gè)任務(wù),在其中的一個(gè)
    發(fā)表于 03-06 01:34

    freertos任務(wù)運(yùn)行時(shí)間怎么設(shè)置

    對于相同優(yōu)先級的任務(wù)采用時(shí)間片輪詢的方式運(yùn)行,那比如說有兩個(gè)優(yōu)先級都為5的任務(wù),那這兩個(gè)任務(wù)運(yùn)行時(shí)間如何設(shè)置呢?在rt-thread中創(chuàng)建
    發(fā)表于 07-19 08:03

    如何在MIMXRT1064評估套件上部署tflite模型?

    我有一個(gè)嬰兒哭聲檢測 tflite (tensorflow lite) 文件,其中包含模型本身。我如何將此模型部署到 MIMXRT1064-evk 以通過 MCUXpresso IDE 運(yùn)行推理。你能推薦一些用于嬰兒哭聲檢測的教程和輸入數(shù)據(jù)集嗎?
    發(fā)表于 04-06 06:24

    如何使用MCUXpresso安全配置工具通過UART閃存MIMXRT1064

    我正在嘗試使用 MCUXpresso 安全配置工具通過 UART 閃存 MIMXRT1064。所有必要的配置都已完成。引導(dǎo)模式設(shè)置為串行下載器 (01)。處理器連接正確。我們反復(fù)遇到同樣的錯(cuò)誤。是否有任何其他配置或設(shè)置需要完成?請幫助
    發(fā)表于 04-14 06:39

    MiMXRt1064 -EVK停止調(diào)試并報(bào)錯(cuò)的原因?

    嗨,剛開始使用 MiMXRt1064 -EVK,今天它突然停止調(diào)試并出現(xiàn)此錯(cuò)誤消息,我正在使用板載鏈接服務(wù)器漏洞和 MCUXpresso,版本如下MCUXpresso IDE v11.1.1
    發(fā)表于 04-17 06:07

    如何在MIMXRT1064 EVK中通過USB OTG寫入圖像?

    MIMXRT1064 EVK 中通過 USB OTG 寫入圖像
    發(fā)表于 04-21 06:15

    運(yùn)行時(shí)軟件故障注入器的設(shè)計(jì)與實(shí)現(xiàn)

    針對實(shí)際故障診斷中難以有效獲得故障現(xiàn)場信息的問題,提出通過在軟件運(yùn)行時(shí)注入故障的方式獲取故障現(xiàn)場信息,設(shè)計(jì)并實(shí)現(xiàn)一種運(yùn)行時(shí)軟件故障注入器,給出其中的故障腳本描
    發(fā)表于 04-06 08:40 ?19次下載

    基于本地任務(wù)與遠(yuǎn)程任務(wù)運(yùn)行時(shí)間的CPS和PAA的概念

    針對現(xiàn)有單一預(yù)測策略不適用于所有異構(gòu)任務(wù)的問題,提出一種基于本地任務(wù)與遠(yuǎn)程任務(wù)運(yùn)行時(shí)間的組合預(yù)測方案(CPS)和預(yù)測精度保證(PAA)的概念。使用GridSim工具集來實(shí)現(xiàn)CPS,將P
    發(fā)表于 01-04 14:13 ?0次下載
    基于本地<b class='flag-5'>任務(wù)</b>與遠(yuǎn)程<b class='flag-5'>任務(wù)</b><b class='flag-5'>運(yùn)行時(shí)</b>間的CPS和PAA的概念

    MIMXRT1064CVL5B連接HyperRAM

    NXP MIMXRT1064CVL5B 能否支持使用SPI接口的HyperRAM?使用HyperRam的原因是為LCD存儲(chǔ)幀或者USB記錄數(shù)據(jù)或者以太網(wǎng)采集通信數(shù)據(jù)都需要緩沖區(qū)。使用NXP
    的頭像 發(fā)表于 11-08 09:39 ?1995次閱讀

    Go運(yùn)行時(shí):4年之后

    自 2018 年以來,Go GC,以及更廣泛的 Go 運(yùn)行時(shí),一直在穩(wěn)步改進(jìn)。近日,Go 社區(qū)總結(jié)了 4 年來 Go 運(yùn)行時(shí)的一些重要變化。
    的頭像 發(fā)表于 11-30 16:21 ?848次閱讀

    如何在AUTOSAR OS系統(tǒng)運(yùn)行時(shí)使用事件Event呢?

    在AUTOSAR OS系統(tǒng)中,事件用于向任務(wù)發(fā)送信號信息。本節(jié)解釋事件是什么,如何配置它們以及如何在運(yùn)行時(shí)使用它們。
    發(fā)表于 05-22 10:04 ?2757次閱讀
    如何在AUTOSAR OS系統(tǒng)<b class='flag-5'>運(yùn)行時(shí)</b>使用事件Event呢?

    ch32v307記錄程序運(yùn)行時(shí)

    ch32v307記錄程序運(yùn)行時(shí)間 在程序開發(fā)中,很重要的一項(xiàng)任務(wù)就是對程序的運(yùn)行時(shí)間進(jìn)行評估。對于大型的程序系統(tǒng)來說,它們通常需要處理大量的數(shù)據(jù)或進(jìn)行復(fù)雜的計(jì)算操作。因此,如果程序的運(yùn)行時(shí)
    的頭像 發(fā)表于 08-22 15:53 ?918次閱讀

    如何保證它們?nèi)萜?b class='flag-5'>運(yùn)行時(shí)的安全?

    緊密耦合的容器運(yùn)行時(shí)繼承了主機(jī)操作系統(tǒng)的安全態(tài)勢和攻擊面。運(yùn)行時(shí)或主機(jī)內(nèi)核中的任何漏洞及其利用都會(huì)成為攻擊者的潛在切入點(diǎn)。
    的頭像 發(fā)表于 11-03 15:24 ?689次閱讀
    主站蜘蛛池模板: 国产精品自在在线午夜精品| 最近的2019中文字幕国语版| 久99视频精品免费观看福利| 国产AV白丝爆浆在线播放| 91av影院| 中文人妻熟妇精品乱又伦| 亚洲欧美中文字幕网站大全| 性西欧俄罗斯极品| 少女亚洲free| 色播播影院| 色欲AV精品人妻一区二区三区| 强开少妇嫩苞又嫩又紧九色| 男人插女人逼逼| 男人插曲视频大全免费网站 | 看电影就来5566先锋av| 久久国产加勒比精品无码| 久久re热在线视频精69| 久久国产精品永久免费网站| 九色PORNY蝌蚪视频首页| 九九热在线视频| 久久精品亚洲热综合一本| 草莓视频免费看| 亚洲精品一区三区三区在线观看| 熟女人妻水多爽中文字幕| 撕烂衣服扒开胸罩揉爆胸| 外国xxxx| 亚洲黄色在线视频| 夜里18款禁用的免费B站动漫| 一亲二脱三插| 5G在线观看免费年龄确认| a一级毛片视频免费看| 成人免费视频网站www| 国产精品第1页| 极品 女神校花 露脸91| 久久精品免费电影| 免费国产麻豆传| 日本动漫henta videos| 我和黑帮老大第365天第2季在线| 亚洲AV蜜桃永久无码精品红樱桃 | 东北女人一级毛片| 国产精品你懂得|