越來越多的智能設備正在進入我們生活的角角落落,包括您的電腦、智能電話、最新的蘋果iPad等。而設備中的嵌入式軟件還在不停地促使您的汽車、洗衣機和電網向著智能化的方向發(fā)展。事實上,在我們的生活中,已經越來越難找到不包含嵌入式軟件的大型電子設備了。
有誰會想到,為了去一趟雜貨店,我們的汽車需要多少電子控制單元(ECU)不停地運作?又有誰會想到,今天的汽車所能帶給我們的舒適享受已將過去我們認為煩惱、瑣碎的駕駛變成了一種美好的體驗。然而,隨著基于軟件的設備變得更加普遍和復雜,嵌入式工程師越來越面臨著簡化設備的設計和測試過程,實現設備缺陷可追溯性的巨大挑戰(zhàn)。
目前的嵌入式開發(fā)過程通常包括不同形式的設計仿真、驗證、確認和系統(tǒng)測試。在這些階段,設計和測試工具間很難過渡。這往往會造成需要將測試代碼、測試案例和仿真與I/O接口重新寫入到模型中。
此外,由于傳統(tǒng)設計工具也正變得越來越繁重,而模型和用例也日益復雜,我們很難將用于純仿真測試的多個模型聯(lián)結在一起。這些問題對企業(yè)在利潤、人員需求、文檔化及產品上市時間等方面提出了挑戰(zhàn)。
實時測試軟件的角色
對之前開發(fā)過程中用到的設計和測試工具、模型以及仿真數據進行復用,是目前嵌入式控制設備開發(fā)的一個趨勢。許多設計和測試工程師在整個開發(fā)過程中會積極地復用設計模型。然而,如果這些工程師在設計流程中也對測試進行復用,那么就能進一步實現更高的效率和質量(如圖1所示)。
圖1 實時測試軟件幫助實現模型和測試任務在整個嵌入式設計流程中的復用
為了滿足這一需求,一種新型軟件——實時測試軟件誕生了。該軟件能夠幫助工程師在整個嵌入式設計流程中復用測試任務,例如,激勵配置、測試序列、分析程序和需求跟蹤。所謂“實時”是指該軟件對嵌入式系統(tǒng)其余部分進行建模,從而具備在真實環(huán)境中,對測試設備進行測試固件的能力。
在設計流程的各個階段,從最初的產品定義一直到最終的系統(tǒng)測試,您可以通過使用相同的測試軟件組件來獲得更好的連續(xù)性。這對于診斷臨床故障而言尤為重要——由于特征采集和生產中的測試程序不同導致很難判斷故障原因的案例屢見不鮮。
例如,當開發(fā)嵌入式控制軟件時,激勵配置、分析程序以及其他模型在環(huán)(MIL)設計任務中使用到的組件將會被復用,以創(chuàng)建硬件在環(huán)(HIL)以及原型控制器的現場測試。
一旦這一階段完成,演進的軟件測試組件將是HIL、子系統(tǒng)和系統(tǒng)集成測試系統(tǒng)開發(fā)的起點。
最終,在設計階段制造商所使用的生產測試計劃與原先設計階段的測試計劃具有相同的“DNA”。同樣地,在ASIC設計中,計算機輔助工程(CAE)工具使用的測試臺和分析儀將應用于基于儀器的測試系統(tǒng)。最后,開發(fā)團隊將以同樣的方式來生產和檢查結果。