在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

嵌入式軟件時(shí)序設(shè)計(jì)相關(guān)的問題

麥辣雞腿堡 ? 來源:嵌入式系統(tǒng) ? 作者:嵌入式系統(tǒng) ? 2023-12-07 16:31 ? 次閱讀

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

消息的串行化處理

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

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

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

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

消息丟失是必須考慮情況,發(fā)送方不能假設(shè)接收方一定能夠收到消息,也不能假設(shè)接收方一定能夠及時(shí)的回應(yīng),必須充分考慮到消息因?yàn)閭鬏數(shù)膯栴}丟失或?qū)Ψ矫?,沒有及時(shí)回應(yīng)的情形。

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

性能本身問題

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

異常處理不充分問題

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

超時(shí):增加超時(shí)定時(shí)器事件以及事件處理,不能假設(shè)對方一定應(yīng)答消息。

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

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

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

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

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

    關(guān)注

    0

    文章

    626

    瀏覽量

    29056
  • 嵌入式軟件
    +關(guān)注

    關(guān)注

    4

    文章

    245

    瀏覽量

    27199
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    397

    瀏覽量

    37805
收藏 人收藏

    評論

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

    嵌入式軟件相關(guān)資料分享

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

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

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

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

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

    嵌入式軟件技術(shù)應(yīng)用設(shè)計(jì)方案匯總  

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

    嵌入式軟件時(shí)序異常檢測

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

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

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

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

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

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

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

    嵌入式軟件測試參考書籍

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

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

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

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

    摘要:嵌入式系統(tǒng)在人類生活中發(fā)揮著重要的作用,包括飛行控制器這樣的控制系統(tǒng),以及洗衣機(jī)這樣的家用電器。日前,嵌入式系統(tǒng)中軟件的比重越來越大,也越來越復(fù)雜,保證嵌入式
    發(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>測試的研究

    嵌入式軟件概述及相關(guān)測試特點(diǎn)

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

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

    嵌入式軟件開發(fā)環(huán)境1 簡介嵌入式軟件定義嵌入式系統(tǒng)構(gòu)成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ā)的特點(diǎn)、設(shè)計(jì)流程、嵌入式軟件的結(jié)構(gòu)

    ? ? ? ?嵌入式軟件開發(fā)的特點(diǎn)、設(shè)計(jì)流程、嵌入式軟件的結(jié)構(gòu)?一:嵌入式軟件開發(fā)的特點(diǎn)1.?
    發(fā)表于 11-03 15:21 ?38次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)的特點(diǎn)、設(shè)計(jì)流程、<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的結(jié)構(gòu)

    談?wù)勂?b class='flag-5'>嵌入式軟件

    嵌入式軟件就是嵌入在硬件中的操作系統(tǒng)和開發(fā)工具軟件,它在產(chǎn)業(yè)中的關(guān)聯(lián)關(guān)系體現(xiàn)為:芯片設(shè)計(jì)制造→嵌入式系統(tǒng)
    發(fā)表于 10-27 10:28 ?1249次閱讀
    主站蜘蛛池模板: 女人大毛片一级毛片一 | 婷婷九月| 免费一级特黄特色大片在线 | 久久精品国产2020观看福利色 | 一级毛片日韩 | 国产亚洲一区二区在线观看 | 亚洲国内精品久久 | 新激情五月 | 色综合五月婷婷 | 免费国产黄网站在线观看视频 | 国产一区二区三区免费大片天美 | 黄色三级视频在线观看 | 人人草人人 | 日本一区二区精品88 | 轻点灬大ji巴太粗太长了h | 特黄特黄特色大片免费观看 | 男人搡女人视频免费看 | sss欧美一区二区三区 | 欧美另类图片亚洲偷 | 婷婷中文字幕 | 午夜视频在线播放 | 欧美色人阁 | 天天干天天射天天操 | 天天干天天在线 | 49pao强力在线高清基地 | 亚洲人成网i8禁止 | 欧美三级日韩三级 | 亚洲香蕉毛片久久网站老妇人 | 韩国一区二区三区视频 | 91在线操 | 成成人看片在线 | 欧美一区二区三区视频在线观看 | 国产日韩欧美一区二区 | 午夜精品久久久久久久2023 | 狠色网 | 日本一区二区三区视频在线观看 | 色老头网站久久网 | 国产午夜a理论毛片在线影院 | 玖玖激情 | www.五月婷婷 | 综合欧美一区二区三区 |