嵌入式系統課程設計

《高等院校計算機課程設計指導叢書·嵌入式系統課程設計》根據嵌入式系統設計課程的基本概念、基本原理和實際設計方法的要求,總結提煉出9個課程設計題目,以配合教學過程。

內容介紹

《高等院校計算機課程設計指導叢書·嵌入式系統課程設計》通過分析原始碼和系統設計等手段,幫助讀者學習基於ARM核心的微處理器原理、嵌入式軟體技術和嵌入式Linux作業系統等嵌入式系統設計的基本原理和方法,並初步具備嵌入式系統設計能力。《高等院校計算機課程設計指導叢書·嵌入式系統課程設計》第二部分的每一章對應一個課程設計題目,其中包括課程設計的目的、要求、相關知識、課程設計分析和擴展內容,書後附有部分課程設計題目的參考程式,以及相關的參考資料。

目錄信息

前言

第0章 引言1

0.1 對讀者基本知識和技能的要求1

0.2 對讀者自行開展課程設計的期望2

第1章 VxWorks/Tornado概述3

1.1 VxWorks基本組成3

1.2 VxWorks特點4

1.3 Tornado概述5

1.4 VxWorks任務管理6

1.4.1 任務狀態轉換7

1.4.2 任務框架8

1.4.3 任務相關API函式9

1.4.4 任務相關API函式使用範例10

1.5 VxWorks任務間通信12

1.5.1 信號量13

1.5.2 信號量語句編程實驗14

1.5.3 訊息佇列16

1.5.4 訊息佇列語句編程實驗19

1.5.5 管道19

1.5.6 信號(軟中斷)20

1.5.7 進程間通信函式綜合使用範例22

1.6 VxWorks中斷機制27

1.7 VxWorks設備驅動28

1.7.1 VxWorks設備描述符29

1.7.2 VxWorks的I/O系統29

1.7.3 基本I/O接口30

1.7.4 安裝VxWorks驅動程式31

1.8 VxWorks圖形組件32

1.8.1 WindML 3.032

1.8.2 通用圖形庫33

1.8.3 WindML基本知識34

1.8.4 UGL獲得輸入設備信息的詳細解釋35

1.8.5 典型WindML繪圖程式結構36

1.8.6 UGL常用的視窗函式38

1.9 小結40

第2章 嵌入式系統課程設計概述41

2.1 嵌入式課程設計的基本特點41

2.2 嵌入式課程設計的教學目標42

2.3 嵌入式課程設計的基本分類42

2.3.1 控制類課程設計42

2.3.2 模擬器類課程設計43

2.3.3 通信類課程設計43

2.3.4 地理位置服務類課程設計44

2.3.5 遊戲類課程設計46

2.3.6 實用工具類課程設計46

2.4 嵌入式課程設計的基本步驟46

2.4.1 選題說明書46

2.4.2 可行性分析48

2.4.3 概要設計49

2.4.4 任務劃分58

2.4.5 常用編碼規則58

2.4.6 頭檔案編程範例60

2.4.7 代碼最佳化62

2.4.8 測試方案設計和測試用例65

2.4.9 測試報告68

2.4.10 實驗文檔編寫指導69

2.5 小結70

第3章 控制類課程設計71

3.1 LED點陣漢字滾行顯示擴展板71

3.1.1 軟硬體開發環境71

3.1.2 硬體功能分析與設計71

3.1.3 擴展板電路設計77

3.1.4 漢字顯示原理80

3.1.5 軟體功能分析與設計82

3.1.6 驅動程式設計87

3.1.7 測試方案設計90

3.1.8 測試應用程式設計90

3.1.9 CPLD程式註解92

3.1.10 VxWorks驅動程式註解95

3.1.11 驅動程式測試步驟和測試結果109

3.2 其他實現方案110

3.3 思考題111

3.4 替換練習111

3.5 小結111

第4章 模擬器類課程設計112

4.1 列車自動售票機模擬器112

4.1.1 概述113

4.1.2 自動售票機軟硬體環境需求113

4.1.3 自動售票機用戶需求113

4.1.4 功能分析和設計115

4.2 數據分析116

4.2.1 主要結構體數據變數定義117

4.2.2 數據流分析118

4.3 任務劃分和定義119

4.4 人機互動設計120

4.4.1 主函式progStart設計125

4.4.2 usrAppInit函式126

4.4.3 模擬錢幣輸入時間限制處理127

4.5 進一步理解TTVM程式128

4.5.1 完整原始碼清單閱讀指南128

4.5.2 任務處理流程的著色說明128

4.5.3 二進制信號量使用分析128

4.5.4 訊息佇列使用分析129

4.5.5 其他IPC語句使用131

4.6 任務執行流程分析131

4.6.1 LCD任務的處理流程131

4.6.2 觸控螢幕任務的處理流程135

4.6.3 計算任務的處理流程137

4.6.4 輸入任務的處理流程142

4.6.5 輸出任務的處理流程146

4.6.6 鍵盤任務的處理流程150

4.6.7 LED數碼管任務的處理流程150

4.6.8 自動售票機模擬器的主要函式152

4.7 測試方案設計154

4.8 異常處理測試方案設計155

4.9 測試結果和故障排除159

4.10 思考題160

4.11 聯網自動售票機模擬器161

4.12 小結161

第5章 網路遊戲類課程設計162

5.1 跳棋溯源162

5.2 聯網跳棋電子遊戲簡介163

5.2.1 軟硬體環境163

5.2.2 主要功能163

5.3 跳棋遊戲運行指南164

5.3.1 運行前的準備工作164

5.3.2 遊戲操作說明164

5.4 自然人走棋版本系統設計168

5.4.1 主界面設計168

5.4.2 棋位極坐標系設計170

5.4.3 繪圖坐標系設計171

5.4.4 主要數據結構和數組賦值173

5.4.5 顏色確定算法175

5.4.6 旋轉映射算法176

5.4.7 走棋規則178

5.4.8 游標改變及走棋設計178

5.4.9 可達棋位搜尋算法179

5.4.10 遊戲勝利的判斷及排名和記錄步數算法180

5.4.11 判斷當前和下一步該誰走棋的算法180

5.4.12 程式模組劃分181

5.4.13 任務劃分181

5.4.14 數據包結構描述181

5.4.15 網路通信處理流程182

5.4.16 游標閃爍的實現及信號的使用182

5.4.17 程式間通信183

5.4.18 圖形界面繪製183

5.4.19 函式184

5.5 任務函式處理流程187

5.5.1 progStart任務187

5.5.2 taskGame任務188

5.5.3 taskGlint任務189

5.5.4 taskRecv任務190

5.5.5 taskTick任務和taskTimeShow任務192

5.6 機器走棋版本系統設計192

5.6.1 跳棋遊戲平台描述193

5.6.2 可判優坐標系設計193

5.6.3 機器走棋的棋盤坐標系變換194

5.6.4 智慧型走棋策略196

5.6.5 數據結構改動198

5.6.6 程式模組改動198

5.6.7 taskCMP任務工作原理及流程圖198

5.6.8 開局階段走棋函式說明199

5.6.9 中局階段走棋函式說明200

5.6.10 收尾階段走棋函式說明202

5.6.11 循環走棋判斷203

5.6.12 程式間通信204

5.6.13 每步走棋等待時間設定205

5.6.14 增加的函式205

5.7 機器走棋版本編程指南206

5.7.1 跳棋B版本的工程檔案206

5.7.2 處理流程總控制結構206

5.7.3 對模板程式中智慧型走棋算法的改造207

5.7.4 改造後的程式測試及算法評估215

5.8 編碼過程中的故障排除217

5.9 設計測試方案並進行測試217

5.9.1 測試方案217

5.9.2 測試實施218

5.9.3 6個自然人玩家的實測記錄218

5.9.4 4個自然人玩家的實測記錄219

5.9.5 2個自然人玩家和1個機器玩家的實測記錄221

5.9.6 2個機器玩家的實測記錄221

5.9.7 2個自然人玩家和4個機器玩家的實測記錄222

5.9.8 6個機器玩家的實測記錄222

5.10 機器棋手博弈走棋算法223

5.10.1 博弈走棋的圖例說明224

5.10.2 紅色玩家的優選走棋路徑225

5.10.3 黃色玩家的優選走棋路徑226

5.10.4 綠色玩家的優選走棋路徑227

5.10.5 淺藍色玩家的優選走棋路徑229

5.10.6 深藍色玩家的優選走棋路徑230

5.10.7 紫色玩家的優選走棋路徑231

5.10.8 當前玩家敏感走法案例圖解232

5.10.9 博弈算法基本處理流程233

5.11 功能擴展練習和替換練習237

5.12 小結239

附錄 WindML繪圖程式例子240

參考文獻246

相關詞條

熱門詞條

聯絡我們