99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式軟件時序設計相關的問題

麥辣雞腿堡 ? 來源:嵌入式系統(tǒng) ? 作者:嵌入式系統(tǒng) ? 2023-12-07 16:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

軟件時序設計相關的問題時序問題是最容易出問題的地方,“時”代表時間順序和時效性,一旦執(zhí)行順序錯亂,或執(zhí)行過慢失去時效,就會導致錯誤。

消息的串行化處理

每個任務、線程,只能按順序的處理串行的消息,然而,其他線程發(fā)送過來的消息并不是串行發(fā)送的,不同線程都是并行、異步發(fā)送消息的,這會導致線程在沒有處理完一個消息,另一個消息又回來了。如何把外部的并發(fā)消息轉換成線程的串行處理呢?

每個任務、線程都應有一個消息隊列,外部線程向消息隊列中發(fā)送數(shù)據(jù),目標線程從消息隊列中讀取消息,這樣所有的消息被串行在消息隊列中,線程就會串行的處理每個消息,只有當一個消息處理完(函數(shù)調用返回)時,才會處理另一個消息。參考《嵌入式軟件的設計模式(上)》中的 第3.3節(jié) “隊列模式”。

超時或消息丟失引發(fā)的問題

一個任務、線程給另一個任務、線程發(fā)送消息,等待對方的應答,有時候對方忙,發(fā)送時隊列滿發(fā)送失敗,或者接收方?jīng)]有處理回復,等待一段時間后空閑了才處理該消息并應答時,但對于發(fā)送方已經(jīng)超時。發(fā)送方超時,就需要進入異常處理。這里容易出問題,它可能會引發(fā)一連串的異常處理反應,也有可能影響后續(xù)的正常消息的處理。

消息丟失是必須考慮情況,發(fā)送方不能假設接收方一定能夠收到消息,也不能假設接收方一定能夠及時的回應,必須充分考慮到消息因為傳輸?shù)膯栴}丟失或對方忙,沒有及時回應的情形。

消息丟失就容易產(chǎn)生理論上該執(zhí)行的動作沒有執(zhí)行,或者消息里面動態(tài)內存未釋放?;蛘呦⑻幚砺龑е聦ν庠O的控制延遲產(chǎn)生異常,曾經(jīng)出現(xiàn)共享單車鎖里面的馬達停止消息處理不及時導致車鎖無法再次上鎖。尤其處理通信時序要求嚴格,或外設控制要及時的場景需要注意。

性能本身問題

數(shù)據(jù)處理尤其是復雜算法耗時,導致消息處理不及時,最終對外設的控制或者通信交互時序狀態(tài)延遲,產(chǎn)生異常。這種只能優(yōu)化算法,或對時序部分單獨特殊處理,不考慮設計模式保執(zhí)行效率?;蛘咴u估階段就選擇性能資源更佳的硬件方案。

異常處理不充分問題

軟件設計一般是考慮正常流程,然而實際運行中,并非是理想狀態(tài),系統(tǒng)總會遇到各種異常,健壯的系統(tǒng),能夠充分考慮到各種異常情況,一旦異常發(fā)生,程序也不會輕易崩潰。

超時:增加超時定時器事件以及事件處理,不能假設對方一定應答消息。

空指針:不能假設一定能夠申請到內存,要考慮到返回為NULL的情形,通過指針訪問內存對象時需要及時的檢查指針是否為空。

并發(fā)訪問:在并發(fā)執(zhí)行的系統(tǒng)中,如果要訪問全局變量,不能假設只有一個線程訪問全局變量,需要通過鎖對全局共享資源進行加鎖,特別是要訪問全局的數(shù)據(jù)結構。

消息隊列:不能假設消息隊列始終有效,要考慮消息隊列滿或空的情形。

設計:在軟件設計時就考慮軟件的異常處理機制,功能層面就支持異常記錄、售后調試的需求,而不是把這個工作留給編程人員。

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

    關注

    0

    文章

    627

    瀏覽量

    29171
  • 嵌入式軟件
    +關注

    關注

    4

    文章

    245

    瀏覽量

    27329
  • 時序
    +關注

    關注

    5

    文章

    397

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式軟件相關資料分享

    嵌入式軟件軟件通常指運行在嵌入式系統(tǒng)內的軟件,如車載控制器中的軟件
    發(fā)表于 12-24 06:00

    什么是嵌入式軟件開發(fā)

    嵌入式軟件開發(fā)又是指什么?   隨著嵌入式軟件系統(tǒng)結構越來越復雜,嵌入式軟件的開發(fā)已成
    發(fā)表于 04-20 08:43 ?8978次閱讀

    ARM嵌入式軟件開發(fā)

    ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)
    發(fā)表于 01-15 17:29 ?65次下載

    嵌入式軟件技術應用設計方案匯總  

    程序及其文檔組成,可細分成系統(tǒng)軟件、支撐軟件、應用軟件三類,是嵌入式系統(tǒng)的重要組成部分。本文為大家介紹嵌入式
    發(fā)表于 10-16 16:44 ?4次下載

    嵌入式軟件時序異常檢測

    時序特性是嵌入式軟件的重要特性,實時嵌入式軟件運行的正確性不僅依賴于任務執(zhí)行結果,更依賴于任務執(zhí)行時間,執(zhí)行任務往往具有多個時間約束,且相互
    發(fā)表于 01-27 11:02 ?0次下載

    基于執(zhí)行片段的嵌入式軟件時序特性檢測方法

    時序特性是嵌入式軟件的重要特性,實時嵌入式軟件運行的正確性不僅依賴于任務執(zhí)行結果,更依賴于任務執(zhí)行時間,執(zhí)行任務往往具有多個時間約束,且相互
    發(fā)表于 01-31 10:24 ?0次下載

    嵌入式軟件是什么意思_嵌入式軟件的分類有哪些

    本文首先闡述了嵌入式軟件的概念,其次介紹了嵌入式軟件的特征,最后介紹了嵌入式軟件的分類。
    發(fā)表于 08-31 15:54 ?1.7w次閱讀

    嵌入式軟件的開發(fā)流程_嵌入式軟件的調試

    本文首先介紹了嵌入式軟件的發(fā)展,其次闡述了嵌入式軟件的開發(fā)流程,最后介紹了嵌入式軟件的調試。
    發(fā)表于 08-31 16:02 ?6540次閱讀

    嵌入式軟件測試參考書籍

    嵌入式軟件測試的幾本參考書籍:1、《嵌入式軟件測試》;2、《嵌入式軟件測試 方法、案例與模板詳解
    發(fā)表于 10-20 12:06 ?51次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>測試參考書籍

    嵌入式系統(tǒng)的軟件組成

    嵌入式系統(tǒng)軟件的重要組成部分1.1:嵌入式軟件的特點嵌入式軟件除了具有計算機
    發(fā)表于 10-20 12:36 ?4次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的<b class='flag-5'>軟件</b>組成

    嵌入式軟件測試研究意義,嵌入式軟件測試的研究

    摘要:嵌入式系統(tǒng)在人類生活中發(fā)揮著重要的作用,包括飛行控制器這樣的控制系統(tǒng),以及洗衣機這樣的家用電器。日前,嵌入式系統(tǒng)中軟件的比重越來越大,也越來越復雜,保證嵌入式
    發(fā)表于 10-20 17:20 ?17次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>測試研究意義,<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>測試的研究

    嵌入式軟件概述及相關測試特點

    概述:什么是嵌入式軟件?與傳統(tǒng)軟件不同,嵌入式軟件需要將軟件分析、設計、編碼后燒錄至硬件環(huán)境中才
    發(fā)表于 10-21 11:36 ?13次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>概述及<b class='flag-5'>相關</b>測試特點

    嵌入式軟件開發(fā)環(huán)境

    嵌入式軟件開發(fā)環(huán)境1 簡介嵌入式軟件定義嵌入式系統(tǒng)構成2 環(huán)境搭建2.1 Qt2.2 CLion2.3 Source Insight + v
    發(fā)表于 10-21 12:21 ?7次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)環(huán)境

    嵌入式軟件開發(fā)的特點、設計流程、嵌入式軟件的結構

    ? ? ? ?嵌入式軟件開發(fā)的特點、設計流程、嵌入式軟件的結構?一:嵌入式軟件開發(fā)的特點1.?
    發(fā)表于 11-03 15:21 ?38次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)的特點、設計流程、<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的結構

    談談汽車嵌入式軟件

    嵌入式軟件就是嵌入在硬件中的操作系統(tǒng)和開發(fā)工具軟件,它在產(chǎn)業(yè)中的關聯(lián)關系體現(xiàn)為:芯片設計制造→嵌入式系統(tǒng)
    發(fā)表于 10-27 10:28 ?1268次閱讀