當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式大雜燴
[導(dǎo)讀]星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!作者:RT-Thread社區(qū)團(tuán)隊(duì)?liukang原文鏈接:https://club.rt-thread.org/ask/article/2944.htmlRust是什么Rust是一門賦予每個(gè)人構(gòu)建可靠且高效軟件能力的語言。高性能:速度驚人且內(nèi)存利用...

作者:RT-Thread社區(qū)團(tuán)隊(duì)  liukang


原文鏈接:


https://club.rt-thread.org/ask/article/2944.html





Rust 是什么

Rust 是一門賦予每個(gè)人 構(gòu)建可靠且高效軟件能力的語言。


  • 高性能:速度驚人且內(nèi)存利用率極高


  • 可靠性:在編譯期就能消除各種內(nèi)存錯(cuò)誤


  • 生產(chǎn)力:出色的文檔,友好的編譯器和清晰的錯(cuò)誤提示信息


為什么要用 Rust 進(jìn)行嵌入式開發(fā)

Rust 的設(shè)計(jì)理念:既要安全,也要高性能。Rust 的設(shè)計(jì)理念完全是嵌入式開發(fā)所需要的。


嵌入式軟件在運(yùn)行過程中出現(xiàn)問題,大部分是由于內(nèi)存引起的。Rust 語言可以說是一門面向編譯器的語言。在編譯期間,就能夠確保你安全地使用內(nèi)存。


目前,嵌入式的主流開發(fā)語言還是 C 語言,不能上來就把底層的邏輯用 Rust 重新實(shí)現(xiàn)一遍。但是可以在 C 代碼中嵌入 Rust 語言。


C 調(diào)用 Rust

在 C 代碼中調(diào)用 Rust 代碼,需要我們將 Rust 源代碼打包為靜態(tài)庫文件。在 C 代碼編譯時(shí),鏈接進(jìn)去。


創(chuàng)建 lib 庫

1、在 Clion 中使用 cargo init --lib rust_to_c 建立 lib 庫。添加以下代碼到 lib.rs 中,使用 Rust 語言計(jì)算兩個(gè)整數(shù)的和:


1#![no_std]
2use core::panic::PanicInfo;
3
4#[no_mangle]
5pub extern "C" fn sum(a: i32, b: i32) -> i32 {
6 a   b
7}
8
9#[panic_handler]
10fn panic(_info:
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

IAR Embedded Workbench for Arm 支持全新 Arm Cortex-M85 處理器,幫助開發(fā)者為未來的物聯(lián)網(wǎng)、智能家居和 AI/ML 應(yīng)用創(chuàng)建強(qiáng)大的嵌入式開發(fā)解決方案

關(guān)鍵字: IAR Systems 處理器 嵌入式開發(fā)

隨著嵌入式技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入了物聯(lián)網(wǎng)時(shí)代。物聯(lián)網(wǎng)所需的大量設(shè)備并不依賴于人與人之間的交互來建立連接,更多的是通過協(xié)議、通信、編程等方式連接到一個(gè)地方。也就是說,物聯(lián)網(wǎng)的目的是使所有的物品都具有計(jì)算機(jī)智能,而不...

關(guān)鍵字: 嵌入式技術(shù) 嵌入式開發(fā) 物聯(lián)網(wǎng)

嵌入式開發(fā)是指利用分立元件或集成器件進(jìn)行電路設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì),再進(jìn)行軟件編程(通常是高級語言),實(shí)驗(yàn),經(jīng)過多輪修改設(shè)計(jì)、制作,最終完成整個(gè)系統(tǒng)的開發(fā)。

關(guān)鍵字: 嵌入式開發(fā) 電路設(shè)計(jì) 結(jié)構(gòu)設(shè)計(jì)

星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!鏈接:https://www.cnblogs.com/jozochen/p/8541714.html一、問題復(fù)現(xiàn)穩(wěn)定復(fù)現(xiàn)問題才能正確的對問題進(jìn)行定位、解決以及驗(yàn)證。一般來說,越容易復(fù)現(xiàn)的問...

關(guān)鍵字: 嵌入式開發(fā) 函數(shù) 代碼 寄存器

信息時(shí)代,數(shù)字時(shí)代使得嵌入式產(chǎn)品獲得了巨大的發(fā)展契機(jī),為嵌入式市場展現(xiàn)了美好的前景,同時(shí)也對嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn),從中我們可以看出未來嵌入式系統(tǒng)的幾大發(fā)展趨勢。

關(guān)鍵字: 信息時(shí)代 嵌入式開發(fā) 網(wǎng)絡(luò)化

嵌入式系統(tǒng)是計(jì)算機(jī)軟件和硬件的綜合體,崗位包括:ESE(嵌入式軟件工程師);ADE(嵌入式應(yīng)用開發(fā)工程師);FWE(嵌入式底層開發(fā)工程師);FEC(嵌入式固件開發(fā)工程師),你可以先下載全套嵌入式視頻課自學(xué),看是否感興趣。...

關(guān)鍵字: 嵌入式開發(fā) C語言

學(xué)習(xí)嵌入式就業(yè)前景廣泛,你可以做手機(jī)、PDA、MP3、MP4、遙控玩具、psp、相機(jī)、家電控制(洗衣機(jī)、電飯煲等)、汽車導(dǎo)航儀,只要跟電子控制相關(guān)的。此外,嵌入式這個(gè)行業(yè)也利于個(gè)人創(chuàng)業(yè),這也是為什么越來越多的人參加 嵌入...

關(guān)鍵字: 嵌入式開發(fā) C語言

在嵌入式開發(fā)中,代碼的體積和運(yùn)行效率非常重要,代碼體積往往和芯片的FLASH、RAM容量對應(yīng),程序的運(yùn)行效率也要求在相應(yīng)能力的處理器上運(yùn)行。在大多數(shù)情況下,成熟的開發(fā)人員都希望降低代碼體積、提高代碼運(yùn)行效率,然而具體該怎...

關(guān)鍵字: IAR Systems 嵌入式開發(fā) 編譯器

星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!作者:RT-Thread社區(qū)團(tuán)隊(duì)?liukang原文鏈接:https://club.rt-thread.org/ask/article/2944.htmlRust是什么Rust是一門賦予每...

關(guān)鍵字: 嵌入式開發(fā)

嵌入式大雜燴

461 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉