嵌入式系統設計

廖勇

  • 出版商: 人民郵電
  • 出版日期: 2022-04-01
  • 定價: $599
  • 售價: 8.5$509
  • 語言: 簡體中文
  • ISBN: 711557782X
  • ISBN-13: 9787115577825
  • 相關分類: 嵌入式系統
  • 立即出貨

  • 嵌入式系統設計-preview-1
  • 嵌入式系統設計-preview-2
嵌入式系統設計-preview-1

買這商品的人也買了...

商品描述

本書以項目開發為中心,以嵌入式系統設計為主線組織內容。本書首先描述簡單嵌入式裸機系統、輪詢系統、前後台系統、多任務實時操作系統的設計過程;然後介紹具備基本飛行功能的四軸飛行器的設計過程;最後基於大疆的四軸飛行器和異構高性能嵌入式多核開發平臺,講解復雜嵌入式系統的設計方法與設計過程。本書各學科知識交叉融合,內容講解由易到難,旨在培養學生解決復雜工程問題的能力,為學生逐步成長為高層次系統工程人才打下堅實基礎。

本書可作為高等院校軟件工程、電腦科學與技術、自動化、電子工程等專業的教材,也可作為項目類課程、挑戰性課程、綜合設計類課程的指導用書,還可供嵌入式系統設計或四軸飛行器愛好者學習參考。

作者簡介

廖勇:博士,电子科技大学信息与软件工程学院教授,学院教学指导委员会主任;长期从事“嵌入式操作系统”“实时计算”等课程的教学工作,并受邀(每年)为法国鲁昂高等工程师学院讲授“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