《嵌入式作業系統原理與面向任務程式設計——基於μC/OS-Ⅱ v2.86和ARM920T》是2010年西安電子科技大學出版社出版的圖書,作者是張勇。
基本介紹
- 中文名:嵌入式作業系統原理與面向任務程式設計——基於μC/OS-Ⅱ v2.86和ARM920T
- 作者:張勇
- 出版社:西安電子科技大學出版社
- 出版時間:2010年12月
- 定價:27.2 元
- ISBN:978-7-5606-2490-7/TP.1240
內容簡介,目錄,
內容簡介
本書基於μC/OS-Ⅱ v2.86和ARM920T晶片講述嵌入式作業系統的工作原理以及面向任務應用程式設計方法,闡述基於μC/OS-Ⅱ系統的用戶應用程式的工作流程。全書共分八章,主要內容包括嵌入式實時作業系統概述、嵌入式實時作業系統原理、μC/OS-Ⅱ核心、μC/OS-Ⅱ組件、μC/OS-Ⅱ套用實例、μC/OS-Ⅱ最小系統、面向任務程式設計(TOP)以及TOP設計實例等。本書的特色在於理論講解透徹、實例豐富且針對性強。
本書是作者近幾年來從事嵌入式系統教學與研究的成果結晶,重點講述μC/OS-Ⅱ v2.86原理與套用,同時給出了裁剪的μC/OS-Ⅱ最小系統,對學習嵌入式作業系統設計具有較強的指導作用。本書是作者已出版的《μC/OS-Ⅱ原理與ARM應用程式設計》(西安電子科技大學出版社2010年出版)一書的姊妹篇,偏重於嵌入式作業系統工作原理與設計方法。
本書可作為電子通信、軟體工程、自動控制、智慧型儀器等相關專業高年級本科生或研究生學習嵌入式作業系統的教材,也可作為從事嵌入式套用和嵌入式作業系統開發的電子工程師、軟體工程師以及嵌入式愛好者的參考書。
目錄
第一章 嵌入式實時作業系統概述 1
1.1 作業系統的概念 1
1.2 嵌入式作業系統 2
1.3 嵌入式實時作業系統舉例 3
1.3.1 Windows CE 3
1.3.2 VxWorks 4
1.3.3 嵌入式Linux 5
1.3.4 Android系統 5
1.4 μC/OS-Ⅱ和μC/OS-Ⅲ的特點 6
1.4.1 μC/OS-Ⅱ的特點 6
1.4.2 μC/OS-Ⅲ的特點 7
1.5 小結 8
習題一 8
第二章 嵌入式實時作業系統原理 9
2.1 進程與執行緒 9
2.1.1 進程 10
2.1.2 執行緒 11
2.1.3 任務 11
2.2 任務調度與優先權 13
2.2.1 任務狀態 13
2.2.2 任務優先權 14
2.2.3 任務切換 14
2.2.4 任務調度算法 15
2.2.5 中斷與實時性 18
2.3 資源 20
2.3.1 共享資源 20
2.3.2 變數 20
2.3.3 可重入函式 22
2.3.4 死鎖 23
2.4 記憶體管理 24
2.4.1 堆 25
2.4.2 棧 25
2.4.3 記憶體碎片 25
2.5 核心與時鐘節拍 26
2.5.1 不可搶先型核心 26
2.5.2 可搶先型核心 27
2.5.3 時鐘節拍 28
2.5.4 空閒任務 29
2.6 信號量與互斥信號量 29
2.6.1 信號量 30
2.6.2 互斥信號量 31
2.7 訊息信箱 32
2.8 小結 33
習題二 33
第三章 μC/OS-Ⅱ核心 34
3.1 μC/OS-Ⅱ初始化 34
3.2 空閒任務控制塊鍊表 39
3.3 空閒事件控制塊鍊表 44
3.4 空閒記憶體控制塊鍊表 47
3.5 任務就緒組和任務就緒表 50
3.6 空閒任務 56
3.7 統計任務 59
3.8 定時器任務 64
3.9 空閒事件標誌組鍊表 70
3.10 空閒訊息佇列鍊表 74
3.11 時鐘節拍 76
3.12 任務狀態 81
3.13 任務調度與核心函式 83
3.13.1 核心管理函式 86
3.13.2 延時管理函式 91
3.13.3 移植管理函式 94
3.14 多任務啟動 95
3.15 小結 96
習題三 97
第四章 μC/OS-Ⅱ組件 98
4.1 任務管理 98
4.1.1 創建任務 99
4.1.2 刪除任務 110
4.1.3 堆疊檢查 113
4.2 信號量管理 115
4.2.1 信號量使用方法 116
4.2.2 信號量創建函式 117
4.2.3 信號量請求函式 120
4.2.4 信號量釋放函式 124
4.2.5 信號量賦值函式 128
4.3 互斥信號量管理 129
4.3.1 互斥信號量使用方法 130
4.3.2 互斥信號量創建函式 131
4.3.3 互斥信號量請求函式 133
4.3.4 互斥信號量釋放函式 137
4.4 事件標誌組管理 140
4.4.1 事件標誌組使用方法 141
4.4.2 事件標誌組創建函式 142
4.4.3 事件標誌組請求函式 143
4.4.4 事件標誌組釋放函式 151
4.5 訊息信箱管理 155
4.5.1 訊息信箱使用方法 157
4.5.2 訊息信箱創建函式 157
4.5.3 訊息信箱請求函式 158
4.5.4 訊息信箱釋放函式 161
4.6 訊息佇列管理 162
4.6.1 訊息佇列使用方法 164
4.6.2 訊息佇列創建函式 164
4.6.3 訊息佇列請求函式 166
4.6.4 訊息佇列釋放函式 169
4.7 多事件請求管理 170
4.7.1 多事件請求函式使用方法 171
4.7.2 多事件請求函式工作原理 171
4.8 中斷管理宏函式 180
4.9 定時器管理 181
4.9.1 定時器任務 182
4.9.2 定時器使用方法 186
4.9.3 定時器創建函式 186
4.9.4 定時器啟動函式 189
4.9.5 定時器停止函式 191
4.9.6 定時器刷新函式 193
4.10 動態記憶體管理 194
4.10.1 動態記憶體使用方法 195
4.10.2 動態記憶體創建函式 195
4.10.3 動態記憶體請求函式 198
4.10.4 動態記憶體釋放函式 199
4.11 小結 200
習題四 200
第五章 μC/OS-Ⅱ套用實例 201
5.1 Borland C++ 5.02與實例一 201
5.1.1 在Borland C++上實現實例一 201
5.1.2 實例一程式解釋 209
5.1.3 μC/OS-View與實例一 215
5.2 實例二 223
5.3 實例三 227
5.4 實例四 230
5.5 小結 233
習題五 233
第六章 μC/OS-Ⅱ最小系統 234
6.1 核心裁剪 234
6.1.1 配置檔案os_cfg.h 235
6.1.2 最小系統頭檔案ucos_ii.h 237
6.1.3 最小系統檔案與執行流程 239
6.2 最小系統實例 240
6.3 小結 243
習題六 243
第七章 面向任務程式設計(TOP) 244
7.1 程式設計方法 245
7.2 任務與函式 247
7.3 任務構造方法 251
7.3.1 指示層任務設計 251
7.3.2 輸入/輸出層任務設計 254
7.3.3 計算層和輸入/輸出層任務聯合設計 256
7.4 任務優先權與堆疊 257
7.5 任務調度與切換 259
7.6 任務間同步與通信 260
7.7 任務掛起與恢復 261
7.8 小結 262
習題七 263
第八章 TOP設計實例 264
8.1 硬體平台 264
8.2 工程框架與實例一 267
8.2.1 工程框架 267
8.2.2 LED燈閃爍與實例一 273
8.3 實例二 276
8.3.1 串口驅動 276
8.3.2 串口通信實例 278
8.4 實例三 281
8.4.1 數碼管驅動 281
8.4.2 數碼管秒表實例 282
8.4.3 數碼管顯示實例 286
8.5 實例四 290
8.5.1 模/數變換驅動 290
8.5.2 模/數變換實例 291
8.5.3 中值濾波實例 295
8.6 小結 299
習題八 299
附錄 μC/OS-Ⅲ和Cortex-M3
簡要說明 300
附錄1 μC/OS-Ⅲ檔案組織結構 300
附錄2 Cortex-M3處理器和EMSTM32V100
實驗平台 301
附錄3 μC/OS-Ⅲ實例說明 303
後記 305