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

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

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

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

如何處理RTOS系統(tǒng)中的時(shí)序問題

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Dr. Johan Kraft ? 2022-06-29 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

毫無疑問,當(dāng)您開始在開發(fā)中使用實(shí)時(shí)操作系統(tǒng) (RTOS) 時(shí),會(huì)有一條學(xué)習(xí)曲線。您將在更高的抽象級(jí)別上工作,使用或多或少的并行任務(wù)而不僅僅是子例程,并且您將需要考慮您的任務(wù)應(yīng)如何共享數(shù)據(jù)和處理器時(shí)間。您需要為這些任務(wù)分配運(yùn)行時(shí)優(yōu)先級(jí),最好的解決方案是什么并不是很明顯。最后但同樣重要的是,您需要學(xué)習(xí)如何使用 RTOS 本身,例如用于控制任務(wù)和在它們之間進(jìn)行通信的配置和 API 函數(shù)。

一旦你掌握了所有這些并且你正在編寫你的代碼,就到了下一個(gè)學(xué)習(xí)曲線的時(shí)候了——你現(xiàn)在也必須學(xué)習(xí)如何調(diào)試你的代碼。

調(diào)試 RTOS 系統(tǒng)(通常使用搶占式多任務(wù)處理)與調(diào)試您自己編寫所有代碼的單線程“超級(jí)循環(huán)”系統(tǒng)有幾個(gè)不同的原因,但我想說兩個(gè)主要原因是

由于多個(gè)任務(wù)交互并競(jìng)爭(zhēng)共享資源,軟件行為可能會(huì)受到軟件時(shí)序和 RTOS 調(diào)度行為的影響,而在源代碼中是不可見的。

您不再直接控制程序流程——任務(wù)切換可能隨時(shí)隨地發(fā)生。

這些問題真的沒有辦法解決。您將不得不處理它們,因?yàn)槟仨毿湃?a href="http://m.makelele.cn/v/tag/527/" target="_blank">操作系統(tǒng)來安排您的任務(wù)和管理計(jì)時(shí)器。一些任務(wù)切換可能是可預(yù)測(cè)的,因此是已知的,但通常您不知道它們會(huì)在程序流的哪個(gè)位置發(fā)生。隨著系統(tǒng)中任務(wù)/線程數(shù)量的增加,組合的數(shù)量也在增加——可能存在大量可能的執(zhí)行場(chǎng)景,具有不同的時(shí)間和執(zhí)行順序,其中大多數(shù)都可以正常工作。但是,您的一位客戶報(bào)告了“噩夢(mèng)錯(cuò)誤”,只有在條件合適時(shí)才會(huì)出現(xiàn),您無法重現(xiàn)。

下面的邊欄列出了一些典型癥狀,如果您有與 RTOS 相關(guān)的時(shí)序錯(cuò)誤,您可能會(huì)看到這些癥狀。請(qǐng)注意,其中許多問題通常具有一定程度的隨機(jī)性;問題有時(shí)會(huì)出現(xiàn),但并非總是如此。

依賴于時(shí)間的錯(cuò)誤很難重現(xiàn)或發(fā)現(xiàn),尤其是因?yàn)榇蠖鄶?shù)調(diào)試工具對(duì)多任務(wù)問題的支持很少。在我看來,大多數(shù)工具仍然專注于靜態(tài)停止系統(tǒng),而不是動(dòng)態(tài)軟件行為。相比之下,許多系統(tǒng)具有實(shí)時(shí)要求,并且無法停止調(diào)試。

RTOS 相關(guān)時(shí)序錯(cuò)誤的一些典型癥狀

任務(wù)可以單獨(dú)工作,但不能作為一個(gè)完整的系統(tǒng)

性能緩慢

系統(tǒng)鎖定,或有時(shí)停止響應(yīng)

系統(tǒng)看起來很脆弱——微小的變化會(huì)導(dǎo)致奇怪的錯(cuò)誤

輸出時(shí)序的隨機(jī)變化

有時(shí)數(shù)據(jù)損壞或輸出錯(cuò)誤

隨機(jī)崩潰/硬故障

除了尋找癥狀之外,您當(dāng)然應(yīng)該使用您擁有的任何工具以及它們提供的工具來檢查您的 RTOS 和應(yīng)用程序是否存在錯(cuò)誤和不當(dāng)行為。例如,您的 IDE 可能支持在調(diào)試期間輕松檢查 RTOS 對(duì)象(有時(shí)通過插件),甚至可以分析任務(wù)的堆棧使用情況。RTOS 可以讓您在較高級(jí)別測(cè)量 CPU 使用率,讓您了解每個(gè)任務(wù)平均需要多少 CPU 時(shí)間。一些調(diào)試器可以在系統(tǒng)執(zhí)行時(shí)實(shí)時(shí)呈現(xiàn)變量(“實(shí)時(shí)監(jiān)視”),盡管這可能不適合快速變化的變量。

如果您想查看應(yīng)用程序和 RTOS 內(nèi)部實(shí)際發(fā)生的事情的可靠時(shí)間線,您需要能夠在事件發(fā)生時(shí)記錄事情的 RTOS 感知跟蹤,以及可以幫助您理解跟蹤信息的工具。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    11288

    瀏覽量

    225254
  • RTOS
    +關(guān)注

    關(guān)注

    25

    文章

    866

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    請(qǐng)問沒有用到的I/0如何處理

    沒有用到的I/0如何處理?
    發(fā)表于 01-12 06:29

    如何在Zephyr RTOS實(shí)現(xiàn)延時(shí)和計(jì)時(shí)函數(shù)

    在實(shí)時(shí)操作系統(tǒng)RTOS,時(shí)間管理是核心功能之一。無論是任務(wù)調(diào)度、超時(shí)控制,還是周期性事件,延時(shí)和計(jì)時(shí)機(jī)制都扮演著至關(guān)重要的角色。Zephyr RTOS作為一個(gè)輕量級(jí)、模塊化的開源
    的頭像 發(fā)表于 12-26 10:32 ?5578次閱讀
    如何在Zephyr <b class='flag-5'>RTOS</b><b class='flag-5'>中</b>實(shí)現(xiàn)延時(shí)和計(jì)時(shí)函數(shù)

    RTOS在嵌入式開發(fā)的作用

    嵌入式系統(tǒng),有很多方式實(shí)現(xiàn)任務(wù)調(diào)度。功能有限的小系統(tǒng),無限循環(huán)足夠?qū)崿F(xiàn)系統(tǒng)功能。當(dāng)軟件設(shè)計(jì)變得龐大且復(fù)雜時(shí),設(shè)計(jì)師應(yīng)該考慮使用
    發(fā)表于 12-26 07:53

    使用RTOS時(shí)需要注意的幾點(diǎn)內(nèi)容分享

    處理器速度總是有幫助的,多內(nèi)核平臺(tái)也能改善響應(yīng)速度。對(duì)開發(fā)人員來說,竅門在于把系統(tǒng)需求與硬件和軟件匹配起來,然后才是RTOS在嵌入式應(yīng)用的重要性。 一個(gè)
    發(fā)表于 12-23 06:34

    選擇RTOS的要點(diǎn)

    的響應(yīng)要求。更快的處理器速度總是有幫助的,多內(nèi)核平臺(tái)也能改善響應(yīng)速度。對(duì)開發(fā)人員來說,竅門在于把系統(tǒng)需求與硬件和軟件匹配起來,然后才是RTOS在嵌入式應(yīng)用的重要性。 一個(gè)
    發(fā)表于 12-12 08:00

    如何在 RTOS 處理微控制器的低功耗特性

    基于 RTOS 的低功耗設(shè)計(jì)思路。 越來越多的嵌入式產(chǎn)品基于 RTOS 作為軟件平臺(tái), 有些產(chǎn)品對(duì)低功耗的要求也越來越高, 本文討論一下如何在 RTOS
    發(fā)表于 12-12 07:07

    RTOS Crash 問題全維度分析與解決指南

    的xQueueSendFromISR、RT-Thread的rt_sem_release); 阻塞邏輯移到任務(wù),中斷僅發(fā)送信號(hào)量/消息通知任務(wù)處理。 四、RTOS Crash預(yù)防規(guī)范 資源配置 : 任務(wù)
    發(fā)表于 12-08 03:56

    大語(yǔ)言模型如何處理上下文窗口中的輸入

    本博客介紹了五個(gè)基本概念,闡述了大語(yǔ)言模型如何處理上下文窗口中的輸入。通過明確的例子和實(shí)踐獲得的見解,本文介紹了多個(gè)與上下文窗口有關(guān)的基本概念,如詞元化、序列長(zhǎng)度和注意力等。
    的頭像 發(fā)表于 12-03 13:48 ?614次閱讀
    大語(yǔ)言模型如<b class='flag-5'>何處理</b>上下文窗口中的輸入

    Stduio使用wifi模塊出錯(cuò)如何處理?

    外設(shè)為潘多拉IOT開發(fā)板,使用Stduio配置了wifi框架,但是代碼里在配置wifi模式時(shí),沒有找到wlan0這個(gè)設(shè)備,wifi整個(gè)功能也用不了,請(qǐng)問應(yīng)該如何處理。使用正點(diǎn)原子資料包里的rtthread測(cè)試demo,wifi工作正常,wifi模塊硬件沒有問題。
    發(fā)表于 10-10 08:18

    在M480系列,GPIO配置為準(zhǔn)雙向模組時(shí),如何處理功耗過大?

    在M480系列,GPIO配置為準(zhǔn)雙向模組時(shí),用戶應(yīng)該如何處理功耗過大?
    發(fā)表于 08-28 08:05

    靜力水準(zhǔn)儀在測(cè)量過程遇到誤差如何處理?

    靜力水準(zhǔn)儀在測(cè)量過程遇到誤差如何處理?靜力水準(zhǔn)儀在工程沉降監(jiān)測(cè)中出現(xiàn)數(shù)據(jù)偏差時(shí),需采取系統(tǒng)處理措施。根據(jù)實(shí)際工況,誤差主要源于環(huán)境干擾、設(shè)備狀態(tài)、安裝缺陷及操作不當(dāng)四類因素,需針對(duì)
    的頭像 發(fā)表于 08-14 13:01 ?894次閱讀
    靜力水準(zhǔn)儀在測(cè)量過程<b class='flag-5'>中</b>遇到誤差如<b class='flag-5'>何處理</b>?

    固定式測(cè)斜儀在測(cè)量過程遇到誤差如何處理?

    在巖土工程與結(jié)構(gòu)物安全監(jiān)測(cè),固定式測(cè)斜儀是捕捉位移變化的核心設(shè)備。然而,實(shí)際應(yīng)用可能因環(huán)境、操作或設(shè)備因素導(dǎo)致測(cè)量誤差。很多人想要了解固定式測(cè)斜儀在測(cè)量過程遇到誤差如何處理?下面
    的頭像 發(fā)表于 06-13 12:10 ?683次閱讀
    固定式測(cè)斜儀在測(cè)量過程<b class='flag-5'>中</b>遇到誤差如<b class='flag-5'>何處理</b>?

    Pico示波器在電源時(shí)序測(cè)試的應(yīng)用

    在航天電子系統(tǒng)研發(fā),電源模塊時(shí)序一致性是保障設(shè)備穩(wěn)定運(yùn)行的核心指標(biāo)。
    的頭像 發(fā)表于 05-15 15:55 ?983次閱讀
    Pico示波器在電源<b class='flag-5'>時(shí)序</b>測(cè)試<b class='flag-5'>中</b>的應(yīng)用

    RTOS如何在FX3工作?

    大家好, 我正在使用 FX3 進(jìn)行一個(gè)項(xiàng)目。 我想知道 RTOS 調(diào)度是如何工作的。 我知道調(diào)用“CyU3PKernelEntry();”后 RTOS 就會(huì)開始工作。 如果我只注冊(cè)一個(gè)應(yīng)用程序線程。 我的線程什么時(shí)候執(zhí)行? 是否有其他
    發(fā)表于 05-06 13:20

    詳解RTOS的Hook函數(shù)

    Hook函數(shù)是RTOS的一個(gè)關(guān)鍵特性,通過該函數(shù),用戶可以增強(qiáng)對(duì)任務(wù)管理的控制,定義系統(tǒng)行為。
    的頭像 發(fā)表于 03-24 16:14 ?1102次閱讀