日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

緣起今生:英飛凌車規(guī)MCU全系支持Rust 語(yǔ)言開發(fā)

江師大電信小希 ? 來(lái)源:江師大電信小希 ? 作者:江師大電信小希 ? 2024-04-05 13:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著軟件功能的日趨強(qiáng)大,軟件開發(fā)工作量隨之劇增,軟件開發(fā)團(tuán)隊(duì)也不斷嘗試改進(jìn)軟件的開發(fā)方法,旨在保證軟件功能,質(zhì)量的情況下,減少成本,加快開發(fā)速度。

要實(shí)現(xiàn)上述目標(biāo),關(guān)鍵在于工作量——在軟件開發(fā)中盡可能減少工作量。

軟件開發(fā)相關(guān)的工作量包括功能需求定義,功能需求的實(shí)現(xiàn)和測(cè)試,非功能需求,以及修復(fù)開發(fā)過(guò)程中引入的錯(cuò)誤的工作量。

站在軟件開發(fā)者的角度,在實(shí)現(xiàn)軟件完整功能的情況下,如何減少開發(fā)的總工作量,唯一能夠減少的部分就是用于修正錯(cuò)誤的工作量。

對(duì)軟件開發(fā)而言,一旦發(fā)現(xiàn)錯(cuò)誤,就必須加以修正,以保證軟件產(chǎn)品質(zhì)量。因此,要在不影響產(chǎn)品質(zhì)量的前提下減少工作量,唯一的解決辦法就是防止開發(fā)過(guò)程中引入軟件錯(cuò)誤。

在已知的軟件錯(cuò)誤中,內(nèi)存安全是軟件行業(yè)中最常見(jiàn)的錯(cuò)誤類別[1][2]。然而,嵌入式軟件行業(yè)的標(biāo)準(zhǔn)語(yǔ)言 C 和 C++ 是非內(nèi)存安全編程語(yǔ)言,這意味著嵌入式系統(tǒng)很容易出現(xiàn)這類錯(cuò)誤。

減少這類錯(cuò)誤的方法之一是在軟件測(cè)試、審查和驗(yàn)證方面投入人力物力,而另一種思路是用內(nèi)存安全語(yǔ)言取代現(xiàn)有語(yǔ)言[3]。

雖然許多內(nèi)存安全語(yǔ)言(如 PythonJava)已在軟件行業(yè)得到廣泛應(yīng)用,但它們并不適合嵌入式系統(tǒng)。這是因?yàn)榍度胧较到y(tǒng)對(duì)占用空間、堆棧使用和性能有嚴(yán)格的限制(這是C和C++的優(yōu)勢(shì))。

Rust就是在這樣的背景下誕生的,它同時(shí)實(shí)現(xiàn)了高效性和內(nèi)存安全。

Rust 是什么

Rust語(yǔ)言在2006年作為 Mozilla 員工 Graydon Hoare 的私人項(xiàng)目出現(xiàn),而 Mozilla 于 2009 年開始贊助這個(gè)項(xiàng)目。第一個(gè)有版本號(hào)的 Rust 編譯器于2012 年 1 月發(fā)布。Rust 1.0 是第一個(gè)穩(wěn)定版本,于 2015年5月15日發(fā)布 [4] 。

wKgZomYPj26AY-YPAAAdBjmUL6M255.png

Figure 1. Rust Logo

Rust是一種在科技界大受歡迎的語(yǔ)言,Rust已經(jīng)連續(xù)七年(2016,2017,2018,2019,2020, 2021, 2022)在Stack Overflow開發(fā)者調(diào)查的“最受喜愛(ài)編程語(yǔ)言”評(píng)選項(xiàng)目中折取桂冠[5]。

微軟用Rust重寫它的一些核心windowns庫(kù),在 Android 13 中,21% 的新原生代碼使用了 Rust,此外,除 C 語(yǔ)言外,Rust 是唯一一種支持編寫 Linux 內(nèi)核組件的語(yǔ)言,并被廣泛用于后端軟件、基礎(chǔ)設(shè)施和微服務(wù)。(找元器件現(xiàn)貨上唯樣商城

Figure 2. rust-gentle-intro [6]

Rust是一種系統(tǒng)編程語(yǔ)言,旨在成為無(wú)垃圾回收的內(nèi)存安全語(yǔ)言。

Rust使用了包含特定規(guī)則的“所有權(quán)”機(jī)制來(lái)管理內(nèi)存,允許編譯器在編譯過(guò)程中執(zhí)行檢查工作,而不會(huì)產(chǎn)生任何的運(yùn)行時(shí)開銷。Rust中的每一個(gè)值都有一個(gè)對(duì)應(yīng)的變量作為它的所有者;在同一時(shí)間內(nèi),值有且僅有一個(gè)所有者;當(dāng)所有者離開自己的作用域時(shí),它持有的值就會(huì)被釋放掉。

Rust使用“借用規(guī)則”實(shí)現(xiàn)對(duì)值進(jìn)行可變和不可變引用:一個(gè)值可以有一個(gè)不可變引用或多個(gè)可變引用,但不能同時(shí)有兩個(gè)引用。編譯器中一個(gè)名為“借用檢查器”的特定部分會(huì)對(duì)此進(jìn)行檢查。

Rust中的生命周期規(guī)則:Rust的每個(gè)引用都有自己的生命周期,它對(duì)應(yīng)著引用保持有效性的作用域。生命周期最主要的目標(biāo)在于避免懸垂引用,進(jìn)而避免程序引用到非預(yù)期的數(shù)據(jù)。[7][8]

Cargo 是 Rust 的軟件包管理器[9],軟件包被稱為板條箱(Crate),cargo 有一個(gè)命令:cargo build,它能自動(dòng)解決項(xiàng)目依賴關(guān)系。另外,使用 cargo test 命令能觸發(fā)單元測(cè)試,使用 cargo doc 命令還能生成文檔網(wǎng)頁(yè)。cargo 的文檔列出了 30 多條不同的命令,用于支持軟件包處理、構(gòu)建文檔和測(cè)試。此外,cargo 還可用于安裝其他 Rust 二進(jìn)制文件,如工具 svd2rust。

嵌入式系統(tǒng)中的 Rust

wKgZomYPj2-Af7-OAABB7EEFnvw850.png

Figure 3. Embedded Rust Architecture

Embedded Rust 的結(jié)構(gòu)可以分為上述5層,如上圖所示,從下往上的順序,最底層是MCU硬件層,有各個(gè)資源,外設(shè),由不同的芯片決定;第2層是PAC,可以理解為芯片的頭文件,里面是各個(gè)寄存器的信息;第3層是在PAC的基礎(chǔ)上對(duì)寄存器進(jìn)行操作一些調(diào)度函數(shù),里面對(duì)寄存器進(jìn)行直接操作;第4層是硬件抽象層,這一層的意義是從芯片強(qiáng)相關(guān)的驅(qū)動(dòng)函數(shù)上抽象出來(lái),提供一個(gè)通用接口,這個(gè)通用接口由最上層的軟件驅(qū)動(dòng)層、軟件應(yīng)用層去調(diào)用,實(shí)現(xiàn)對(duì)芯片資源的調(diào)度。

在Embedded Rust中,使用svd2rust工具將芯片資源的描述文件SVD文件轉(zhuǎn)化為PAC,該接口具有良好的可讀性,便于審查和維護(hù)。此外,它還能防止出現(xiàn)錯(cuò)誤,因?yàn)槿绻O(shè)置的值對(duì)該字段無(wú)效,代碼將無(wú)法編譯。

RUST 與 C 語(yǔ)言的關(guān)系

Rust對(duì)硬件的內(nèi)存需求,堆棧使用,運(yùn)行效率可以和C相媲美,具體的細(xì)節(jié)差異會(huì)和編譯優(yōu)化等級(jí),應(yīng)用等有些許差異。

此外,Rust有一個(gè)令人振奮的點(diǎn),它可以和C語(yǔ)言共同使用。

Rust和C代碼間的互用性始終取決于兩種語(yǔ)言間的數(shù)據(jù)轉(zhuǎn)換。為了實(shí)現(xiàn)互用性,在stdlib中,有兩個(gè)專用模塊,叫做std::ffi和std::os::raw 。

std::ffi提供了一些工具去轉(zhuǎn)換更復(fù)雜的類型,比如Strings,將&str和String映射成更容易和安全處理的C類型。

std::os::raw處理底層的基本類型,這些類型可以被編譯器隱式地轉(zhuǎn)換,因?yàn)镽ust和C之間的內(nèi)存布局足夠相似或相同[10]。

Rust 是一種現(xiàn)代系統(tǒng)編程語(yǔ)言,可用于網(wǎng)絡(luò)應(yīng)用程序和裸機(jī)嵌入式系統(tǒng)。不過(guò)Rust的生態(tài)和函數(shù)庫(kù)資源等比較有限,而和C之間的互通性可以讓Rust更加便捷的應(yīng)用到現(xiàn)有的軟件中,更快的投入使用。

因此,我們將長(zhǎng)期生活在 Rust 和 C 語(yǔ)言的混合環(huán)境中。盡管 Rust 聲稱內(nèi)存安全(這一點(diǎn)已經(jīng)得到證實(shí)),但是Rust 和 C 代碼的結(jié)合可能會(huì)導(dǎo)致安全的 Rust 生成的程序被不安全的 C 實(shí)現(xiàn)所違反的情況。為了確保 Rust 的安全性,有必要在 C 和 Rust 之間找到一個(gè)合理的分界點(diǎn)。

盡管如此,事實(shí)證明 Rust 是在嵌入式系統(tǒng)中替代 C 和 C++ 的合適候選語(yǔ)言,尤其是在新代碼開發(fā)方面。除內(nèi)存安全外,Rust 語(yǔ)言的其他方面,如強(qiáng)大的類型系統(tǒng)和錯(cuò)誤處理,也為 Rust 帶來(lái)了卓越的可讀性和可維護(hù)性。這提高了防錯(cuò)能力,從而在不增加開發(fā)階段額外成本的情況下實(shí)現(xiàn)更安全的代碼。

英飛凌產(chǎn)品支持Embedded Rust

軟件安全對(duì)汽車市場(chǎng)至關(guān)重要,Rust 編程語(yǔ)言內(nèi)置內(nèi)存安全軟件開發(fā)支持,是設(shè)計(jì)關(guān)鍵任務(wù)汽車軟件的重要推動(dòng)力。英飛凌科技公司為在嵌入式領(lǐng)域創(chuàng)建 Rust 生態(tài)系統(tǒng)邁出了第一步。首先推出的是市場(chǎng)領(lǐng)先的 AURIX? TC3xx 和 TRAVEO? T2G 汽車 MCU。TRAVEO? 使用官方 Rust 工具鏈和 Arm Cortex-M 目標(biāo)編譯器,而英飛凌的工具合作伙伴 HighTec EDV-Systeme 則為 AURIX? 開發(fā)了專用 Rust 編譯器。

wKgaomYPj2-AWDVyAAAgOJhWGLE163.png

Figure 4. AURIX? and TRAVEO? T2G

AURIX? TC3xx 和 TRAVEO? T2G 微控制器產(chǎn)品系列為功能安全和網(wǎng)絡(luò)安全提供了廣泛的集成硬件功能。對(duì) Rust 的支持是對(duì)這些硬件功能在軟件方面的補(bǔ)充。英飛凌為 AURIX? 和 TRAVEO? 提供了外設(shè)訪問(wèn)板條 (PAC),以實(shí)現(xiàn)對(duì)微控制器外設(shè)的本地訪問(wèn)。

HighTec Rust 編譯器專為 AURIX? TC3xx 和 TC4x 微控制器量身定制,利用先進(jìn)的開源 LLVM 技術(shù),為具有安全、可靠、高性能和快速部署要求的應(yīng)用提供全套 Rust 語(yǔ)言特性,包括內(nèi)存安全、并發(fā)性和互操作性。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 英飛凌
    +關(guān)注

    關(guān)注

    68

    文章

    2566

    瀏覽量

    143204
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    19165

    瀏覽量

    404892
  • 嵌入式
    +關(guān)注

    關(guān)注

    5210

    文章

    20686

    瀏覽量

    337518
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3240

    瀏覽量

    76530
  • Rust
    +關(guān)注

    關(guān)注

    1

    文章

    241

    瀏覽量

    7664
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    勞特巴赫TRACE32開發(fā)工具全面適配芯馳科技E3620智控MCU芯片

    2026北京車展前夕,勞特巴赫(Lauterbach)與芯馳科技共同宣布:其 TRACE32 開發(fā)工具已完成芯馳新一代智控 MCU 芯片 E3620 的全面適配,實(shí)現(xiàn)對(duì)芯馳全系列量產(chǎn)規(guī)
    的頭像 發(fā)表于 04-22 16:08 ?2142次閱讀
    勞特巴赫TRACE32<b class='flag-5'>開發(fā)</b>工具全面適配芯馳科技E3620智控<b class='flag-5'>MCU</b>芯片

    Perforce 靜態(tài)分析現(xiàn)已正式支持 Rust語(yǔ)言!

    您是否正計(jì)劃通過(guò) Rust 編程來(lái)提升內(nèi)存安全性,卻又擔(dān)心它無(wú)法覆蓋所有的安全漏洞?Perforce QAC 和 Klocwork 現(xiàn)在已支持分析 Rust 代碼,填補(bǔ)了開源代碼檢查工具在質(zhì)量和治理工具鏈方面的空白。
    的頭像 發(fā)表于 04-08 15:38 ?485次閱讀
    Perforce 靜態(tài)分析現(xiàn)已正式<b class='flag-5'>支持</b> <b class='flag-5'>Rust</b><b class='flag-5'>語(yǔ)言</b>!

    汽車網(wǎng)絡(luò)安全開發(fā)語(yǔ)言選型指南:C/C++/Rust/Java等主流語(yǔ)言對(duì)比+Perforce QAC/Klocwork工具支持

    汽車網(wǎng)絡(luò)安全如何選編程語(yǔ)言?C、C++、Rust、Java……誰(shuí)更適合AUTOSAR、ISO/SAE 21434?一文了解8種主流語(yǔ)言的優(yōu)劣與適用場(chǎng)景,以及Perforce QAC/Klocwork對(duì)MISRA、CERT等規(guī)范的
    的頭像 發(fā)表于 12-26 11:13 ?678次閱讀
    汽車網(wǎng)絡(luò)安全<b class='flag-5'>開發(fā)</b><b class='flag-5'>語(yǔ)言</b>選型指南:C/C++/<b class='flag-5'>Rust</b>/Java等主流<b class='flag-5'>語(yǔ)言</b>對(duì)比+Perforce QAC/Klocwork工具<b class='flag-5'>支持</b>

    武漢芯源MCU英飛凌MCU有什么區(qū)別?

    武漢芯源MCU英飛凌MCU有什么區(qū)別
    發(fā)表于 12-11 06:26

    替代優(yōu)選!合粵規(guī)電容進(jìn)駐車載電源分配單元(PDU)

    合粵規(guī)電容憑借低ESR、高可靠性、寬溫工作范圍及規(guī)級(jí)認(rèn)證,成為日替代優(yōu)選,可高效賦能車載電源分配單元(PDU)的穩(wěn)定運(yùn)行。
    的頭像 發(fā)表于 12-10 17:23 ?803次閱讀

    如何設(shè)計(jì)一顆規(guī)級(jí)MCU芯片?從架構(gòu)到認(rèn)證的流程實(shí)戰(zhàn)指南

    在汽車電子的 “神經(jīng)中樞” 里,規(guī)級(jí) MCU 芯片是無(wú)可替代的核心 —— 它主導(dǎo)著車身控制、電動(dòng)助力轉(zhuǎn)向(EPS)、電子穩(wěn)定程序(ESP)、電池管理系統(tǒng)(BMS)等關(guān)鍵場(chǎng)景的實(shí)時(shí)控制,直接關(guān)系到駕駛安全與車輛可靠性。
    的頭像 發(fā)表于 12-09 17:18 ?2175次閱讀
    如何設(shè)計(jì)一顆<b class='flag-5'>車</b><b class='flag-5'>規(guī)</b>級(jí)<b class='flag-5'>MCU</b>芯片?從架構(gòu)到認(rèn)證的<b class='flag-5'>全</b>流程實(shí)戰(zhàn)指南

    英飛凌規(guī)級(jí)MCU主動(dòng)求變、持續(xù)引領(lǐng)

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)在全球汽車芯片市場(chǎng)持續(xù)震蕩、競(jìng)爭(zhēng)格局加速重構(gòu)的背景下,英飛凌科技(Infineon Technologies)憑借其在車規(guī)級(jí)微控制器(MCU)和功率器件領(lǐng)域的深厚積累
    的頭像 發(fā)表于 11-28 08:37 ?8947次閱讀
    <b class='flag-5'>英飛凌</b><b class='flag-5'>車</b><b class='flag-5'>規(guī)</b>級(jí)<b class='flag-5'>MCU</b>主動(dòng)求變、持續(xù)引領(lǐng)

    2025開放原子開發(fā)者大會(huì)旋武開源社區(qū)Rust分論壇成功舉辦

    11月22日,2025開放原子開發(fā)者大會(huì)——旋武開源社區(qū)Rust分論壇在北京順利召開。論壇以“共建中國(guó)Rust生態(tài)”為核心主題,匯聚京東、華為、vivo、阿里、毛豆教育、DORA社區(qū)及南京大學(xué)等企業(yè)與學(xué)術(shù)機(jī)構(gòu)技術(shù)專家,及眾多
    的頭像 發(fā)表于 11-27 14:55 ?847次閱讀

    CW32A系列(規(guī)級(jí) MCU)介紹

    定位:汽車電子應(yīng)用,通過(guò) AEC-Q100 認(rèn)證,滿足規(guī)級(jí)可靠性要求。 核心特性: 內(nèi)核:Arm Cortex-M0+/M3/M4,主頻 48MHz~120MHz。 存儲(chǔ)器:Flash 32KB
    發(fā)表于 11-17 06:30

    規(guī)級(jí)MCU在特種車輛車身控制中的應(yīng)用研究

    本文聚焦于規(guī)級(jí)MCU(微控制單元)在特種車輛車身控制系統(tǒng)中的應(yīng)用,以國(guó)科安芯的規(guī)級(jí)MCU芯片
    的頭像 發(fā)表于 09-19 17:12 ?1055次閱讀

    規(guī)電容競(jìng)爭(zhēng)白熱化,冠坤臺(tái)憑什么脫穎而出?

    近年來(lái),隨著新能源汽車、智能駕駛等領(lǐng)域的爆發(fā)式增長(zhǎng),規(guī)電容市場(chǎng)迎來(lái)前所未有的發(fā)展機(jī)遇。據(jù)行業(yè)數(shù)據(jù)顯示,全球規(guī)電容市場(chǎng)規(guī)模預(yù)計(jì)將在2025年突破百億美元大關(guān)。在這一片藍(lán)海中,臺(tái)
    的頭像 發(fā)表于 08-06 16:14 ?892次閱讀

    冠坤臺(tái)電容:以高性價(jià)比優(yōu)勢(shì),搶占規(guī)電容市場(chǎng) “C 位”

    近年來(lái),隨著新能源汽車、智能駕駛等技術(shù)的快速發(fā)展,規(guī)電容市場(chǎng)需求呈現(xiàn)爆發(fā)式增長(zhǎng)。在這一背景下,冠坤電子(Su'scon)憑借其臺(tái)電容的高性價(jià)比優(yōu)勢(shì),正逐步搶占
    的頭像 發(fā)表于 08-06 15:53 ?1377次閱讀

    請(qǐng)問(wèn)OpenVINO? 是否支持 Rust 綁定?

    無(wú)法確定OpenVINO?是否支持 Rust 綁定。
    發(fā)表于 06-25 07:45

    矽力杰首屆規(guī)MCU代理商技術(shù)培訓(xùn)大會(huì)圓滿召開!

    6月20-21日,矽力杰MCU代理商技術(shù)培訓(xùn)會(huì)于杭州矽力杰大廈成功舉辦。本次培訓(xùn)會(huì)聚焦規(guī)級(jí)MCU技術(shù)前沿,為代理商FAE團(tuán)隊(duì)帶來(lái)了一場(chǎng)干貨滿滿的技術(shù)盛宴,助力生態(tài)伙伴深度掌握矽力杰
    的頭像 發(fā)表于 06-21 17:03 ?1708次閱讀
    矽力杰首屆<b class='flag-5'>車</b><b class='flag-5'>規(guī)</b><b class='flag-5'>MCU</b>代理商技術(shù)培訓(xùn)大會(huì)圓滿召開!

    規(guī)級(jí)MCU國(guó)內(nèi)替代提速

    北京貞光科技有限公司作為紫光同芯授權(quán)代理商,深耕電子元器件領(lǐng)域數(shù)十載,專為汽車與工業(yè)客戶提供規(guī)級(jí)安全芯片及配套服務(wù)。公司整合硬件供應(yīng)、軟件SDK與技術(shù)支持為一體,配備專業(yè)團(tuán)隊(duì)提供選型咨詢與現(xiàn)場(chǎng)指導(dǎo)
    的頭像 發(fā)表于 06-06 16:37 ?1527次閱讀
    <b class='flag-5'>車</b><b class='flag-5'>規(guī)</b>級(jí)<b class='flag-5'>MCU</b>國(guó)內(nèi)替代提速
    壶关县| 上蔡县| 石棉县| 南漳县| 津市市| 进贤县| 舟曲县| 泸水县| 山阳县| 临清市| 高台县| 宁国市| 甘泉县| 德钦县| 巨鹿县| 和龙市| 平谷区| 灵丘县| 元氏县| 务川| 金塔县| 桂阳县| 乐陵市| 巢湖市| 玛多县| 鄯善县| 河池市| 万荣县| 屯昌县| 桂平市| 会泽县| 迁安市| 温宿县| 林州市| 长春市| 宁城县| 广州市| 山东省| 沾化县| 宜丰县| 鸡泽县|