
發布
注冊
/
登錄嵌入式軟件開發工具的案例
適用于關鍵嵌入式軟件系統的仿真解決方案
適用于關鍵嵌入式軟件系統的仿真解決方案
http://www.ansys.com/zh-CN/products/embedded-software
嵌入式軟件
嵌入式系統與軟件開發
嵌入式軟件越來越普遍地用于智能設備,但不完美的代碼可能會導致眾多產品故障。據業界領導者預計,每 1,000 行嵌入式軟件代碼包含 8 個漏洞。為了管理這一質量風險,以及達到更高的軟件認證標準,您需要充分利用嵌入式軟件開發工具和認證代碼生成器。
ANSYS 提供基于模型的嵌入式軟件開發和仿真環境,環境內置自動代碼生成器,以加快嵌入式軟件開發項目的速度。系統和軟件工程師利用 ANSYS SCADE 解決方案生動地設計、驗證并自動生成高可靠性要求的關鍵系統和軟件應用。SCADE 解決方案具有較高的可互操作性,并且能夠輕松集成,從而實現開發優化并加強各團隊成員之間的溝通。
展開 嵌入式軟件開發中專業單元測試工具的必要性
摘要:隨著嵌入式系統在汽車電子、工業控制等安全關鍵領域的廣泛應用,軟件質量與可靠性成為核心挑戰。本文通過分析嵌入式軟件開發的特殊性與單元測試的獨特價值,論證專業單元測試工具的必要性,并以winAMS工具為例,從技術架構、功能優勢、行業實踐三個維度,系統闡述其如何解決傳統測試方法的局限性,為嵌入式軟件開發提供高效、可靠的測試保障。
關鍵詞:嵌入式軟件;單元測試;winAMS;功能安全;測試覆蓋率
一、引言
嵌入式軟件因其運行于資源受限的硬件環境,需滿足實時性、低功耗、高可靠性等嚴苛要求,其開發常面臨交叉編譯、硬件依賴性強、調試接口有限等挑戰。在汽車電子領域,軟件缺陷可能導致嚴重的安全事故,如剎車系統控制邏輯錯誤可能引發車輛失控。因此,嵌入式軟件的單元測試不僅是軟件開發的良好實踐,更是保障人身安全的重要措施。傳統單元測試方法(如源碼插樁、樁函數模擬)在嵌入式場景下存在效率低、精度差、硬件依賴性強等問題,而專業單元測試工具(如winAMS)通過獨特的技術架構,為嵌入式軟件開發提供了高效、可靠的測試解決方案。
二、嵌入式軟件單元測試的必要性
(一)嵌入式軟件的特殊性
嵌入式軟件運行于微控制器、DSP等硬件環境,需滿足以下要求:
實時性:時間敏感型任務(如剎車壓力計算)需在截止期限內完成,否則可能導致系統失效。
資源受限:內存、算力資源有限,需避免內存泄漏、棧溢出等問題。
硬件依賴性強:代碼與硬件接口(如CAN總線、GPIO)緊密耦合,傳統測試需依賴物理設備,效率低下。
(二)單元測試的核心價值
單元測試作為軟件開發過程中的關鍵環節,在嵌入式場景下具有以下核心價值:
缺陷早期捕獲:在代碼編寫階段即可識別邏輯錯誤、邊界條件處理不當等問題,降低后期修復成本。
展開 嵌入式軟件的流程圖制作及解析工具
CasePlayer2 : 適用于嵌入式軟件的說明書制作及解析工具
靜態解析C/C++源代碼自動生成流程圖等文件
適用于各種嵌入式微機用匯編代碼
具有符合編程標準MISRA-C 1998/2004的規范檢查功能,Code Metrics計測功能
適用于掌握以往程序的內容,審閱會議時評估程序等,有利于改善軟件質量的工具
產品概要
CasePlayer2是通過解析ANSI C語言,C++,嵌入式C語言(非ANSI),以及匯編語言的源代碼,制作包括流程圖等的程序說明書的工具。不論是對以往的程序進行邏輯分析,還是為新開發的程序制作說明書,都提供了強有力的支援。作為程序靜態分析功能,包括外部變量參照/代入的列表功能,以及C語言的編程標準[MISRA-C]的規范檢查功能。
只需將程序登記,可以自動生成各種說明書
CasePlayer2是通過分析ANSI C語言,C++,嵌入式C語言(非ANSI),以及匯編語言的源代碼,制作包括流程圖等程序說明書的逆向CASE(computer aided software engineering tool)工具。應用GAIO的主要技術也就是編譯技術,不需要追加其他代碼就可以解析代碼構造,制作各種流程圖。而其他公司的CASE工具往往需要追加代碼才能實現流程圖生成。而且,只需幾秒鐘就可以將數萬行C語言程序轉換成流程圖,具有引以為豪的壓倒性性能。
展開 Tessy — 嵌入式軟件單元測試 / 集成測試工具
Tessy源自戴姆勒 - 奔馳公司的軟件技術實驗室,由德國Hitex公司負責銷售及技術支持服務,是一款專門針對嵌入式軟件進行單元/集成測試的工具。它可以對C/C++代碼進行單元、集成測試,可以自動化搭建測試環境、執行測試、評估測試結果并生成測試報告,其多樣化的測試用例導入生成方式和與測試需求關聯的特色,使Tessy在測試組織和測試管理上也發揮了良好的作用。目前Tessy廣泛應用在汽車電子主流客戶中。
主要特點
在V模型開發中,Tessy主要應用在單元測試和集成測試階段。單元測試通過運行代碼檢測出函數中錯誤,比如算法錯誤、接口問題等;集成測試則在單元測試的基礎上驗證單元之間接口的正確性。基于越早發現bug開發成本越低的原則,在進行代碼功能驗證的過程中,按照V流程右半部分先完成單元測試再進行集成測試的測試順序更為有效。
另外,Tessy也可以滿足各類標準(如ISO26262、IEC61508、EN50128/50129等)對測試的需求,比如Tessy可以滿足ISO26262中各等級對單元/集成測試的要求,當然Tessy本身也通過了TUV的認證,證明該軟件是安全可靠的,可以在安全相關的軟件研發過程中使用。
主要功能
? 自動生成測試環境、一鍵執行及評估結果
Tessy可以自動生成驅動程序、樁函數,幫助測試人員提高單元測試效率。
Tessy支持一鍵執行測試,并自動對測試結果進行評估,可生成多種形式的報告。
? 便捷的測試用例設計方式
除軟件界面手動設計測試用例外,Tessy還支持導入導出多種格式的測試用例。
展開 
Tessy — 嵌入式軟件單元測試/ 集成測試工具
Tessy是一個專門針對嵌入式軟件的C/C++代碼進行單元、集成測試的工具,它可以自動化地執行測試、評估測試結果并生成測試報告。Tessy的目標就是:通過自動化整個測試周期,支持針對C語言的單元測試/集成測試,同時,Tessy也同樣關注測試組織和測試管理。
Tessy軟件源自戴姆勒-奔馳公司的軟件技術實驗室,在戴姆勒-奔馳公司得到廣泛的使用,1997年之后成為專業的軟件測試工具公司Razorcat,由德國Hitex負責全球銷售及技術支持服務。北京經緯恒潤科技作為Hitex/Razorcat公司的中國合作伙伴,將為中國汽車客戶提供Tessy軟件及優秀的軟件測試服務。
產品介紹
在以V模型為例的開發模式中,Tessy主要應用在單元/模塊測試,集成/組件測試。在V模型的開發模式中,單元測試是第一個動態測試活動。通過函數級測試,有效檢查出每一類錯誤,比如算法錯誤、邊界控制錯誤、數據溢出等。通過單元測試,可以盡可能早得發現Bug,防止直到后面的測試過程或者直到用戶那里才被發現。在整個項目開發測試周期中,越早發現Bug越好,事實證明,開展詳盡規范的單元測試能夠有效減少系統測試和回歸測試時間,降低開發成本。
另外,Tessy也可以滿足各類標準(ISO26262、IEC 61508、 EN 50128/50129、 DO-178B、汽車SPiCE或FDA的軟件驗證通用原則)對測試的需求,比如ISO26262中各個測試等級中對模塊測試的要求可以使用Tessy來滿足,當然Tessy本身也通過了Tuev的認證,可以在安全相關性的軟件研發過程中被使用。
展開 Tessy—嵌入式軟件單元測試/集成測試工具
產品概述
Tessy源自戴姆勒—奔馳公司的軟件技術實驗室,由德國Hitex公司負責銷售及技術的支持服務,是一款專門針對嵌入式軟件進行單元/集成測試的工具。它可以對C/C++代碼進行單元、集成測試,可以自動化搭建測試環境、執行測試、評估測試結果并生成測試報告,其多樣化的測試用例導入生成方式和與測試需求關聯的特色,使Tessy在測試組織和測試管理上也發揮了良好的作用。目前Tessy被廣泛應用在汽車電子客戶中。
產品介紹
主要特點
在V模型開發中,Tessy主要應用在單元測試和集成測試階段。單元測試通過運行代碼檢測出函數中錯誤,比如算法錯誤、接口問題等;集成測試則在單元測試的基礎上驗證單元之間接口的正確性。基于越早發現bug開發成本越低的原則,在進行代碼功能驗證的過程中,按照V流程右半部分先完成單元測試再進行集成測試的測試順序更為有效。
另外,Tessy也可以滿足各類標準(如ISO26262、IEC61508、EN50128/50129等)對測試的需求。比如Tessy可以滿足ISO26262中各等級對單元/集成測試的要求,當然Tessy本身也通過了TUV的認證,證明該軟件是安全可靠的,可以在安全相關的軟件研發過程中使用。
主要功能
? 自動生成測試環境、一鍵執行及評估結果
Tessy可以自動生成驅動程序、樁函數,幫助測試人員提高單元測試效率。
Tessy支持一鍵執行測試,并自動對測試結果進行評估,可生成多種形式的報告。
展開 符合AUTOSAR(AP&CP)的嵌入式系統和軟件設計工具
AUTOSAR Builder功能介紹
AUTOSAR Builder 是達索旗下一種基于 Eclipse 的開放性、可擴展工具套件,用于設計和開發符合 AUTOSAR 標準的系統和軟件。2020x版本支持AUTOSAR Classic 4.4.0及AUTOSAR Adaptive R19-03。
圖 1-AUTOSAR Builder工具主界面
從功能層面講,AUTOSAR Builder為AUTOSAR系統開發提供快速、自動化的建模和仿真的手段。
? AUTOSAR Authoring Tool(AAT)-支撐AUTOSAR系統研發
? 對Classic Platform AUTOSAR,支持application software development/system design/basic software configuration/system integration等研發工作。
展開 現代嵌入式軟件單元測試的全面演進與專業工具的核心價值
一、嵌入式單元測試的歷史演進與技術革新
嵌入式軟件單元測試在過去十五年間經歷了從基礎功能驗證到全面質量保障的深刻變革。2010年前后的測試環境主要依賴宿主機測試和簡單模擬器,而2025年的現代測試體系已經形成了高度智能化的全流程解決方案。
1.1 測試工具的技術躍遷
十五年前的嵌入式單元測試工具以開源框架為主,如Unity、CUnit和Check等,這些工具功能相對單一,主要提供基本的斷言和測試用例管理功能。當時的商業工具較少且功能有限,測試多在開發環境中進行,通過樁和模擬器隔離硬件依賴。
展開 直播內容搶先看 | 全自主車載嵌入式軟件平臺開發與集成方案
INTEWORK-EAS-CP:經緯恒潤Classic AUTOSAR解決方案
INTEWORK-CP(AUTOSAR Classic Platform,以下簡稱CP)是經緯恒潤自主研發的Classic AUTOSAR解決方案,包含完整的AUTOSAR工具鏈和嵌入式標準軟件。
?? 產品特點
基于AUTOSAR標準開發,支持AUTOSAR4.x版本,可提供主流OEM定制版本
提供完整的AUTOSAR工具鏈,兼容多種業內主流數據格式,如DBC,LDF,PDX,ODX,ARXML等,支持與第三方AUTOSAR工具鏈無縫集成
提供50多個標準模塊,嵌入式源碼交付,模塊可靈活組合選購
多種License類型來滿足客戶不同的研發和項目需求
開發流程和產品獲得功能安全ASIL-D雙證書,提供完善功能安全文檔和服務,幫助客戶更容易地實現功能安全相關要求
符合CMMI的開發流程,近10年量產經驗,質量可靠有保證
適配主流芯片廠家多款芯片及多種編譯器環境
?? 服務
全項目周期的技術支持服務,貫穿項目售前、啟動、開發、集成、測試、驗收、售后
本地化團隊提供現場集成和培訓服務
多種高效的技術支持方式,包括電話、郵件、視頻會議、現場支持等
維護期內軟件支持升級更新
快速響應,疫情期間進度支持不受影響
根據客戶需求,提供定制化的方案和服務
欲了解更多相關信息,請點擊“本鏈接”報名參加 11月18日-19日云技術研討會 | 合作、高效--下一代汽車電子軟件開發與測試論壇 ,期待您的參與!
展開 嵌入式軟件測試的革新:如何用深度集成工具破解效率與安全的雙重困局?
在汽車電子、工業控制、航空航天等嵌入式開發領域,團隊常面臨一個看似無解的悖論:如何在保證代碼安全性的前提下,大幅提升測試效率?
傳統測試工具往往需要搭建獨立環境、插入大量樁代碼,甚至需要開發者手動編寫測試用例——這不僅耗時耗力,還可能在代碼侵入性修改中引入新風險。而當項目需要滿足ISO 26262、IEC 61508等嚴苛的功能安全標準時,測試覆蓋率的要求(如MC/DC覆蓋率達100%)更讓開發周期雪上加霜。
最近,在與某頭部汽車零部件供應商的工程師交流中,他們提到了一款名為winAMS的測試工具,其設計理念徹底打破了傳統測試模式的桎梏。經過深入調研,我們發現這款工具的背后,隱藏著嵌入式測試領域的三大顛覆性邏輯……
一、“零侵入”測試:讓目標機代碼直接成為測試對象
1.1 傳統測試的“阿喀琉斯之踵”
在嵌入式開發中,多數單元測試工具依賴Hook代碼或仿真環境。例如,某知名工具要求開發者手動插入樁函數(Stub)以模擬硬件行為,這不僅增加了代碼冗余,還可能導致以下問題:
代碼污染:測試代碼與產品代碼混合,影響可維護性;
環境偏差:仿真環境與真實目標機的寄存器狀態、中斷響應存在差異;
安全認證風險:修改后的代碼可能無法通過功能安全審查。
某歐洲Tier 1供應商曾因仿真環境下的測試遺漏了一個硬件相關的時序錯誤,導致量產ECU出現偶發性故障,最終召回成本高達數百萬歐元。
1.2 winAMS的解決方案:從“模擬”到“真實”的躍遷
winAMS的核心突破在于直接使用目標機代碼進行測試,無需任何Hook或環境重構。
展開 嵌入式開發用RTOS的優勢在哪?
使用操作系統所帶來的軟件可模塊化、重用性的提升,也使得我們自己在做軟件開發時,可以封裝一套基于操作系統、適合嵌入式的可重用組件,這些組件不僅可以用在自己的項目中,還能開源出來分享給更多有需要的嵌入式開發者,把軟件的價值最大化。
個人感覺這是一件蠻有意義事情,我自己本身也是一名開源極客,也有在 GitHub 上開源一些嵌入式軟件。說實話在做開源軟件前,能夠深入交流嵌入式軟件的地方非常少,畢竟大家的代碼不是芯片不一樣,就是硬件不一樣,你的代碼給了他,也不一定能運行起來。但是自從用了操作系統后,軟件的可重用性提高了,能夠讓更多的人很迅速的用起來我的開源軟件,這個時候能夠有更多的人可以一起交流,還接觸到了很多的大牛們,甚至是國外的朋友。俗話說:水漲船高,我的能力也從此得到了快速的提升。所以總結下來,有一個能一起交流嵌入式軟件圈子還是蠻重要的,自己閉門造車,可能都是在重復造輪子。
常見RTOS對比
ucos/freertos/RT-Thread,選擇這三款 OS 的原因是,它們的年限都比較長了,在市面上都蠻有知名度,用過的人比較多,更有說服力。
值得一提的是,在CubeMX工具中有FreeRTOS,支持很方便。如果是STM32開發的話,FreeRTOS基本是入門RTOS的首選了。
1 基本功能、性能
各家 RTOS 差異很小,可比性并不是很大。
2 易用性/可讀性
這塊 FreeRTOS 應該說是最差,奇葩的匈牙利命名法,代碼實現用了很多宏,可讀性非常差。ucos 可讀性還可以,注釋也很全。這塊做的比較好的是 RT-Thread ,它是類 Linux 的代碼風格,面向對象的設計模式,代碼簡潔易懂。
展開 
干貨:嵌入式系統設計開發大全!
同時,盡可能避開大家做的東西,大家都喜歡做嵌入式,那我們就做給嵌入式配套的設備,或者嵌入式群體做不了的設備,只有這樣,才能獲得高額的利潤。
03
嵌入式系統設計的3個層次
21ic家了解到,嵌入式系統設計有3個不同層次:
第1層次:以PCB CAD軟件和ICE為主要工具的設計方法
這是過去直至現在我國單片機應用系統設計人員一直沿用的方法,其步驟是先抽象后具體。
抽象設計主要是根據嵌入式應用系統要實現的功能要求,對系統功能細化,分成若干功能模塊,畫出系統功能框圖,再對功能模塊進行硬件和軟件功能實現的分配。
具體設計包括硬件設計和軟件設計。硬件設計主要是根據性能參數要求對各功能模塊所需要使用的元器件進行選擇和組合,其選擇的基本原則就是市場上可以購買到的性價比最高的通用元器件。必要時,須分別對各個沒有把握的部分進行搭試、功能檢驗和性能測試,從模塊到系統找到相對優化的方案,畫出電路原理圖。硬件設計的關鍵一步就是利用印制板(PCB)計算機輔助設計(CAD)軟件對系統的元器件進行布局和布線,接著是印制板加工、裝配和硬件調試。
工作量最大的部分是軟件設計。軟件設計貫穿整個系統的設計過程,主要包括任務分析、資源分配、模塊劃分、流程設計和細化、編碼調試等。軟件設計的工作量主要集中在程序調試,所以軟件調試工具就是關鍵。最常用和最有效的工具是在線仿真器(ICE)。
第2層次:以EDA工具軟件和EOS為開發平臺的設計方法
隨著微電子工藝技術的發展,各種通用的可編程半定制邏輯器件應運而生。
展開 嵌入式開發的七個秘訣
成為一個正式的嵌入式開發工程師是一個艱辛的過程。從規范完善的開發周期到嚴格執行和系統檢查,開發高可靠性嵌入式系統的技術有許多種。本文介紹7個易操作且可以長久使用的技巧,它們對于確保系統更加可靠地運行并捕獲異常行為大有幫助。
技巧
1
用已知值填充ROM
軟件開發人員往往都是非常樂觀的一群人,只要讓他們的代碼忠實地長時間地運行就可以了,僅此而已。微控制器跳出應用程序空間并在非預想的代碼空間中執行這種情況似乎是相當少有的。
然而,這種情況發生的機會并不比緩存溢出或錯誤指針失去引用少。它確實會發生!發生這種情況后的系統行為將是不確定的,因為默認情況下內存空間都是0xFF,或者由于內存區通常沒有寫過,其中的值可能只有上帝才知道。
不過有相當完備的linker或IDE技巧可以用來幫助識別這樣的事件并從中恢復系統。技巧就是使用FILL命令對未用ROM填充已知的位模式。要填充未使用的內存,有很多不同的可能組合可以使用,但如果是想建立更加可靠的系統,最明顯的選擇是在這些位置放置ISR fault handler。
展開 【收藏】你一定能用到的嵌入式工具大合集
之前有人要求整理一些嵌入式中常用開發工具軟件,方便進行匯總下載,不然自己在網上搜集的話,第一費時,第二下載下來可能還用不了。
今天抽時間進行了一波整理,希望能幫助搞嵌入式的同學,讓我們一起在這行干更輕松~(軟件工具集僅用于學習目的,請勿用于商業用途~)
以下工具進行了匯總,百度網盤網址分享:
有需要的直接掃碼聯系下方二維碼獲取
關鍵詞:【嵌入式工具】
1、串口調試類工具:XCOM SecureCRT VSPD
串口調試工具,也就是串行通信接口調試軟件,廣泛應用于單片機控制領域的數據監控、數據采集、數據分析等工作。我們常用的串口調試工具包括串口調試助手、串口監控器等,提高串口通訊工作效率、穩定數據傳輸及保存過程,是單片機通訊開發的必備工具之一
2、代碼編輯閱讀類工具:SourceInsight VScode Notepad++
閱讀優秀項目的源代碼是程序員自我提高的重要途經,因此好的工具能夠幫助你事半功倍。
展開 一個嵌入式Linux系統開發平臺的構建(轉)
一個嵌入式Linux系統開發平臺的構建.pdf