<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 你知道RTOS應用中節省功耗的方法嗎?

你知道RTOS應用中節省功耗的方法嗎?

發(fā)布人:13261589816 時(shí)間:2022-07-19 來(lái)源:工程師 發(fā)布文章

你知道在空閑任務(wù)中使用一行代碼可以節省多少能量嗎?FreeRTOS商業(yè)版本OpenRTOS及安全版本SAFERTOS的提供商WHIS創(chuàng )建了一個(gè)基本應用程序,在RTOS的idle hook中添加了一條WFI指令,通過(guò)測量系統節省了超過(guò)37%的能耗。如果此RTOS解決方案部署在100萬(wàn)個(gè)處理器上,則節省的電量將相當于為165個(gè)英國家庭在同一時(shí)期供電所需的電量。

通過(guò)添加一行代碼實(shí)現節能、環(huán)保的RTOS應用設計

圖片

在Cortex-M架構處理器中使用 RTOS 時(shí),WHIS通過(guò)在空閑任務(wù)中使用等待中斷 (WFI) 指令,使處理器能耗節約三分之一以上。

在 ARM Cortex-M 平臺上的低功耗實(shí)現非常簡(jiǎn)單:

當使用基于優(yōu)先級的搶先式RTOS時(shí),只要沒(méi)有用戶(hù)任務(wù)需要調度,默認情況下RTOS會(huì )運行最低優(yōu)先級的任務(wù),通常是空閑任務(wù)??臻e任務(wù)執行一個(gè)無(wú)限循環(huán),每次循環(huán)調用“空閑鉤子函數”。為了節省空閑任務(wù)的功耗,空閑鉤子函數需要配置處理器工作在低功耗模式。

一個(gè)簡(jiǎn)單有效的低功耗實(shí)現方法是在空閑鉤子函數中添加一條WFI指令,將處理器設置為低功耗模式,可以被中斷喚醒。

void vApplicationIdleHook( void )

{

asm volatile ("WFI \n" );

}

如果系統在執行空閑任務(wù),則非空閑任務(wù)被調度執行的唯一可能方式是響應中斷,通常是系統節拍。當中斷發(fā)生時(shí),處理器恢復到正常模式并繼續執行。

結果驗證

WHIS基于從 FreeRTOS 升級到 SAFERTOS workshop Demo(請點(diǎn)擊“閱讀原文”),彩色LED循環(huán)應用程序來(lái)實(shí)現了驗證工作。應用包含多個(gè)任務(wù),但任務(wù)大部分時(shí)間處于阻塞狀態(tài),因此處理器的每個(gè)節拍時(shí)間中大部分運行在空閑任務(wù)中。在應用中創(chuàng )建了一個(gè)空閑鉤子函數,其包含一條WFI指令。為了量化可以節省的功耗,我們使用WFI運行應用,然后將其與注釋掉WFI指令的應用程序進(jìn)行比較。

測量結果如下:

圖片

單個(gè)處理器節省的絕對功率非常小,但是考慮到全球每年部署的大量處理器,可以節省的功率確實(shí)可以擴展。大量嵌入式設計中已采取許多硬件/軟件措施降低系統功耗,但對于普通的設計,強烈建議設計人員考慮在空閑鉤子函數中添加WFI指令。僅需一行代碼,如果所有設計都針對功耗進(jìn)行了優(yōu)化,節省的能量將是相當可觀(guān)的。歡迎關(guān)注微信公眾號【麥克泰技術(shù)】


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。

攝像頭相關(guān)文章:攝像頭原理


關(guān)鍵詞: FreeRTOS SAFERTOS

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>