掌握嵌入式 Rust:裸機、FFI、Crates、專案

使用 Rust 語言掌握安全、現代的嵌入式系統,包括 STM32 微控制器上的裸機、FFI、驅動程式、板條箱( crates )和專案

從這 22 小時的課程,你會學到

  • 從零開始學習 Rust 程式語言
  • 從零開始建立您的第一個裸機 Rust 應用程式
  • 學習如何設定 Rust 工具鏈,以建立在 ARM Cortex-M 微控制器上運行的韌體
  • 編寫您自己的連結器腳本和啟動文件,並了解嵌入式 Rust 中的記憶體佈局和引導程式的工作原理
  • 使用 cargo-binutils 檢查和分析 ELF 檔案
  • 使用 VS Code 建立現代高效的工作流程,以便在嵌入式目標上建置、燒寫和調試 Rust 程式碼
  • 使用與理解核心嵌入式 Rust crate
  • 在資源受限的環境中有效率地記錄和調試
  • 使用 cortex-m 和 cortex-m-rt crate 親手操作 SysTick 和 ITM 等 ARM Cortex 週邊
  • Rust FFI:建立安全的 Rust API 以與現有的 C 庫交互,從而更輕鬆地將 Rust 整合到現有的基於 C 的程式碼庫中
  • 學習如何在 Rust 和 C 之間安全地傳遞結構體、字串和枚舉,同時保持類型安全和控制
  • 使用不安全和 FFI 概念管理 Rust 函數,使其可從 C 呼叫安全地實現跨語言互通
  • 逐步使用 Rust 建立真實的 Flappy Bird 遊戲應用程式
  • 使用 embedded-hal 特性建立與硬體無關的驅動程式,使您的程式碼可跨多個微控制器平台移植。
  • 與真實感測器 (MPU6050) 介接以控制遊戲機制
  • 將程式碼建構成簡潔易維護的模組
  • 使用 STM32 HAL crate,透過安全的 Rust 抽象輕鬆配置和控制微控制器的周邊
  • 編寫通用嵌入式程式碼

要求

  • 本課程從零開始講授所有內容,無需 Rust 程式設計經驗
  • 任何微控制器的基礎知識
  • 任何程式語言的基礎知識
  • 如果您想在嵌入式目標上運行程式碼,則需要列出的硬體和元件

課程說明

==> 想在你的嵌入式程式語言庫中加入另一種嵌入式程式語言嗎?試試 Rust 吧-你不會失望的! ! <==

即使你是嵌入式系統新手,本課程也是你在微控制器上使用 Rust 的起點。

這是一門完全實用的課程,帶你從零開始,在 STM32 上進行真實的嵌入式 Rust 開發。每個影片都以上一個影片為基礎,幫助你循序漸進地學習,從編寫裸機程式碼到進階主題,例如 FFI、crates、驅動程式開發和 trait。非常適合 Rust 和嵌入式系統新手。

為什麼 Rust 適合嵌入式系統?

Rust 透過以下方式防止許多常見的記憶體問題(例如空指標解引用、緩衝區溢位和釋放後使用錯誤):

  • 所有權模型:Rust 圍繞所有權、借用和生命週期制定的嚴格規則可防止大多數意外的記憶體濫用。
  • 類型安全:Rust 的類型系統可確保您正確存取數據,並透過強制執行嚴格的變數使用模式來協助防止某些類型的無效記憶體存取。

透過 Rust 的官方套件管理器 Cargo,您可以透過簡單地添加外部庫或「板條箱」(就像即插即用元件一樣)來輕鬆添加功能。

你將學到什麼?

你將在本課程中掌握以下內容:

  1. 初學者的 Rust 入門指南,專為嵌入式系統量身定制
  2. 完整的工具鏈設置,用於交叉編譯、燒寫和調試
  3. 使用 defmt 和 probe-rs 進行偵錯和日誌記錄,實現即時追蹤
  4. 使用 STM32 HAL crate 進行進階週邊編程
  5. 逐步使用 Rust 建立真實的 Flappy Bird 遊戲應用程式
  6. 與真實感測器 (MPU6050) 介接以控制遊戲機制
  7. 簡潔、模組化的編碼實踐與硬體抽象
  8. 使用 embedded-hal trait 建立與硬體無關的驅動程式
  9. 編寫和理解您自己的連結器腳本和啟動程式碼
  10. 使用 Rust 泛型和 trait 建立通用嵌入式程式碼
  11. 透過 FFI 實現 Rust 與 C 語言的安全無縫整合
  12. 自信地使用 Rust 編寫健壯、可重複使用且生產級的嵌入式韌體

硬體需求

注意:如果您已有微控制器開發板,我們建議您繼續使用。本課程設計精良,其概念和步驟適用於大多數開發板,但可能需要進行一些細微調整。但是,如果您希望使用與講師完全相同的開發板以獲得更流暢的體驗,您可以查看建議的硬體。

1) 微控制器開發板

選項 1. 基於STM32F303的開發板

  • 該課程主要使用基於 STM32F303 微控制器和板載 MPU6050 感測器的 Fastbit STM32 Nano 板。

選項 2.  Any STM32 微控制器板

  • 您可以使用任何搭載 STM32 微控制器的開發板。課程內容設計靈活,方便您根據手邊現有的 STM32 開發板進行學習。

2) 基於 SWD-Based Debugger

  • STM32 微控制器的程式設計和調試需要基於 SWD(串行線 debug )的 debugger。此工具對於將程式載入到微控制器以及即時偵錯專案至關重要。

3) LCD shield

  • 在其中一個專案中,您需要一個 TFT LCD 模組進行實驗。本課程使用 Fastbit 1.28 吋 TFT LCD 模組,該模組帶有 8 位元並行接口,基於 GC9A01 LCD 驅動器。不過,您也可以使用相同或類似的相容模組。

4) MPU6050 感應器

軟體需求

  1. VS Code
  2. STM32CubeIDE

目標受眾

  • 嵌入式開發人員希望探索 Rust 作為 C/C++ 的替代方案,或使其與現有微控制器程式碼共存。
  • Rust 愛好者希望將自己的技能應用於底層硬體專案,並學習嵌入式程式設計。
  • 嵌入式系統初學者渴望從零開始培養實用技能。
  • 想要在你的技能庫中加入另一種嵌入式語言?試試 Rust,你不會失望的。

講師簡介

FastBit Embedded Brain Academy 韌體和嵌入式工程方面的工作更多 FastBit 出品課程介紹 )

最暢銷的微控制器程式設計和 RTOS 課程創造者,擁有超過65,000名活躍的學生和專門的聯合講師團隊,以幫助你的嵌入式程式設計之旅。

我們已經出版了關於嵌入式C、微控制器程式設計、RTOS程式設計、嵌入式Linux和Linux裝置驅動開發的課程。

如果你正在嵌入式程式設計領域開始你的職業生涯,或者你想從頭開始學習如何對微控制器及其外圍裝置進行編碼程式設計,那麼你就來對了地方。

報名參加我們建立的課程,我們希望你不會感到失望。

我們做什麼?

我們利用網際網路的力量,將嵌入式系統和程式設計、微控制器、即時作業系統、韌體開發、嵌入式 Linux 和裝置驅動程式等領域的線上課程帶到你的指尖上。感謝Udemy。

我們的主要目標是透過案例和大量的動畫來愉快地教授嵌入式系統,從而幫助我們的學生在這一領域取得優異成績。

我們精心製作了所有這些線上課程,幫助學生以很低的價格獲得業界標準的專業培訓,從而節省你的時間、精力和金錢。

試試我們的課程,我們確信這些課程確實會讓你覺得你的選擇是正確的。

我們相信要做真正的工作,解決客戶的真正問題。

閱讀完整的評論以瞭解更多關於課程的資訊。

==>FastBit嵌入式大腦學院課程的學習順序<==

如果你是嵌入式系統領域的初學者,那麼你可以按照以下順序學習我們的課程。

這是講師對初學者的建議。

1) 微控制器嵌入式C語言程式設計:絕對的初學者(嵌入式C語言)

2) ARM Cortex-M3/M4處理器上的嵌入式系統程式設計(ARM Cortex M4處理器專用)

3) 掌握微控制器與嵌入式驅動開發(MCU1)

4) 掌握微控制器。計時器,PWM,CAN,RTC,低功耗(MCU2)

5) 掌握微控制器 : STM32-LTDC, LCD-TFT, LVGL(MCU3)

6) 採用 UML 狀態機於嵌入式系統設計(State machine)

7) 掌握RTOS:上手FreeRTOS和STM32Fx與除錯(RTOS)

8) ARM Cortex M 微控制器 DMA 程式設計解密(DMA).

9) STM32Fx微控制器客製化開機程式開發(Bootloader)

10) 使用 Beaglebone Black 的嵌入式 Linux 步驟(Linux)

11) 使用Beaglebone Black的Linux裝置驅動程式設計(LDD1)

其他程式設計課程 1) 精通 Rust 程式語言:從入門到高級 2) 基於 STM32 的嵌入式 Rust 開發:零基礎入門 * FastBit EBA 是 Bharati Software 旗下的線上嵌入式軟體訓練機構

Kiran Nayak 嵌入式軟體工程師

Kiran Nayak擁有電子和通訊工程學士學位,在嵌入式軟體開發方面擁有豐富的經驗。

目前,他是印度 Bharati 軟體公司的管理合夥人。

他建立了關於程式語言、微控制器程式設計、ARM cortex Mx處理器、即時作業系統、嵌入式 Linux 和 Linux 裝置驅動程式的影片課程。

字幕:英文

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

  • Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
  • 年訂閱每月 NT350(再享特別優惠:年度訂閱首年享 25% 折扣) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
  • Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
  • 手機上點選優惠連結看到的價格比電腦上看到的貴
  • $代表當地貨幣, 如在台灣為 NT
  • 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


也許你會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

由 WordPress.com 建置.

Up ↑

探索更多來自 Soft & Share 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading