嵌入式空間的變化是持續(xù)的。這一點(diǎn)是無(wú)可爭(zhēng)議的。
代碼的生成和編寫,甚至獲取的方式與最近的過(guò)去完全不同。隨著對(duì)人工智能和更高安全性等技術(shù)的需求,系統(tǒng)復(fù)雜性正在迅速增長(zhǎng)。我們也看到了更多的自主機(jī)器及其固有的復(fù)雜性,包括高安全完整性。結(jié)果是代碼庫(kù)正在擴(kuò)展。當(dāng)今的開(kāi)發(fā)人員需要跟上步伐。
Arm 正在為動(dòng)力總成(也稱為車輛和運(yùn)動(dòng)動(dòng)力學(xué)應(yīng)用)鋪平道路,因?yàn)橛脩艨梢酝ㄟ^(guò) Arm 處理器和工具以及生態(tài)系統(tǒng)合作伙伴的組合實(shí)現(xiàn)更好的性能。
系統(tǒng)復(fù)雜性的增加導(dǎo)致了新型工具的使用,即基于模型的控制開(kāi)發(fā)工具。這些工具可以滿足對(duì)更“成熟”的控制系統(tǒng)的需求,以監(jiān)控和調(diào)節(jié)相關(guān)的硬件。
C 仍然是首選語(yǔ)言
C 仍然是動(dòng)力總成控制系統(tǒng)最流行的編程語(yǔ)言,無(wú)論是手工編碼還是自動(dòng)生成,由于編譯代碼的執(zhí)行速度以及廣泛的編譯器支持。但是,開(kāi)發(fā)人員必須采取適當(dāng)?shù)念A(yù)防措施,因?yàn)榭梢詣?chuàng)建在一個(gè)工具鏈和處理器上正常運(yùn)行的代碼,但不能在另一個(gè)工具鏈和處理器上正常運(yùn)行。
這里描述的情況促使汽車行業(yè)創(chuàng)建了一套來(lái)自MISRA(汽車行業(yè)軟件可靠性協(xié)會(huì))的C語(yǔ)言軟件開(kāi)發(fā)指南。準(zhǔn)則的目標(biāo)是強(qiáng)制使用 C 的子集,以最大限度地提高代碼的安全性、安全性和可移植性。
另一個(gè)趨勢(shì)是使用Eclipse平臺(tái)作為許多工具的集成開(kāi)發(fā)環(huán)境 (IDE) 的基礎(chǔ)。這提供了這些工具的使用之間的共性,無(wú)論是從用戶體驗(yàn)的角度來(lái)看,還是從不同工具如何相互交互的角度來(lái)看。
開(kāi)發(fā)人員武器庫(kù)的一個(gè)這樣的工具是ArmDevelopment Studio,它具有Arm Compiler。使用這些工具,開(kāi)發(fā)人員可以優(yōu)化由基于模型的設(shè)計(jì)流程生成的代碼。Arm Development Studio 是一個(gè)嵌入式 C/C++ 開(kāi)發(fā)工具鏈,可加速基于 Arm 的 SoC 的系統(tǒng)設(shè)計(jì)和軟件開(kāi)發(fā),特別是基于 Cortex-M、Cortex-R 和 Cortex-A 處理器的 SoC。Arm Development Studio 涵蓋從 SoC 架構(gòu)探索到軟件集成和測(cè)試的整個(gè)產(chǎn)品生命周期。
Arm 編譯器為 Arm 架構(gòu)的最新體系結(jié)構(gòu)功能和擴(kuò)展提供早期和準(zhǔn)確的支持。它本質(zhì)上是一個(gè)工具鏈,專為裸機(jī)軟件、固件和 RTOS 應(yīng)用程序的開(kāi)發(fā)而量身定制,其中顯然包括汽車。此外,它還通過(guò)了TUV SUD認(rèn)證,可用于符合ISO 26262、IEC 61508、EN 50128和IEC 62304標(biāo)準(zhǔn)的高完整性安全應(yīng)用。
另一個(gè)基于Eclipse的工具ASCET-DEVELOPER是自動(dòng)代碼生成器的一個(gè)例子,已經(jīng)在汽車領(lǐng)域使用了二十多年。該工具受到許多汽車原始設(shè)備制造商的歡迎,用于汽車動(dòng)力總成和底盤軟件的原型和生產(chǎn),即使?jié)M足最高的安全要求。對(duì)于經(jīng)驗(yàn)豐富的 C 開(kāi)發(fā)人員來(lái)說(shuō),它可以是一個(gè)非常直觀的工具,在原理圖(或框圖)和生成的 C 代碼之間具有密切的聯(lián)系。

如圖所示,ASCET-DEVELOPER 框圖、狀態(tài)機(jī)和 C 代碼都可以駐留在 Eclipse 窗口中。
在此過(guò)程中添加檢查
框圖和狀態(tài)機(jī)不斷被翻譯成ESDL(嵌入式系統(tǒng)描述語(yǔ)言),允許ASCET-DEVELOPER在編輯圖時(shí)和構(gòu)建發(fā)生之前檢查圖。構(gòu)建完成后,將生成符合MISRA標(biāo)準(zhǔn)的可移植源代碼。如果使用適當(dāng)?shù)墓ぞ撸瑢ISRA C代碼從一個(gè)微處理器遷移到另一個(gè)微處理器可能非常簡(jiǎn)單。
為ISO 26262或IEC 61508創(chuàng)建最大的安全完整性系統(tǒng)不需要復(fù)雜的過(guò)程。相反,它需要一個(gè)干凈的流程,從頭到尾具有良好的可追溯性。將 Arm 微處理器的強(qiáng)大功能、靈活性和安全性與 Arm Development Studio 和符合 ASIL-D 標(biāo)準(zhǔn)的 Arm 編譯器套件相結(jié)合,可以形成一個(gè)簡(jiǎn)單的過(guò)程。通過(guò)提供基于 Eclipse 的 IDE,開(kāi)發(fā)人員現(xiàn)在能夠利用各種版本管理插件和類似可用的第三方工具。
審核編輯:郭婷
-
ARM
+關(guān)注
關(guān)注
134文章
9347瀏覽量
377133 -
嵌入式
+關(guān)注
關(guān)注
5149文章
19651瀏覽量
317159
發(fā)布評(píng)論請(qǐng)先 登錄
IAR發(fā)布RISC-V開(kāi)發(fā)工具鏈v3.40.1版本
IAR發(fā)布Arm開(kāi)發(fā)工具鏈v9.70.1版本
在IAR Arm開(kāi)發(fā)工具鏈中--function_sections編譯選項(xiàng)的使用

IAR開(kāi)發(fā)平臺(tái)升級(jí)Arm和RISC-V開(kāi)發(fā)工具鏈,加速現(xiàn)代嵌入式系統(tǒng)開(kāi)發(fā)
AI開(kāi)發(fā)工具分類與功能
云計(jì)算開(kāi)發(fā)工具包的功能
鴻蒙北向開(kāi)發(fā)OpenHarmony4.1 DevEco Studio開(kāi)發(fā)工具安裝與配置

盤點(diǎn)工程師常用的嵌入式開(kāi)發(fā)工具
EE-330:VisualDSP++ 5.0開(kāi)發(fā)工具中的Windows Vista兼容性

最新Simplicity SDK軟件開(kāi)發(fā)工具包發(fā)布
嵌入式工程師常用的開(kāi)發(fā)工具有哪些?
云計(jì)算開(kāi)發(fā)工具包括什么
支持C2000的開(kāi)發(fā)工具版本

評(píng)論