嵌入式系统设计

瞄准嵌入式系统设计,基于进阶式挑战性项目,培养学生系统工程实战能力。本书主编系首届全国高校教师教学创新大赛二等奖得主!
分享 推荐 1 收藏 10 阅读 823
廖勇 (作者)

关于本书的内容有任何问题,请联系 人邮社 王宣

1.以项目为中心,开展多维教学
2.以系统设计为主线,助力培养工程型人才
3.理论与实践融为一体,注重培养实战能力
4. 配套丰富教辅资源,助力院校人才培养
¥99.80 ¥84.83 (8.5 折)

特别说明

本书特色:
1.以项目为中心,开展多维教学!
本书打破课程界限,突破原有专业课程之间的先后关系,以项目为中心进行布局。所编内容与新工科教学理念相匹配,倡导在课程教学活动中采取学生自主学习、数字化学习、小组学习等学习方法;同时,本书还体现了“四性”,即挑战性、进阶性、系统性以及完整性。本书以培养学生的系统思维能力和“元认知”思维能力为目标,将“兴趣牵引、项目驱动、立足系统、理论与实践有机融合”这一思想贯穿项目实现的全过程。
2.以系统设计为主线,助力培养工程型人才!
本书以系统设计为主线,逐步介绍多种嵌入式系统的设计过程,内容由浅入深,可帮助学生逐步建立复杂工程问题解决能力,为其逐步成长为高层次系统工程型人才打下坚实基础。
3.理论与实践融为一体,注重培养实战能力!
本书将高校理论优势与行业优秀技术相结合,促进了理论与实践的有机融合,并基于Arm中国、中国大疆、意法半导体(STMicroelectronics,ST)等公司的大力支持,优化项目设计,构建了相关实践、实训环境,可系统培养学生的嵌入式系统设计实战能力。

内容摘要

本书以项目开发为中心,以嵌入式系统设计为主线组织内容。本书首先,描述“简单嵌入式裸机系统”“轮询系统”“前后台系统”“多任务实时操作系统”的设计过程;然后,介绍具备基本飞行功能的四轴飞行器的设计过程;最后,基于大疆的四轴飞行器和异构高性能嵌入式多核开发平台,讲解复杂嵌入式系统的设计方法与设计过程等。
本书各学科知识交叉融合,内容讲解由易到难,旨在培养学生解决复杂工程问题的能力,为学生逐步成长为高层次系统工程人才打下坚实基础。
本书可作为高等院校软件工程、计算机科学与技术、自动化、电子工程等专业的教材,也可作为项目类课程、挑战性课程、综合设计类课程的指导用书,还可供嵌入式系统设计或四轴飞行器爱好者学习参考。

进阶式项目实战

目录

【章名目录】

第1章 概论 1

第一部分 设计一个轮询系统
第2章 轮询系统 17

第二部分 设计一个前后台系统
第3章 前后台系统 41

第三部分 设计一个实时操作系统内核
第4章 多任务实时操作系统 57

第四部分 设计一个具备基本飞行功能的四轴飞行器
第5章 四轴飞行器飞行基本原理 131
第6章 基于aCoral的四轴飞行器总体设计 154
第7章 硬件系统设计 161
第8章 软件系统设计 170

第五部分 设计一个避障寻径四轴飞行器
第9章 避障寻径四轴飞行器软件
第10章 双目立体视觉 258
第11章 双目立体视觉子系统移植与优化 282
第12章 避障与路径规划 301
第13章 三维地图重建 316

参考文献 324


【详细目录】

第1章 概论 1
1.0 综述 2
1.1 嵌入式系统开发模式 3
1.1.1 产品定义与需求分析 5
1.1.2 系统总体设计 5
1.1.3 软硬件设计 5
1.1.4 软硬件集成 5
1.1.5 系统测试 5
1.2 嵌入式系统软件结构 5
1.2.1 轮询系统 6
1.2.2 前后台系统 6
1.2.3 多任务系统 6
1.3 多任务实时操作系统aCoral 8
1.4 四轴飞行器简介 9
1.4.1 无人机 10
1.4.2 四轴飞行器 10
1.4.3 立体视觉 11
1.4.4 同步定位与地图构建 12
1.4.5 路径规划 13
1.5 从多任务实时操作系统到四轴飞行器设计 13
1.6 本书结构 14
1.7 本章小结 15
习题1 15

第一部分 设计一个轮询系统

第2章 轮询系统 17
2.0 综述 18
2.1 轮询系统设计 18
2.1.1 程序框架 18
2.1.2 调度 18
2.1.3 典型系统 20
2.2 搭建开发环境 20
2.3 启动Mini2440 23
2.3.1 为什么需要启动 23
2.3.2 启动流程 24
2.4 轮询的实现 38
2.5 本章小结 39
习题2 39

第二部分 设计一个前后台系统

第3章 前后台系统 41
3.0 综述 42
3.1 前后台系统简介 42
3.1.1 应用场景 42
3.1.2 运行方式 43
3.1.3 性能评估指标 43
3.1.4 前后台交互 44
3.1.5 典型系统 44
3.2 中断和中断服务 45
3.2.1 中断 45
3.2.2 中断服务 46
3.3 Arm的中断机制 46
3.4 一个简单的S3C2440A中断服务 46
3.4.1 中断返回 47
3.4.2 中断注册 48
3.4.3 状态保存和现场恢复 50
3.5 前后台系统的实现 51
3.5.1 启动Mini2440 51
3.5.2 后台主循环 51
3.5.3 前台中断处理 53
3.6 本章小结 55
习题3 55

第三部分 设计一个实时操作系统内核

第4章 多任务实时操作系统 57
4.0 综述 58
4.1 aCoral线程 59
4.1.1 描述线程 60
4.1.2 线程优先级 67
4.2 调度策略 70
4.2.1 线程调度分层结构 70
4.2.2 调度策略分类 71
4.2.3 描述调度策略 71
4.2.4 查找调度策略 73
4.2.5 注册调度策略 73
4.3 基本调度机制 76
4.3.1 创建线程 76
4.3.2 调度线程 89
4.3.3 线程退出 100
4.3.4 其他基本机制 103
4.4 事件处理机制 110
4.4.1 中断 110
4.4.2 时钟管理 125
4.5 本章小结 128
习题4 128

第四部分 设计一个具备基本飞行功能的四轴飞行器

第5章 四轴飞行器飞行基本原理 131
5.0 综述 132
5.1 四轴飞行器机体结构 132
5.2 四轴飞行器飞行模式 132
5.2.1 悬停、上升、下降 133
5.2.2 俯仰 133
5.2.3 滚转 134
5.2.4 偏航 134
5.2.5 四轴飞行器设计的关键点 135
5.3 飞行控制 136
5.3.1 遥控器发送控制命令 137
5.3.2 姿态传感器确定位姿 137
5.3.3 飞行的反馈控制 138
5.4 用数学描述飞行器位姿与运动 139
5.4.1 刚体在三维空间中的运动 139
5.4.2 向量的旋转 139
5.4.3 用变换矩阵描述三维刚体旋转与位移 140
5.4.4 用旋转向量描述旋转与平移 142
5.4.5 用欧拉角描述旋转 143
5.4.6 用四元数描述旋转 144
5.4.7 四元数与欧拉角的相互转换 146
5.5 姿态解算 148
5.6 稳定性控制 150
5.7 本章小结 153
习题5 153

第6章 基于aCoral的四轴飞行器总体设计 154
6.0 综述 155
6.1 选定四轴飞行器机体 155
6.1.1 核心板 155
6.1.2 支臂 156
6.2 选定嵌入式硬件方案 156
6.3 选定嵌入式操作系统 157
6.4 确定软件总体结构 158
6.5 本章小结 159
习题6 160

第7章 硬件系统设计 161
7.0 综述 162
7.1 理解STM32 Nucleo嵌入式评估板 162
7.2 扩展评估板 164
7.3 设计转接板 165
7.3.1 确定输入输出设备数据 165
7.3.2 确定评估板与扩展板连接方案 165
7.3.3 生成元件库 166
7.3.4 绘制转接板原理图 166
7.3.5 设计与制作转接板PCB图 166
7.3.6 测试转接板 168
7.4 设计一体化控制主板 169
7.5 本章小结 169
习题7 169

第8章 软件系统设计 170
8.0 综述 171
8.1 移植aCoral 171
8.1.1 硬件抽象层移植 172
8.1.2 项目移植 187
8.2 用DARTS设计应用系统 191
8.2.1 DARTS 192
8.2.2 系统数据流图 195
8.2.3 任务划分 197
8.2.4 定义任务间接口 201
8.2.5 任务设计与实现 202
8.2.6 驱动程序实现 224
8.2.7 优化系统设计 231
8.3 本章小结 246
习题8 246

第五部分 设计一个避障寻径四轴飞行器

第9章 避障寻径四轴飞行器软件
总体设计 248
9.0 综述 249
9.1 选定开发平台 249
9.1.1 经纬M100 250
9.1.2 异构多核嵌入式平台 250
9.1.3 双目视觉传感器 252
9.1.4 平台物理结构 252
9.2 软件总体设计 253
9.3 本章小结 257
习题9 257

第10章 双目立体视觉 258
10.0 综述 259
10.1 双目立体视觉基本原理 259
10.2 标定双目立体相机 262
10.2.1 内参 262
10.2.2 外参 263
10.2.3 参数标定 264
10.3 评估双目立体视觉算法 268
10.4 实现基于ELAS的双目立体视觉算法 271
10.4.1 立体匹配模型 271
10.4.2 ELAS立体匹配模型的总体流程 273
10.4.3 使用描述符 274
10.4.4 提取支撑点 276
10.4.5 计算像素点视差 277
10.5 通过视差图生成点云图 279
10.6 本章小结 280
习题10 280

第11章 双目立体视觉子系统移植与优化 282
11.0 综述 283
11.1 ELAS算法性能评估 283
11.2 在TK1嵌入式平台上移植与优化ELAS算法 283
11.2.1 描述符的移植与优化 284
11.2.2 支撑点及视差计算的移植与优化 287
11.2.3 像素点视差计算的移植与优化 289
11.2.4 零复制与GPU共享内存 293
11.2.5 视差到点云图转换的优化 296
11.3 双目立体视觉子系统功能与性能测试 296
11.4 本章小结 300
习题11 300

第12章 避障与路径规划 301
12.0 综述 302
12.1 从点云图中提取障碍物 302
12.2 动态窗口法 304
12.2.1 基本原理 304
12.2.2 飞行器运动模型 305
12.2.3 生成候选轨迹 306
12.2.4 评价候选轨迹 308
12.3 超声波测距避障 310
12.4 功能与性能测试 310
12.4.1 障碍物提取测试 310
12.4.2 路径规划测试 311
12.4.3 整体避障与路径规划测试 313
12.5 本章小结 314
习题12 315

第13章 三维地图重建 316
13.0 综述 317
13.1 SLAM在本系统的应用 317
13.2 LIBVISO框架 319
13.3 特征匹配与运动估计 320
13.4 立体匹配与三维重建 321
13.5 SLAM系统功能测试 322
13.6 本章小结 323
习题13 323

参考文献 324

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

廖勇:
博士,电子科技大学信息与软件工程学院教授,学院教学指导委员会主任;长期从事“嵌入式操作系统”“实时计算”等课程的教学工作,并受邀(每年)为法国鲁昂高等工程师学院讲授“Embedded Real-Time Operating System”课程;获首届全国高校教师教学创新大赛全国决赛二等奖,教学案例“多旋翼飞行器设计”获首届全国软件工程教学案例竞赛一等奖。

推荐用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
微信二维码
读者服务
读者服务
返回顶部
返回顶部