協(xié)同、實(shí)時(shí)和測(cè)試影響嵌入式應(yīng)用



鄭棋、蔡建平



  嵌入式系統(tǒng)是硬件與軟件結(jié)合而構(gòu)成的一個(gè)專門的計(jì)算裝置,完成特定的功能或任務(wù)。它是一個(gè)大系統(tǒng)或重大電子設(shè)備中的一部分,工作在一個(gè)與外界發(fā)生交互并受到時(shí)間約束的環(huán)境中,在沒有人干預(yù)的情況下進(jìn)行實(shí)時(shí)控制。


  目前,嵌入式技術(shù)在嵌入式應(yīng)用中占主導(dǎo)地位,主要涉及三種技術(shù):


  嵌入式系統(tǒng)設(shè)計(jì)即軟件與硬件相協(xié)同驗(yàn)證技術(shù);


  與基于UML的實(shí)時(shí)軟件、實(shí)時(shí)操作系統(tǒng)應(yīng)用開發(fā)等密切相關(guān)的嵌入式軟件開發(fā)技術(shù);


  目前嵌入式應(yīng)用亟待解決的嵌入式軟件測(cè)試技術(shù)。


  上述工具的靈活應(yīng)用為嵌入式軟件開發(fā)提供了完整的解決方案。但我國(guó)目前嵌入式應(yīng)用的基礎(chǔ)和水平還達(dá)不到這個(gè)要求,國(guó)內(nèi)自主研發(fā)的產(chǎn)品還很少,甚至還是空白。因此,無論是對(duì)嵌入式軟件開發(fā)人員,還是對(duì)國(guó)內(nèi)廠商來說,任重道遠(yuǎn)。


  系統(tǒng)設(shè)計(jì):應(yīng)用要靈活


  嵌入式系統(tǒng)的主要工作模式是響應(yīng)外部事件。它在軟件控制下通過硬件來高速地獲取數(shù)據(jù),并進(jìn)行處理,而后產(chǎn)生響應(yīng)動(dòng)作。而實(shí)時(shí)特征是嵌入式系統(tǒng)的主要特征,并根據(jù)截止時(shí)間的要求,可將實(shí)時(shí)分為硬實(shí)時(shí)和軟實(shí)時(shí)。


  硬件/軟件協(xié)同技術(shù) 嵌入式系統(tǒng)的設(shè)計(jì)與當(dāng)前的硬件所能提供的支持及軟件技術(shù)的發(fā)展緊密相連。應(yīng)用先進(jìn)的硬件設(shè)計(jì)和開發(fā)技術(shù),我們可以獲得所需的性能。另外,軟件的設(shè)計(jì)離不開硬件的支持,高性能、多功能的硬件允許我們?cè)谲浖_發(fā)和設(shè)計(jì)上采用好的方法,應(yīng)用好的語言,使用好的工具。


  實(shí)時(shí)理論概念 嵌入式系統(tǒng)的軟件設(shè)計(jì)與一般的軟件設(shè)計(jì)有很大的不同,它涉及到更多的計(jì)算機(jī)理論和基于這些理論的算法以及有關(guān)的模型技術(shù)。實(shí)時(shí)設(shè)計(jì)在概念上除了通常的軟件設(shè)計(jì)概念外,有限狀態(tài)機(jī)、并發(fā)任務(wù)等概念對(duì)于實(shí)時(shí)嵌入式系統(tǒng)的設(shè)計(jì)相當(dāng)重要。


  實(shí)時(shí)設(shè)計(jì)表示 實(shí)時(shí)嵌入式應(yīng)用的多樣性,是指實(shí)時(shí)嵌入式應(yīng)用的不同,所涉及到的問題也不同,所采用的設(shè)計(jì)方法和設(shè)計(jì)手段也不同,但從設(shè)計(jì)角度來決定實(shí)時(shí)設(shè)計(jì)中仍要涉及一些具體問題。


  實(shí)時(shí)構(gòu)件 通過構(gòu)件組裝軟件這種方式,可以大大提高軟件的開發(fā)效率,保證軟件的質(zhì)量。特別是對(duì)于實(shí)時(shí)嵌入式軟件,涉及到大量的和時(shí)間相關(guān)的算法,如果將它們模塊化或構(gòu)件化,并按照特定的模式/定式和框架在軟件開發(fā)中重用它們,其意義不言而喻。另外,基于構(gòu)件進(jìn)行軟件開發(fā),還有利于軟件開發(fā)的自動(dòng)化。


  設(shè)計(jì)定式和框架 兩者都是通過收集成功的軟件開發(fā)策略來推動(dòng)重用,其主要差別表現(xiàn)為框架的重點(diǎn)是在具體的設(shè)計(jì)、算法及應(yīng)用特定編程語言進(jìn)行實(shí)現(xiàn)的重用上,而定式的重點(diǎn)則是放在抽象設(shè)計(jì)和軟件小型結(jié)構(gòu)的重用上。顯然,應(yīng)用設(shè)計(jì)定式和框架技術(shù),能夠改進(jìn)軟件質(zhì)量,縮短軟件開發(fā)時(shí)間,也有利于軟件開發(fā)的自動(dòng)化。


  軟件開發(fā):實(shí)時(shí)是關(guān)鍵


  嵌入式應(yīng)用軟件典型的開發(fā)方式是“宿主機(jī)/目標(biāo)機(jī)”方式,首先利用宿主機(jī)上豐富的資源、良好的開發(fā)環(huán)境開發(fā)和仿真調(diào)試目標(biāo)機(jī)上的軟件,然后通過串口、網(wǎng)絡(luò)或其它接口將交叉編譯生成的目標(biāo)代碼傳輸并裝載到目標(biāo)機(jī)上,并用交叉調(diào)試器在監(jiān)控程序或?qū)崟r(shí)操作系統(tǒng)的支持下進(jìn)行運(yùn)行調(diào)試。最后,目標(biāo)機(jī)在特定的環(huán)境下運(yùn)行。


  實(shí)時(shí)編程及最小編程環(huán)境 運(yùn)用軟件設(shè)計(jì)方法進(jìn)行實(shí)時(shí)嵌入式軟件的設(shè)計(jì),應(yīng)用編程語言完成實(shí)時(shí)嵌入式軟件的實(shí)現(xiàn)。而應(yīng)用高級(jí)語言或?qū)崟r(shí)編程語言開發(fā)實(shí)時(shí)嵌入式軟件,最基本的要求是要有一個(gè)最小編程環(huán)境,如交叉編譯、交叉調(diào)試器、宿主機(jī)和目標(biāo)機(jī)間的通信工具、目標(biāo)代碼裝載工具、目標(biāo)機(jī)內(nèi)駐監(jiān)控程序或?qū)崟r(shí)操作系統(tǒng)等。


  實(shí)時(shí)操作系統(tǒng) 實(shí)時(shí)操作系統(tǒng)是指能進(jìn)行實(shí)時(shí)處理的操作系統(tǒng),它分為兩類:一類是專為實(shí)時(shí)應(yīng)用設(shè)計(jì)的專用操作系統(tǒng),其核心是實(shí)時(shí)內(nèi)核;另一類則是在通用操作系統(tǒng)的基礎(chǔ)上增加實(shí)時(shí)功能,如實(shí)時(shí)Linux、實(shí)時(shí)UNIX等,其擴(kuò)展部分是實(shí)時(shí)執(zhí)行程序。


  實(shí)時(shí)數(shù)據(jù)庫(kù) 在實(shí)時(shí)數(shù)據(jù)庫(kù)中,除了通常對(duì)邏輯要求一致以外,還有事務(wù)處理完成時(shí)間的約束及數(shù)據(jù)訪問和更新時(shí)間的約束等。為了滿足時(shí)間約束和結(jié)果可確定的基本需求,開發(fā)者不僅要對(duì)通常的調(diào)度方法和事物管理進(jìn)行重新設(shè)計(jì),而且還要提出在通常數(shù)據(jù)庫(kù)系統(tǒng)中沒有考慮到或者在實(shí)時(shí)系統(tǒng)中要增加的新概念,以及對(duì)應(yīng)的新技術(shù)。


  實(shí)時(shí)中間件 提高軟件生產(chǎn)率和軟件質(zhì)量的需求激發(fā)了人們使用中間件的愿望。中間件位于應(yīng)用和底層之間。它能夠使系統(tǒng)設(shè)計(jì)人員從部件位置、編程語言、OS平臺(tái)通信協(xié)議和互連以及硬件依賴中解放出來,從而大大地簡(jiǎn)化了軟件的開發(fā)。


  目前,分布式實(shí)時(shí)系統(tǒng)開發(fā)趨勢(shì)是:編程采用可重用部件,對(duì)整個(gè)分布式應(yīng)用部件采用遠(yuǎn)程方法調(diào)用,并在異構(gòu)環(huán)境下盡量定義標(biāo)準(zhǔn)的軟件底層基礎(chǔ),在系統(tǒng)中確保QoS的需求。


  軟件測(cè)試:把好開發(fā)關(guān)


  軟件測(cè)試在整個(gè)軟件開發(fā)過程中處于非常重要的地位,其測(cè)試費(fèi)用占項(xiàng)目總費(fèi)用的25%以上,對(duì)于嵌入式軟件則花費(fèi)更大。嵌入式應(yīng)用軟件的測(cè)試同人們通常使用的傳統(tǒng)的軟件測(cè)試相比有較大的差別,除了要考慮和運(yùn)用傳統(tǒng)的測(cè)試技術(shù)外,還要考慮與時(shí)間和硬件密切相關(guān)的測(cè)試技術(shù)運(yùn)用,如:對(duì)外部事件響應(yīng)的測(cè)試問題。


  軟件分析技術(shù) 實(shí)時(shí)嵌入式系統(tǒng)最大的特點(diǎn)是具有一組動(dòng)態(tài)屬性,即中斷處理和上下文切換、響應(yīng)時(shí)間、數(shù)據(jù)傳輸率和吞吐量、資源分配和優(yōu)先級(jí)處理、任務(wù)同步和任務(wù)通信等。所有這些性能屬性可以很容易地說清楚,但要測(cè)試或驗(yàn)證它們(特別是時(shí)間確認(rèn))是很困難的。因此,對(duì)實(shí)時(shí)嵌入式系統(tǒng)進(jìn)行分析需要建模和仿真,以及對(duì)數(shù)學(xué)工具的支持。


  軟件測(cè)試技術(shù) 測(cè)試技術(shù),指的是軟件測(cè)試的專門途徑,以及提供能夠更加有效地運(yùn)用這些途徑的特定技術(shù)。這些技術(shù)可分別用在軟件開發(fā)過程中的不同階段,如:開發(fā)方的內(nèi)部測(cè)試、第三方的驗(yàn)證和確認(rèn)測(cè)試和維護(hù)中的修改和升級(jí)測(cè)試等。


  測(cè)試策略主要針對(duì)軟件測(cè)試?yán)锏闹T多問題而言。對(duì)于測(cè)試,首先要建立一個(gè)好且實(shí)用的測(cè)試文檔標(biāo)準(zhǔn)和開發(fā)方及測(cè)試方的協(xié)作關(guān)系,然后明確測(cè)試需求和目的及測(cè)試過程,制訂測(cè)試計(jì)劃,最后進(jìn)行測(cè)試的開發(fā)、實(shí)施、分析和報(bào)告。


  軟件調(diào)試技術(shù) 軟件調(diào)試是在軟件測(cè)試之后進(jìn)行,用以定位和排除錯(cuò)誤。對(duì)于嵌入式應(yīng)用,無論是測(cè)試還是調(diào)試,有效的方法仍是借助硬件仿真的手段輔助軟件來進(jìn)行測(cè)試和調(diào)試。


  仿真器一般是由硬件和軟件構(gòu)成。硬件提供低級(jí)的監(jiān)控、控制和保護(hù)功能,而在仿真器里的軟件提供狀態(tài)和控制功能以及與宿主機(jī)的通信。人們通過調(diào)試器用戶接口同仿真器的硬件和軟件打交道來控制和監(jiān)督微處理器的工作,從而定位或發(fā)現(xiàn)軟件的錯(cuò)誤。


  實(shí)際上,仿真器既可用來發(fā)現(xiàn)軟件錯(cuò)誤,也可用來查找硬件錯(cuò)誤。這就是仿真器和調(diào)試器的主要區(qū)別。


  
摘自《中國(guó)計(jì)算機(jī)報(bào)》
   

微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息