www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]嵌入式軟件(如航空電子和汽車系統(tǒng))的設(shè)計、開發(fā)、測試和驗證正變得越來越復(fù)雜。

嵌入式軟件的開發(fā)是一項相對于傳統(tǒng)軟件開發(fā)而言更為復(fù)雜的任務(wù)。嵌入式軟件的特點是需要在硬件環(huán)境下運行,并且往往需要考慮實時性、穩(wěn)定性和安全性等多方面的因素。因此,嵌入式軟件開發(fā)的流程和技巧也有其獨特性。

嵌入式軟件(如航空電子和汽車系統(tǒng))的設(shè)計、開發(fā)、測試和驗證正變得越來越復(fù)雜。傳統(tǒng)的文檔驅(qū)動式環(huán)境中,一旦開發(fā)人員之間缺乏協(xié)調(diào),軟件程序生命周期的質(zhì)量和成本就會受到嚴(yán)重影響,顯然已經(jīng)無法應(yīng)對日益復(fù)雜的嵌入式軟件生產(chǎn)。

正確使用基于模型的設(shè)計(Model-Based Design,以下簡稱MBD)方法可以有效規(guī)避此類問題:通過MBD提供的統(tǒng)一設(shè)計環(huán)境,開發(fā)人員可在軟件的整個生命周期中使用同一套模型來進(jìn)行需求驗證、數(shù)據(jù)分析、模型可視化、測試和驗證,并進(jìn)行最終的產(chǎn)品部署(無論是否有自動代碼生成)。

1.MBD是什么?

MBD是一種圍繞嵌入式軟件虛擬原型搭建展開的項目開發(fā)方法,其技術(shù)發(fā)展是為了克服應(yīng)用于閉環(huán)控制系統(tǒng)(Closed-loop Control System)或DSP(Digital Signal Processing,數(shù)字信號處理)的嵌入式軟件設(shè)計中常見的困難和復(fù)雜問題。

在大多數(shù)實際場景中,此類嵌入式軟件的設(shè)計與測試需要在物理原型和系統(tǒng)可用之前就開始。由于整個項目開發(fā)過程往往需要多個團(tuán)隊的廣泛參與,如果直至后期才發(fā)現(xiàn)設(shè)計和需求的錯誤,就會導(dǎo)致項目周期整體延遲、成本大大增加——使用MBD就是為了在項目早期階段解決這些問題,以減少后期返工。

MBD還與仿真、圖形化的生產(chǎn)能力模型相關(guān)聯(lián),能夠?qū)浖_發(fā)所涉及的每個階段加強(qiáng)驗證與確認(rèn)過程。對嵌入式CPU(Central Processing Unit,中央處理器)或DSP上的代碼進(jìn)行驗證是一個關(guān)鍵步驟,不僅能夠檢測算法設(shè)計轉(zhuǎn)換至C代碼過程中的缺陷,還能針對代碼編譯、二進(jìn)制代碼優(yōu)化以及CPU/DSP體系結(jié)構(gòu)的限制等問題采取先發(fā)制人的措施。

▲基于模型的設(shè)計(MBD)概述

2.基于模型的開發(fā)和測試

在使用MBD方法時,設(shè)計團(tuán)隊往往通過開發(fā)模型來分析和制定高層次的需求以及更為細(xì)致的底層需求。此類模型可具備解決方案的主要架構(gòu),但通常獨立于嵌入式目標(biāo)平臺。模型所實現(xiàn)的主要需求能夠在仿真過程中以精確的方式得到證明,并能說明可演繹的頂層需求,通常被指定為可執(zhí)行的規(guī)范。

應(yīng)用MBD的設(shè)計和測試團(tuán)隊之間共享模型組件和相關(guān)工作,有助于進(jìn)一步確認(rèn)嵌入式軟件代碼是否符合硬件的具體要求,并在較短時間內(nèi)對代碼進(jìn)行更為集中的測試和Bug修正。

MBD的驗證、確認(rèn)、測試模型和軟件的測試機(jī)制(任務(wù))通常被分為下列四項:

模型在環(huán)(Model-in-Loop,MIL):驗證算法模型是否滿足功能需求;

軟件在環(huán)(Software-in-Loop,SIL):驗證【模型】與【模型代碼實現(xiàn)】之間的一致性;

處理器在環(huán)(Processor-in-Loop,PIL):驗證【模型】與【模型代碼實現(xiàn)在目標(biāo)處理器上運行】之間的一致性;

硬件在環(huán)(Hardware-in-Loop,HIL):在實際系統(tǒng)上驗證代碼與需求功能之間的一致性。

1. MIL - 模型在環(huán)測試

從集成層面來看,基于系統(tǒng)本身的模型尤為重要。在MIL層面測試嵌入式系統(tǒng)設(shè)計意味著模型及其環(huán)境在建??蚣苤羞M(jìn)行仿真模擬,無需任何物理硬件組件的介入。這使得在開發(fā)周期的初始階段進(jìn)行測試成為可能,并能驗證開發(fā)早期階段的需求。代碼驗證的基準(zhǔn)主要在于通過模擬收集到的信息。

▲ MIL測試

2. SIL - 軟件在環(huán)測試

SIL層面,模型會根據(jù)嵌入式平臺的最終目標(biāo)進(jìn)行進(jìn)一步調(diào)整??刂破髂P鸵话闶褂肅或C++編寫(可以是自動生成的代碼),插入到仿真環(huán)境中與仿真的被控對象一起評估。

這種驗證方式對于驗證由自動生成代碼和手寫代碼(代碼需要集成并在嵌入式目標(biāo)平臺上執(zhí)行)組成的軟件組件尤其有用。SIL測試通常會重復(fù)使用MIL測試中的數(shù)據(jù)和模型結(jié)構(gòu),以檢查仿真中的代碼行為是否正確。通常,嵌入式軟件和仿真環(huán)境模型在同一臺機(jī)器上運行。

▲ SIL測試

3. PIL - 處理器在環(huán)測試

PIL與MIL、SIL的不同之處在于其代碼在目標(biāo)微控制器或DSP上執(zhí)行:將已編譯的目標(biāo)代碼加載到目標(biāo)處理器或DSP上,然后在被控對象模型上運行模擬以進(jìn)行驗證。PIL可執(zhí)行大量V&V測試套件,以評估嵌入式CPU/DSP運行控制器算法的能力。如果SIL和PIL結(jié)果之間存在差異,可對PIL目標(biāo)代碼針對定點精度、內(nèi)存占用或編譯器優(yōu)化標(biāo)志等部分進(jìn)行微調(diào)。

▲PIL測試

PIL可以彌補(bǔ)仿真軟件中執(zhí)行的控制器模型設(shè)計和在目標(biāo)機(jī)上執(zhí)行的實際控制器代碼之間的差距,不僅能夠識別出可能源自編譯器的錯誤,還支持調(diào)試算法功能和評估嵌入式微控制器或DSP的性能,并可提供軟件系統(tǒng)的重要測量數(shù)據(jù),如內(nèi)存使用和執(zhí)行時間。這些數(shù)據(jù)可用來在仿真環(huán)境中微調(diào)控制器功能,并應(yīng)用于嵌入式硬件設(shè)計的早期階段。

▲PIL實際應(yīng)用

4. HIL - 硬件在環(huán)測試

PIL測試結(jié)束后的下一步動作,通常會使用實際系統(tǒng)(或?qū)嶒炇以?或運行被控對象模型的實時模擬器來替換被控對象模型。例如,如果工程師正在設(shè)計直流電機(jī)速度控制器,那么控制器代碼將部署在微控制器或DSP板上,然后通過IO(輸入輸出)接口連接到真正的直流電動機(jī)。

由于HIL測試允許在實時環(huán)境中以可管理的方式調(diào)試和評估功能測試/運行測試,因此實現(xiàn)可靠的HIL測試通常需要用到大量的自動化測試、日志以及硬件的接口組件。相對而言,PIL的設(shè)置相對容易,需要的硬件和軟件資源也會更少。

▲ HIL測試

四個測試手段的對比如下:

詳解四種基于模型的嵌入式軟件開發(fā)、測試與驗證方法

SkyEye,中文全稱天目全數(shù)字實時仿真軟件,是基于可視化建模的硬件行為級仿真平臺,支持用戶通過拖拽的方式對硬件進(jìn)行行為級別的仿真和建模。SkyEye采用“面向?qū)ο蟆钡脑O(shè)計思想,將虛擬目標(biāo)系統(tǒng)上的所有組件都設(shè)計為獨立的模塊,支持通過手動修改和界面圖形拖拽的方式快速生成虛擬目標(biāo)系統(tǒng)的“硬件配置文件”,從而快速構(gòu)建虛擬目標(biāo)系統(tǒng),達(dá)到加載和運行二進(jìn)制目標(biāo)程序并進(jìn)行仿真測試的目的。

SkyEye目前支持仿真的處理器架構(gòu)有:ARM、DSP、POWERPC、SPARC、X86、MIPS、MCS-51、TriCore等,可支持SIL和PIL仿真測試,對嵌入式實時軟件開發(fā)極具價值。

總之,嵌入式軟件的開發(fā)流程和技巧需要我們在實踐中不斷探索和總結(jié)。只有不斷地提高開發(fā)效率和軟件的質(zhì)量,才能滿足客戶的需求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

瑞典烏普薩拉,2025年6月24日 — 全球嵌入式系統(tǒng)軟件解決方案領(lǐng)導(dǎo)者IAR正式發(fā)布適用于瑞薩RX和RL78系列微控制器的新版本開發(fā)工具鏈:Renesas RX v5.20和RL78 v5.20。此次更新進(jìn)一步鞏固了I...

關(guān)鍵字: MCU 嵌入式軟件 工具鏈

為增進(jìn)大家對嵌入式軟件的認(rèn)識,本文將對嵌入式軟件的發(fā)展以及分析嵌入式軟件問題的方法予以介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式軟件

為增進(jìn)大家對嵌入式軟件的認(rèn)識,本文將對嵌入式軟件的開發(fā)流程予以詳細(xì)介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式軟件

為增進(jìn)大家對嵌入式軟件的認(rèn)識,本文將對嵌入式軟件的特征、嵌入式軟件的分類以及嵌入式軟件Vector予以介紹。

關(guān)鍵字: Vector 指數(shù) 嵌入式軟件

近年來 ,基于模型的定義(Mode1-Based Definition ,MBD)技術(shù)在設(shè)計環(huán)節(jié)得到普遍應(yīng)用 , 為應(yīng)用基于MBD的三維工藝提供了肥沃土壤。鑒于此 ,探討研究了基于MBD的三維工藝在生產(chǎn)線中應(yīng)用的要點...

關(guān)鍵字: MBD 三維工藝 生產(chǎn)線 可視化

在嵌入式系統(tǒng)開發(fā)中,硬件資源的限制和測試環(huán)境的搭建常常成為開發(fā)者面臨的挑戰(zhàn)。QEMU(Quick Emulator)作為一款開源的機(jī)器模擬器和虛擬化器,能夠在主機(jī)系統(tǒng)上模擬目標(biāo)硬件環(huán)境,為嵌入式軟件的仿真測試提供了強(qiáng)大的...

關(guān)鍵字: QEMU 嵌入式軟件 仿真

隨著汽車電子化程度的不斷提高,汽車嵌入式軟件的功能復(fù)雜性也在日益增長。為了確保這些軟件在復(fù)雜多變的車載環(huán)境中能夠穩(wěn)定、可靠地運行,功能安全(Functional Safety)成為了汽車軟件開發(fā)過程中不可或缺的一環(huán)。IS...

關(guān)鍵字: ISO 26262 功能安全 嵌入式軟件

嵌入式軟件可編程邏輯控制器(PLC)是工業(yè)自動化領(lǐng)域的核心設(shè)備,廣泛應(yīng)用于生產(chǎn)線控制、過程控制、運動控制等場景。隨著工業(yè)4.0和智能制造的發(fā)展,PLC控制器需要具備更高的實時性、可靠性和可擴(kuò)展性。本文將探討工業(yè)PLC控制...

關(guān)鍵字: PLC控制器 嵌入式軟件

嵌入式軟件開發(fā)團(tuán)隊面臨的最大挑戰(zhàn)之一是,他們花費太多時間來調(diào)試軟件。當(dāng)我與全球團(tuán)隊和工程師交談時,在我參加的各種會議上,顯然,開發(fā)人員平均將其40%的時間或更多時間用于調(diào)試軟件。

關(guān)鍵字: 嵌入式軟件 合同設(shè)計

開發(fā)靈活且可擴(kuò)展的嵌入式軟件已成為產(chǎn)品開發(fā)的重要方面。越來越多的公司不是開發(fā)單個單片產(chǎn)品,而是開發(fā)一個核心平臺,從中可以創(chuàng)建幾個不同的產(chǎn)品線。在核心代碼中,有時會有所需的軟件行為未知,并且必須滿足特定產(chǎn)品需求。為了實現(xiàn)代...

關(guān)鍵字: 代碼靈活性 嵌入式軟件
關(guān)閉