Rust汽車電子開發實踐

司江平 周炯皓 張超

  • 出版商: 清華大學
  • 出版日期: 2025-03-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 284
  • ISBN: 7302679339
  • ISBN-13: 9787302679332
  • 相關分類: Rust 語言程式語言
  • 下單後立即進貨 (約4週~6週)

  • Rust汽車電子開發實踐-preview-1
  • Rust汽車電子開發實踐-preview-2
  • Rust汽車電子開發實踐-preview-3
Rust汽車電子開發實踐-preview-1

商品描述

"《Rust汽車電子開發實踐》專註於介紹Rust編程語言在汽車電子領域的應用。隨著汽車行業向智能化、電動化和網聯化的快速演進,傳統的C/C++編程語言在內存安全、數據競爭等問題上逐漸顯露出局限性。Rust語言以其獨特的內存安全保證、現代的並發處理能力和跨平臺的兼容性,為汽車電子軟件開發提供了新的解決方案。 《Rust汽車電子開發實踐》從Rust語言的基本語法和特性講起,逐步深入到其在嵌入式系統中的應用,尤其關註汽車電子領域。書中詳細介紹了Rust的所有權系統、類型系統、並發編程以及錯誤處理等核心概念,同時探討了Rust在汽車電子領域的具體應用。 《Rust汽車電子開發實踐》不僅理論知識豐富,還提供了大量的代碼示例和項目實踐。無論是初學者還是有經驗的開發者,都能通過本書深入瞭解並掌握Rust在汽車電子領域的應用。"

作者簡介

司江平,曾擔任多家公司CPO、CTO等研發管理職務,服務國內外多個世界500強企業;擁有豐富的嵌入式、大數據和人工智能等產品的實戰經驗,並擁有多項發明專利。

目錄大綱

目    錄

 

開篇 1

第1章  Rust語言簡介 2

1.1  Rust語言概述 3

1.2  Rust語言特性 4

1.3  Rust語言發展歷程和現狀 6

1.4  Rust語言與C/C++的比較 8

1.5  Rust語言學習資源 10

1.6  總結與討論 10

1.7  練習 11

第2章  初識Rust 12

2.1  IDE環境介紹 12

2.2  安裝Rust 14

2.2.1  Windows安裝 14

2.2.2  Linux或macOS安裝 14

2.2.3  故障排除 15

2.2.4  更新與卸載 15

2.2.5  本地文檔 16

2.3  第一個Rust程序:Hello world 16

2.4  Cargo介紹 17

2.4.1  創建項目 17

2.4.2  編譯並運行Cargo項目 18

2.4.3  發布 19

2.4.4  依賴 19

2.5  調試Rust 20

2.6  總結與討論 21

2.7  練習 22

第3章  編程基礎概念 23

3.1  關鍵字 23

3.2  變量 23

3.3  常量 25

3.4  數據類型 25

3.5  函數 28

3.6  註釋 29

3.7  控制流 30

3.8  總結與討論 34

3.9  練習 34

第4章  所有權 35

4.1  棧與堆 35

4.2  所有權規則 36

4.3  變量作用域 37

4.4  內存與分配 38

4.5  變量與數據交互的方式:移動(move) 39

4.6  變量與數據交互的方式:克隆(clone) 40

4.7  所有權與函數 41

4.8  引用與借用 42

4.9  可變引用 42

4.10  懸垂引用 45

4.11  總結與討論 47

4.12  練習 48

第5章  結構體 49

5.1  結構體實例 49

5.2  使用結構體 50

5.3  結構體方法 51

5.4  關聯函數 53

5.5  總結與討論 53

5.6  練習 54

第6章  枚舉 55

6.1  枚舉值 55

6.2  Option枚舉 56

6.3  match控制流 58

6.4  綁定值的模式 60

6.5  匹配Option<T> 61

6.6  匹配的一些知識點 61

6.7  if let控制流 62

6.8  總結與討論 63

6.9  練習 64

第7章  模塊系統 65

7.1  包和crate 65

7.2  模塊 66

7.3  引用模塊項目的路徑 68

7.4  使用pub關鍵字 69

7.5  使用use關鍵字 71

7.6  使用as關鍵字 71

7.7  使用第三方的包 72

7.8  總結與討論 72

7.9  練習 74

第8章  練手:寫個猜數字游戲 75

8.1  處理輸入和輸出 75

8.2  生成一個秘密數字 77

8.3  比較 79

8.4  循環猜數 83

8.5  總結與討論 84

8.6  練習 84

第9章  嵌入式系統簡介 85

9.1  嵌入式系統概述 85

9.2  汽車中的嵌入式設備 86

9.3  嵌入式系統的組成 88

9.4  汽車中的嵌入式技術 90

9.5  嵌入式系統開發流程 91

9.6  汽車嵌入式軟件開發 93

9.7  嵌入式系統常見的問題 97

9.8  Rust語言在嵌入式系統中的優勢 98

9.9  總結與討論 98

9.10  練習 99

第10章  Rust在Linux中的應用 100

10.1  在Windows系統下編譯Linux程序 100

10.2  命令行程序 103

10.3  my_ls程序 103

10.4  錯誤處理 105

10.5  優化my_ls 108

10.6  總結與討論 109

10.7  練習 109

第11章  Rust的文件操作 110

11.1  Linux的文件系統 110

11.2  Rust創建文件 111

11.3  讀寫文件 113

11.4  設置文件指針指向的位置 118

11.5  總結與討論 120

11.6  練習 120

第12章  多線程處理 121

12.1  進程與線程 121

12.2  閉包 122

12.3  迭代器 131

12.4  線程 134

12.5  多線程共享狀態 143

12.6  總結與討論 148

12.7  練習 149

第13章  汽車電子生態環境介紹 150

13.1  汽車電子主要供應商 151

13.1.1  汽車電子Tier 1供應商 151

13.1.2  汽車電子國內外主要芯片供應商 152

13.2  汽車電子應用場景 154

13.3  MCU簡介 159

13.3.1  車規級MCU 160

13.3.2  ECU、MCU、VCU、HCU、PCU…… 161

13.4  車規級MCU的分類及其主要產品 164

13.4.1  車規級MCU的分類 164

13.4.2  車規級MCU的主要廠商及其產品 165

13.5  總結與討論 172

13.6  練習 173

第14章  Rust語言在MCU中的應用 174

14.1  Rust語言MCU開發環境搭建 174

14.2  Rust嵌入式開發環境的初步使用 184

14.3  初級應用:點亮LED 192

14.4  進階應用:實現LED閃爍 202

14.5  進階應用:按鍵控制 207

14.6  進階應用:按鍵中斷 211

14.7  CAN通信 217

14.8  總結與討論 226

14.9  練習 227

第15章  Rust在TCxx硬件平臺上的開發 228

15.1  工具鏈說明 229

15.2  硬件平臺 232

15.3  TC375 Lite Kit Example 234

15.4  總結與討論 258

15.5  練習 259

第16章  Rust進階應用之DDS 260

16.1  DDS中間件簡介 260

16.2  DDS的發布/訂閱模式 262

16.3  DDS在汽車電子中的應用 263

16.4  DDS發布/訂閱模式的Rust實現 264

16.5  總結與討論 275

16.6  練習 276

第17章  汽車電子開發展望 277

17.1  汽車電子開發現狀 277

17.2  汽車電子中Rust的發展機會 279

17.3  反思與計劃 281

附錄  關鍵字 283