嵌入式系統設計
廖勇
買這商品的人也買了...
-
$400$360 -
$2,600$2,548 -
$594$564 -
$534$507 -
$1,560$1,529 -
$505C++ 新經典:Linux C++ 通信架構實戰
-
$1,194$1,134 -
$534$507 -
$556透視 C# 核心技術:系統架構及移動端開發
-
$414$393 -
$414$393 -
$359$341 -
$509Python 工匠 案例、技巧與工程實踐
-
$1,074$1,020 -
$403安卓 Frida 逆向與協議分析
-
$539$512 -
$509深度學習原理與 PyTorch 實戰, 2/e
-
$301機器人視覺測量與控制(第3版)
-
$708$673 -
$414$393 -
$594$564 -
$534$507 -
$714$678 -
$680$530 -
$594$564
相關主題
商品描述
本書以項目開發為中心,以嵌入式系統設計為主線組織內容。本書首先描述簡單嵌入式裸機系統、輪詢系統、前後台系統、多任務實時操作系統的設計過程;然後介紹具備基本飛行功能的四軸飛行器的設計過程;最後基於大疆的四軸飛行器和異構高性能嵌入式多核開發平臺,講解復雜嵌入式系統的設計方法與設計過程。本書各學科知識交叉融合,內容講解由易到難,旨在培養學生解決復雜工程問題的能力,為學生逐步成長為高層次系統工程人才打下堅實基礎。
本書可作為高等院校軟件工程、電腦科學與技術、自動化、電子工程等專業的教材,也可作為項目類課程、挑戰性課程、綜合設計類課程的指導用書,還可供嵌入式系統設計或四軸飛行器愛好者學習參考。
作者簡介
廖勇:博士,电子科技大学信息与软件工程学院教授,学院教学指导委员会主任;长期从事“嵌入式操作系统”“实时计算”等课程的教学工作,并受邀(每年)为法国鲁昂高等工程师学院讲授“Embedded Real-Time Operating System”课程;获首届全国高校教师教学创新大赛全国决赛二等奖,教学案例“多旋翼飞行器设计”获首届全国软件工程教学案例竞赛一等奖。
目錄大綱
【章名目錄】
第 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