书籍详情
Rust汽车电子开发实践

作者:司江平 周炯皓 张超
出版社:清华大学出版社
出版时间:2025-03-01
ISBN:9787302679332
定价:¥99.00
购买这本书可以去
内容简介
《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 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
第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 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
猜您喜欢



