91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

揭秘TEE深度休眠喚醒“低概率報錯”:從概念到解決方案的全解析

jf_44130326 ? 來源:Linux1024 ? 2026-02-09 16:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式物聯(lián)網(wǎng)設(shè)備的底層技術(shù)領(lǐng)域,TEE(可信執(zhí)行環(huán)境)是保障系統(tǒng)安全的關(guān)鍵組件之一。但在RK3562、RK3588等芯片的深度休眠喚醒場景中,卻出現(xiàn)了一類低概率卻影響致命的報錯問題。今天我們就從概念入手,一步步拆解問題、剖析解決方案。

一、是什么:TEE與深度休眠的技術(shù)畫像

?TEE(可信執(zhí)行環(huán)境):是與設(shè)備主操作系統(tǒng)(如Linux)并行的獨立執(zhí)行環(huán)境,能在隔離、可信的環(huán)境中運行加密、認(rèn)證等敏感任務(wù),常見的實現(xiàn)如OP-TEE

?tee-supplicant進(jìn)程:是TEE與主系統(tǒng)之間的通信橋梁,負(fù)責(zé)處理TEE驅(qū)動發(fā)起的RPC(遠(yuǎn)程過程調(diào)用)請求,保障安全任務(wù)的協(xié)同執(zhí)行。

?深度休眠:設(shè)備為節(jié)省功耗,將大部分模塊斷電/凍結(jié)的低功耗狀態(tài),喚醒時需快速恢復(fù)系統(tǒng)運行。

二、場景:深度休眠喚醒的剛需場景

在物聯(lián)網(wǎng)網(wǎng)關(guān)、工業(yè)控制設(shè)備、智能終端等場景中,設(shè)備常常需要長時間處于深度休眠狀態(tài)(如夜間待機(jī)、無任務(wù)時節(jié)能),并在外部事件觸發(fā)時快速喚醒。以RK3562/RK3588平臺為例,這類芯片廣泛應(yīng)用于:

?智能家居中控設(shè)備(長時間待機(jī),被指令喚醒后快速響應(yīng));

?工業(yè)傳感器節(jié)點(休眠節(jié)能,被數(shù)據(jù)觸發(fā)后喚醒上報);

?邊緣計算設(shè)備(空閑時休眠,任務(wù)到達(dá)時喚醒運算)。

在這些場景中,TEE的安全功能(如身份認(rèn)證、數(shù)據(jù)加密)必須在深度休眠喚醒后立即可用,這就對TEE子系統(tǒng)的休眠-喚醒兼容性提出了極高要求。

三、問題:深度休眠喚醒時的低概率崩潰

RK3562/RK3588的深度休眠喚醒過程中,偶爾會出現(xiàn)系統(tǒng)報錯,核心日志如下:

[...T2036]Warning, Interrupting an RPCtosupplicant![...CF80211-ERROR]...wlan0:error (-26)E/TC:? TA panicked with code0xffff000e

問題根源可拆解為三步:

1.深度休眠觸發(fā)時,系統(tǒng)會凍結(jié)用戶空間進(jìn)程,tee-supplicant也被納入凍結(jié)范圍;

2.TEE驅(qū)動在喚醒后發(fā)起RPC請求,等待tee-supplicant響應(yīng),但由于tee-supplicant凍結(jié),響應(yīng)超時;

3.TEE驅(qū)動因超時中斷RPC調(diào)用,最終導(dǎo)致TEE中的可信應(yīng)用(TA)因錯誤碼觸發(fā)“panic”(崩潰)。

簡單來說:深度休眠凍結(jié)了通信橋梁tee-supplicant,導(dǎo)致TEE驅(qū)動超時報錯,進(jìn)而引發(fā)安全子系統(tǒng)崩潰。

四、解決:從超時等待狀態(tài)感知的技術(shù)突破

為解決這個問題,技術(shù)團(tuán)隊提出了**“不依賴時間,通過shutdown標(biāo)志判斷tee-supplicant狀態(tài)”**的方案,核心改造分為三部分(結(jié)合代碼補(bǔ)丁解析):

1.狀態(tài)標(biāo)記:新增shutdown標(biāo)志

optee_supp結(jié)構(gòu)體中新增shutdown布爾值,用于標(biāo)記系統(tǒng)是否處于關(guān)機(jī)/重啟觸發(fā)的shutdown流程

structoptee_supp { // 原有成員... boolshutdown;// 新增:標(biāo)記是否處于shutdown流程};

2. shutdown流程中主動標(biāo)記狀態(tài)

在設(shè)備shutdown階段,主動設(shè)置shutdown標(biāo)志,并預(yù)留等待時間,確保資源釋放:

staticvoidoptee_shutdown(structplatform_device *pdev){ structoptee *optee = platform_get_drvdata(pdev); // 標(biāo)記shutdown狀態(tài),通知請求線程中斷RPC  smp_store_mb(optee->supp.shutdown,true); // 等待請求線程釋放資源  mdelay(200);  optee_disable_shm_cache(optee);}

3.基于狀態(tài)的RPC中斷判斷

修改RPC等待邏輯,區(qū)分深度休眠導(dǎo)致的freeze”系統(tǒng)shutdown導(dǎo)致的進(jìn)程退出

while(wait_for_completion_interruptible(&req->c)) { if(supp->shutdown) {   //若處于shutdown流程,判定為進(jìn)程退出,中斷RPC    interruptable = true;  }else{   //若為深度休眠,`tee-supplicant`只是被凍結(jié),繼續(xù)等待   continue;  }  // ...后續(xù)資源釋放邏輯}

五、流程圖:問題與解決的邏輯可視化

原問題流程:

wKgZPGkaiwOAPhBNAABTCAUU5r0192.png

解決后流程:

wKgZPGkaiwSAbTHhAAB4os0SAkY204.png

總結(jié)

TEE作為系統(tǒng)安全的核心組件,在深度休眠喚醒這類極端場景下的穩(wěn)定性至關(guān)重要。本次問題的解決,通過**“狀態(tài)感知替代超時判斷”**的思路,精準(zhǔn)區(qū)分了進(jìn)程凍結(jié)進(jìn)程退出兩種場景,既保障了深度休眠喚醒的兼容性,又不影響系統(tǒng)正常shutdown流程。

對于嵌入式與物聯(lián)網(wǎng)開發(fā)者而言,這類從現(xiàn)象到本質(zhì),從補(bǔ)丁到架構(gòu)的分析思路,也為解決類似底層兼容性問題提供了有益參考。

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

    關(guān)注

    5199

    文章

    20454

    瀏覽量

    334249
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7402

    瀏覽量

    129338
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    556

    瀏覽量

    7344
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    干貨分享 | TSMaster—LIN 喚醒休眠機(jī)制

    目錄Catalog1.網(wǎng)絡(luò)管理2.喚醒3.休眠1網(wǎng)絡(luò)管理在LIN2.1協(xié)議當(dāng)中網(wǎng)絡(luò)管理指的是網(wǎng)絡(luò)的休眠喚醒管理,圖1為LIN節(jié)點的通訊狀
    的頭像 發(fā)表于 09-25 08:03 ?4996次閱讀
    干貨分享 | TSMaster—LIN <b class='flag-5'>喚醒</b>與<b class='flag-5'>休眠</b>機(jī)制

    求助,關(guān)于PSoC6在CM0+中用于進(jìn)入休眠深度休眠的函數(shù)的問題

    : \" 執(zhí)行 WFI 指令時,CPU 進(jìn)入休眠深度休眠狀態(tài)(取決于 SCR 寄存器的 SLEEPDEEP 位),并在中斷請求(優(yōu)先級高于當(dāng)前優(yōu)先級)或調(diào)試請求時喚醒。 WFE 指令
    發(fā)表于 07-05 06:27

    RK3128 Android 7.1 進(jìn)入深度休眠流程分析

    4. 喚醒流程當(dāng)以下任一事件發(fā)生時,系統(tǒng)深度休眠喚醒: 電源鍵按下 RTC鬧鐘觸發(fā) 其他預(yù)設(shè)的喚醒
    發(fā)表于 07-22 10:45

    深度休眠狀態(tài)下外部所有的IO都可以喚醒MCU嗎?

    深度休眠狀態(tài)下,外部所有的IO都可以喚醒MCU嗎?
    發(fā)表于 12-04 06:00

    CC2541進(jìn)入PM3深度休眠的條件解析

    CC2541進(jìn)入PM3深度休眠的條件解析一、CC2541進(jìn)入PM3深度休眠的條件①osal_timeout = 0;②llTimeout =
    發(fā)表于 04-12 10:50

    請問,CC2530深度休眠時,能用串口接收喚醒嗎?深度休眠時串口還工作嗎?深度休眠后,串口需要重新設(shè)置嗎?

    本帖最后由 一只耳朵怪 于 2018-5-22 14:33 編輯 請問,CC2530深度休眠時,能用串口接收喚醒嗎?深度休眠時串口還工
    發(fā)表于 05-22 02:22

    CPU CY8C4247LQI定期喚醒深度睡眠模式怎么實現(xiàn)?

    你好,我想CPU CY8C4247LQI定期喚醒深度睡眠模式,我應(yīng)該遵循什么?或休眠模式喚醒
    發(fā)表于 09-20 08:03

    CH549設(shè)置進(jìn)入深度休眠模式后無法喚醒是什么問題呢?

    CH549設(shè)置進(jìn)入深度休眠模式后無法喚醒,重新上電不能正常運行,按住下載按鍵電腦也無法識別USB,無法進(jìn)行USB下載,也不能進(jìn)行串口下載,哪位大哥知道是什么問題嗎?謝謝!下面是控制進(jìn)入深度
    發(fā)表于 06-06 06:40

    LM3S系列單片機(jī)休眠深度休眠應(yīng)用筆記

    介紹 LM3S 系列單片機(jī)如何進(jìn)入休眠深度休眠模式,以及休眠后如何喚醒。
    發(fā)表于 11-07 13:57 ?35次下載

    SSI技術(shù)-概念到現(xiàn)實

    -概念到現(xiàn)實 SOC和NOC概念傳統(tǒng)的SoC現(xiàn)在很常見,現(xiàn)在用的手機(jī)CPU等都是采用這種方式,常見的架構(gòu)如下: 系統(tǒng)采用總線互連結(jié)構(gòu),多核間的通訊問題已經(jīng)成為制約系統(tǒng)性能提升的主要瓶頸。 NOC的
    的頭像 發(fā)表于 08-10 17:25 ?9784次閱讀
    SSI技術(shù)-<b class='flag-5'>從</b><b class='flag-5'>概念到</b>現(xiàn)實

    APM32F103C8T6_RCM_休眠喚醒后,燈概率性閃爍異常

    APM32F103C8T6_RCM_休眠喚醒后,燈概率性閃爍異常
    發(fā)表于 11-09 21:03 ?0次下載
    APM32F103C8T6_RCM_<b class='flag-5'>休眠</b><b class='flag-5'>喚醒</b>后,燈<b class='flag-5'>概率</b>性閃爍異常

    LIN休眠喚醒及測試心得

    這次我們的介紹主題是LIN休眠喚醒,一起看看標(biāo)準(zhǔn)和差異性,開發(fā)和測試的關(guān)系,實際的案例分享也來了。
    的頭像 發(fā)表于 11-23 08:43 ?2409次閱讀
    LIN<b class='flag-5'>休眠</b><b class='flag-5'>喚醒</b>及測試心得

    EMC技術(shù):基礎(chǔ)概念到應(yīng)用的解讀?

    EMC技術(shù):基礎(chǔ)概念到應(yīng)用的解讀?|深圳比創(chuàng)達(dá)電子
    的頭像 發(fā)表于 03-11 11:55 ?1705次閱讀
    EMC技術(shù):基礎(chǔ)<b class='flag-5'>概念到</b>應(yīng)用的解讀?

    以太網(wǎng)休眠喚醒利器OPEN Alliance TC10介紹

    TC10 為OPEN Alliance 中的一個技術(shù)委員會小組,專注于研究基于車載以太網(wǎng)的休眠喚醒機(jī)制,旨在為汽車應(yīng)用場景提供靈活的休眠喚醒解決方案
    的頭像 發(fā)表于 02-13 09:06 ?1282次閱讀
    以太網(wǎng)<b class='flag-5'>休眠</b><b class='flag-5'>喚醒</b>利器OPEN Alliance TC10介紹

    SiC+Si混碳融合逆變器 · 概念到系統(tǒng)方案落地的全景解析

    以下內(nèi)容發(fā)表在「SysPro電力電子技術(shù)」知識星球-關(guān)于SiC+Si多變量融合逆變器·概念到系統(tǒng)方案落地的全景解析-原創(chuàng)文章,僅用于SysPro內(nèi)部使用,非授權(quán)不得轉(zhuǎn)載-本篇節(jié)選,完
    的頭像 發(fā)表于 08-15 08:32 ?4035次閱讀
    SiC+Si混碳融合逆變器 · <b class='flag-5'>從</b><b class='flag-5'>概念到</b>系統(tǒng)<b class='flag-5'>方案</b>落地的全景<b class='flag-5'>解析</b>