μC/OS-2標準教程

μC/OS-2標準教程

《μC/OS-2標準教程》是2009年人民郵電出版社出版的圖書,作者是楊宗德、張兵。

該書還通過具體實例介紹μC/OS-II系統在以ARM 9為核心的嵌入式處理器S3C2410上的移植方法,最後對輕量級TCP/IP協定棧——μC/TCP-IP協定棧進行了概要介紹。

基本介紹

  • 書名:μC/OS-2標準教程
  • 作者:楊宗德、張兵
  • ISBN:9787115204424
  • 頁數:272頁
  • 定價:32.70
  • 出版社人民郵電出版社
  • 出版時間:2009年
  • 裝幀:平裝
  • 開本:16開
內容簡介,編輯推薦,圖書目錄,

內容簡介

《μC/OS-2標準教程》主要介紹μC/OS-II(2.80版本)實時作業系統,包括核心分析及其在ARM 9核心處理器(S3C2410)上的移植方法。核心方面主要包括μC/OS-II操作任務管理、任務級任務調度和中斷級任務調度、系統啟動與初始化、時鐘任務管理、任務間通信機制、任務間單事件和多事件同步機制、記憶體管理方式。
《μC/OS-2標準教程》可以作為高等院校學習嵌入式作業系統原理的專業教材,也適合有意從事嵌入式系統開發的工程技術人員閱讀。《μC/OS-2標準教程》假定讀者有較好的C語言基礎和數據結構基礎知識,如果讀者對ARM處理器有一定的了解,將更容易掌握《μC/OS-2標準教程》內容。

編輯推薦

《μC/OS-2標準教程》特點:逐句分析u(3/OS-II(2.80版本)原始碼,詳細分析系統原理。以Microsoft vc++環境為平台,配備完整模擬套用案例。以S3C24 10(ARM9)為處理器平台,分析硬體平台相關代碼,逐步介紹移植過程。
《μC/OS-2標準教程》主要介紹uC/OS-II(2.80版本)核心基本原理(包括任務及任務調度、系統啟動與實始化、任務間通信與同步、記憶體管理),分析原始碼及套用案例,並介紹在ARM9核心處理器(S3C:2410)上的移植和uC/TCP-IP協定棧設計方法。

圖書目錄

第1章 μC/OS-II與嵌入式實時作業系統 1
1.1 實時作業系統概述 2
1.1.1 嵌入式系統軟體結構 2
1.1.2 實時作業系統核心概述 3
1.1.3 常見實時作業系統簡介 4
1.2 μC/OS-II核心原始碼文檔結構 6
1.2.1 構建μC/OS-II模擬編程環境 6
1.2.2 測試程式原始碼說明 8
1.3 μC/OS-II基本概念 9
1.3.1 嵌入式應用程式開發模式 9
1.3.2 可重入函式與不可重入函式 10
1.3.3 μC/OS-II臨界狀態管理 11
1.4 小結 12
1.5 習題 13
第2章 μC/OS-II任務管理 15
2.1 案例引入:基於mC/OS-II的多任務管理 16
2.1.1 μC/OS-II多任務示例運行結果 16
2.1.2 μC/OS-II多任務代碼分析 16
2.2 μC/OS-II任務基本屬性 17
2.2.1 C語言可執行代碼結構 17
2.2.2 μC/OS-II任務結構 18
2.2.3 μC/OS-II任務棧 19
2.2.4 μC/OS-II任務控制塊 21
2.2.5 μC/OS-II任務優先權 26
2.2.6 μC/OS-II任務狀態 26
2.2.7 系統任務 28
2.3 μC/OS-II任務管理函式源碼分析 32
2.3.1 創建任務 32
2.3.2 初始化任務棧 35
2.3.3 初始化任務控制塊 37
2.3.4 擴展創建任務 40
2.3.5 刪除任務 42
2.3.6 請求刪除任務 45
2.3.7 掛起任務 47
2.3.8 恢復任務 49
2.3.9 設定任務名稱 50
2.3.10 獲取任務名稱 52
2.3.11 讀取任務TCB信息 53
2.4 套用實例:多任務管理套用分析 55
2.4.1 基本功能 55
2.4.2 程式實現及源碼分析 55
2.5 小結 58
2.6 習題 58
第3章 μC/OS-II任務調度與系統初始化 59
3.1 μC/OS-II任務級任務調度機制 60
3.1.1 μC/OS-II調度算法 60
3.1.2 μC/OS-II任務就緒表 60
3.1.3 獲取最高優先權就緒任務 62
3.2 μC/OS-II任務級任務調度 63
3.2.1 任務級任務調度算法分析 63
3.2.2 任務級任務切換OS_TASK_SW() 64
3.2.3 調度器上鎖與解鎖 66
3.2.4 修改任務優先權 67
3.3 μC/OS-II中斷級任務調度 69
3.3.1 μC/OS-II中斷管理 69
3.3.2 IRQ中斷處理過程及中斷級調度 70
3.3.3 OSIntEnter()進入中斷管理函式 72
3.3.4 OSIntExit()退出中斷管理函式 72
3.3.5 中斷級任務調度切換函式OSIntCtxSw() 73
3.3.6 FIQ中斷處理過程及中斷級調度 74
3.4 任務級任務調度實例 76
3.4.1 程式功能 76
3.4.2 程式實現及源碼分析 76
3.5 小結 78
3.6 習題 79
第4章 μC/OS-II系統啟動與時鐘任務管理 81
4.1 μC/OS-II系統啟動過程分析 82
4.1.1 μC/OS-II應用程式開發模式 82
4.1.2 OSInit()函式初始化分析 82
4.1.3 OSStart()函式啟動系統分析 87
4.1.4 運行最高優先權任務 87
4.2 時鐘任務與時鐘管理 88
4.2.1 創建系統時鐘任務 88
4.2.2 時鐘中斷服務程式OSTimeTick() 89
4.2.3 系統時間管理函式源碼分析 91
4.3 小結 95
4.4 習題 95
第5章 μC/OS-II任務間通信機制 97
5.1 μC/OS-II事件管理機制 98
5.1.1 事件控制塊 98
5.1.2 事件控制塊管理 99
5.2 單一訊息傳遞事件:訊息信箱 101
5.2.1 訊息信箱基本原理 101
5.2.2 創建訊息信箱 101
5.2.3 阻塞式讀取訊息 103
5.2.4 非阻塞式讀取訊息 106
5.2.5 傳送訊息到訊息信箱 107
5.2.6 按指定方式傳送數據到訊息信箱 110
5.2.7 刪除訊息信箱 111
5.2.8 獲取訊息信箱基本信息 114
5.2.9 訊息信箱套用實例 115
5.3 多訊息傳遞事件:訊息佇列 117
5.3.1 訊息佇列基本原理 117
5.3.2 創建訊息佇列 119
5.3.3 傳送訊息到佇列尾 121
5.3.4 傳送訊息到隊首 122
5.3.5 按指定方式傳送訊息 124
5.3.6 阻塞式讀取訊息 125
5.3.7 非阻塞式讀取訊息 128
5.3.8 刪除訊息佇列 129
5.3.9 獲取訊息佇列信息 132
5.3.10 清理訊息佇列空間 133
5.3.11 訊息佇列套用實例 134
5.4 小結 137
5.5 習題 138
第6章 μC/OS-II任務間單事件同步機制 139
6.1 任務同步機制:信號量 140
6.1.1 信號量基本原理 140
6.1.2 創建信號量 140
6.1.3 阻塞式獲取信號量 141
6.1.4 非阻塞式獲取信號量 143
6.1.5 釋放信號量 144
6.1.6 刪除信號量 145
6.1.7 查詢信號量信息 147
6.1.8 設定信號量的值 148
6.1.9 信號量實現生產-消費問題套用實例 149
6.2 互斥事件管理機制:互斥鎖 153
6.2.1 互斥鎖與優先權反轉 153
6.2.2 創建互斥鎖 156
6.2.3 阻塞式獲取互斥鎖 158
6.2.4 非阻塞式獲取互斥鎖 161
6.2.5 釋放互斥鎖 162
6.2.6 刪除互斥鎖 164
6.2.7 獲取互斥鎖基本信息 167
6.3 小結 168
6.4 習題 169
第7章 μC/OS-II多事件同步機制 171
7.1 事件組標誌同步機制基本原理 172
7.1.1 事件組標誌基本原理 172
7.1.2 初始化事件標誌組控制塊 174
7.2 事件組標誌基本操作 175
7.2.1 創建事件組標誌 175
7.2.2 阻塞式等待事件組標誌 176
7.2.3 非阻塞式等待事件組標誌 182
7.2.4 修改事件組標誌狀態 184
7.2.5 刪除事件標誌組 187
7.2.6 獲取任務就緒標誌 190
7.2.7 查詢事件組標誌信息 190
7.2.8 獲取事件組標誌名稱 191
7.2.9 設定事件組標誌名稱 192
7.3 使用事件組標誌實現讀寫鎖功能案例 193
7.3.1 案例功能及原理說明 193
7.3.2 程式原始碼分析 195
7.4 小結 197
7.5 習題 197
第8章 μC/OS-II記憶體分區管理 199
8.1 記憶體分區管理基本原理 200
8.1.1 μC/OS-II記憶體分區管理機制 200
8.1.2 記憶體分區控制塊數據空間初始化 201
8.2 μC/OS-II記憶體分區管理操作 202
8.2.1 創建記憶體分區 202
8.2.2 申請一個記憶體分區塊 204
8.2.3 釋放記憶體分區塊 205
8.2.4 查詢記憶體分區基本信息 206
8.2.5 讀取/設定記憶體分區名稱 207
8.3 μC/OS-II記憶體管理套用實例 210
8.3.1 應用程式基本功能 210
8.3.2 應用程式原始碼分析 211
8.4 小結 212
8.5 習題 212
第9章 μC/OS-II在S3C2410處理器上的移植案例分析 213
9.1 ARM執行檔結構分析 214
9.1.1 執行檔結構分析 214
9.1.2 ADS下執行檔的編譯連線過程分析 215
9.1.3 移植第一步:設定代碼存儲載入位置 217
9.2 移植第二步:編寫系統啟動代碼 218
9.2.1 開始執行,禁止中斷 219
9.2.2 初始化棧空間 219
9.2.3 複製異常代碼與異常向量地址 220
9.3 移植第三步:中斷處理與時鐘中斷任務 221
9.3.1 S3C2410中斷向量 221
9.3.2 S3C2410中斷處理硬體結構 223
9.3.3 移植時對中斷的處理 225
9.3.4 示例:μC/OS-II系統時鐘中斷任務管理 228
9.4 移植第四步:修改與調度相關的彙編代碼 229
9.4.1 臨界狀態問題 229
9.4.2 數據類型問題 230
9.4.3 任務調度問題與鉤子函式問題 231
9.5 移植後續工作:添加硬體驅動程式 232
9.5.1 重新寫C函式以實現信息從串口輸出 232
9.5.2 實現串口驅動程式 234
9.5.3 重寫堆疊空間初始化函式 237
9.6 小結 238
9.7 習題 238
第10章 μC/TCP-IP協定棧設計分析 239
10.1 TCP/IP協定棧概述 240
10.1.1 標準TCP/IP協定棧模型 240
10.1.2 BSD面向連線的TCP通信編程過程 241
10.1.3 BSD面向無連線的UDP通信實現 242
10.1.4 輕量級TCP/IP協定棧和標準TCP/IP協定棧比較 242
10.1.5 μC/TCP-IP協定棧介紹及特點 243
10.2 μC/TCP-IP協定棧設計 243
10.2.1 μC/TCP-IP協定棧基本框架 243
10.2.2 進程基本形式 245
10.2.3 接收數據過程 245
10.2.4 傳送數據過程 246
10.3 μC/TCP-IP協定棧實現 247
10.3.1 IP協定棧設計及實現 247
10.3.2 TCP協定設計及實現 249
10.3.3 UDP協定設計及實現 252
10.3.4 ICMP協定設計及實現 253
10.3.5 ARP設計及實現 255
10.3.6 緩衝區設計及管理 257
10.4 小結 260
10.5 習題 260
附錄 編譯程式工具簡介 261
A.1 Visual C++ 6.0集成開發環境 261
A.2 ADS集成開發環境 264
A.3 Source Insight原始碼查看工具 269

相關詞條

熱門詞條

聯絡我們