TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
滿額折
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)
嵌入式實時操作系統μC/OS原理與實踐(簡體書)

嵌入式實時操作系統μC/OS原理與實踐(簡體書)

人民幣定價:39 元
定  價:NT$ 234 元
優惠價:87204
缺貨無法訂購
相關商品
商品簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

《嵌入式實時操作系統μC/OS原理與實踐》內容包括:實時操作系統基礎、任務管理、中斷和時間管理、事件管理、消息管理、內存管理、移植等。《嵌入式實時操作系統μC/OS原理與實踐》內容翔實,圖文并茂,采用逐步深入、反復印證的方法,從數據結構的設計入手,再到代碼分析、示例驗證的剖析方法,逐層深入講解,給出在虛擬平臺下的移植示例和針對各章內容示例,并給出了基于NIOS II的FPGA系統上移植的例子。
《嵌入式實時操作系統μC/OS原理與實踐》適用于計算機、電子、通信、自動化及相關專業大學本科、研究生,也適用于廣大嵌入式開發工程技術人員、電子技術研究人員、操作系統研究人員。

名人/編輯推薦

《嵌入式實時操作系統μC/OS原理與實踐》μC/OS是高實時性、多任務的操作系統,也是源代碼對非商業用途開放的操作系統,筆者結合自己的實際工作經驗,通過本書詳細闡釋μC/OS的系統原理及實戰技巧。《嵌入式實時操作系統μC/OS原理與實踐》對最新版本的μC/OSII-2.91進行深入剖析,從實時操作系統的原理開始,對重要的數據結構和代碼結合相關實例進行詳細解析,以便于讀者掌握。通過《嵌入式實時操作系統μC/OS原理與實踐》的學習,能夠幫助讀者全面、深入地掌握嵌入式實時操作系統的基本原理,全方位接觸μC/OS,對所學知識融會貫通,能夠靈活應用到實際的項目當中。

目次

Contents
第1章 實時操作系統基礎 1
1.1 操作系統概述 1
1.1.1 什么是操作系統 2
1.1.2 操作系統基本功能 3
1.2 實時操作系統概述 4
1.2.1 什么是實時操作系統 4
1.2.2 實時操作系統的基本特征 4
1.3 任務 5
1.3.1 任務簡介 5
1.3.2 多任務 5
1.3.3 任務狀態 7
1.3.4 任務切換 8
1.3.5 可重入函數和不可重入函數 9
1.4 基于優先級的不可剝奪內核 11
1.4.1 內核 11
1.4.2 基于優先級的調度算法 11
1.4.3 不可剝奪型內核和可剝奪型內核 12
1.5 同步與通信 13
1.5.1 同步 13
1.5.2 互斥 14
1.5.3 臨界區 14
1.5.4 任務事件 15
1.5.5 信號量 15
1.5.6 互斥信號量 16
1.5.7 事件標志組 17
1.5.8 消息郵箱和消息隊列 17
1.6 中斷和時鐘 18
1.7 內存管理 20
習題 20

第2章 任務管理 21
2.1 任務管理數據結構 22
2.1.1 任務控制塊 22
2.1.2 空閑鏈表和就緒鏈表 27
2.1.3 任務優先級指針表 30
2.1.4 任務堆棧 30
2.1.5 任務就緒表和就緒組 32
2.2 任務控制塊初始化 38
2.2.1 代碼解析 38
2.2.2 流程分析 40
2.3 操作系統初始化 41
2.3.1 代碼解析 42
2.3.2 流程分析 47
2.4 任務的創建 48
2.4.1 OSTaskCreate代碼解析 48
2.4.2 OSTaskCreate流程分析 51
2.4.3 OSTaskCreateExt代碼解析 52
2.4.4 OSTaskCreateExt流程分析 55
2.5 任務的刪除 56
2.5.1 任務刪除代碼解析 57
2.5.2 任務刪除流程分析 60
2.5.3 請求刪除任務代碼解析 62
2.5.4 請求刪除任務流程 63
2.6 任務掛起和恢復 64
2.6.1 OSTaskSuspend代碼解析 65
2.6.2 OSTaskSuspend流程分析 67
2.6.3 OSTaskResume代碼解析 68
2.6.4 OSTaskResume流程分析 69
2.7 任務的調度和多任務的啟動 70
2.7.1 任務調度器 71
2.7.2 任務切換函數 73
2.7.3 中斷中的任務調度 78
2.7.4 多任務的啟動 80
2.8 特殊任務 81
2.8.1 空閑任務OS_TaskIdle 81
2.8.2 統計任務OS_TaskStat 82
2.9 任務管理總結 84
習題 85

第3章 中斷和時間管理 86
3.1 中斷管理 86
3.1.1 中斷管理核心思路 86
3.1.2 中斷處理的流程 88
3.1.3 時鐘中斷服務 88
3.2 時間管理 90
3.2.1 時間管理主要數據結構 90
3.2.2 時間的獲取和設置 90
3.2.3 任務延時函數OSTimeDly 91
3.2.4 任務按分秒延遲函數OSTimeDlyHMSM 92
3.2.5 延時恢復函數OSTimeDlyResume 94
習題 97

第4章 事件管理 98
4.1 事件管理的重要數據結構 98
4.1.1 事件控制塊(ECB) 98
4.1.2 事件等待組和事件等待表 100
4.1.3 事件控制塊空閑鏈表 101
4.2 事件管理程序 102
4.2.1 事件控制塊(ECB)初始化 102
4.2.2 事件等待表初始化 103
4.2.3 設置事件等待 103
4.2.4 取消事件等待 105
4.2.5 將等待事件的任務就緒 106
4.3 信號量管理 107
4.3.1 信號量的建立OSSemCreate 108
4.3.2 信號量的刪除OSSemDel 111
4.3.3 請求信號量OSSemPend 114
4.3.4 提交信號量 118
4.3.5 無等待請求信號量 119
4.3.6 放棄等待信號量 120
4.3.7 信號量值設置 122
4.3.8 查詢信號量狀態 123
4.3.9 信號量應用舉例 124
4.4 互斥信號量管理 129
4.4.1 互斥信號量的建立 131
4.4.2 請求互斥信號量 133
4.4.3 互斥信號量的刪除 139
4.4.4 發互斥信號量 142
4.4.5 無等待請求互斥信號量 145
4.4.6 查詢互斥信號量狀態 147
4.4.7 改變任務的優先級并重新就緒 148
4.4.8 互斥信號量應用舉例 149
4.5 事件標志組管理 154
4.5.1 事件標志組數據結構 155
4.5.2 事件標志組初始化 157
4.5.3 創建事件標志組 159
4.5.4 事件標志組阻塞函數 160
4.5.5 請求事件標志 162
4.5.6 刪除事件標志組 169
4.5.7 提交事件標志組 172
4.5.8 標志節點任務就緒 175
4.5.9 無等待的請求事件標志 176
4.5.10 事件標志管理應用舉例 179
習題 184

第5章 消息管理 186
5.1 消息郵箱 186
5.1.1 建立消息郵箱 187
5.1.2 等待消息 190
5.1.3 發消息 194
5.1.4 刪除消息郵箱 196
5.1.5 放棄等待郵箱 199
5.1.6 無等待請求消息 201
5.1.7 查詢消息郵箱狀態 202
5.1.8 消息郵箱的例子 203
5.2 消息隊列 206
5.2.1 消息隊列數據結構 207
5.2.2 初始化消息隊列 210
5.2.3 建立消息隊列 211
5.2.4 發消息到消息隊列 213
5.2.5 等待消息隊列中的消息 214
5.2.6 刪除消息隊列 217
5.2.7 取得消息隊列的狀態 220
5.2.8 消息隊列應用舉例 221
習題 225

第6章 內存管理 226
6.1 內存管理數據結構 227
6.1.1 內存控制塊 227
6.1.2 內存控制塊實體 227
6.1.3 空閑內存控制塊鏈表 227
6.1.4 內存分區 228
6.2 內存控制塊初始化 228
6.3 創建內存分區 230
6.4 內存分區獲取 233
6.5 內存分區釋放 234
6.6 查詢內存分區的狀態 235
6.7 內存管理實例 236
習題 239

第7章 移 植 240
7.1 移植說明 240
7.1.1 μC/OS-II的代碼結構 240
7.1.2 操作系統中與CPU相關的代碼解析 244
7.1.3 μC/OS-II移植步驟 247
7.2 在VISUAL C++6.0上實現基于WINDOWS的虛擬ΜC/OS-II移植 248
7.2.1 目錄結構和工程的建立 248
7.2.2 包含文件includes.h 249
7.2.3 os_cpu.h中修改的代碼 250
7.2.4 os_cpu.c中修改的代碼 251
7.2.5 主程序代碼實現 256
7.2.6 移植測試 257
7.3 在基于NIOS軟核的FPGA嵌入式系統下的ΜC/OS-II移植 257
7.3.1 系統結構 257
7.3.2 NIOS-II寄存器 260
7.3.3 os_cpu.h的移植代碼 262
7.3.4 os_cpu.c的移植代碼 263
7.3.5 os_cpu.s的移植代碼 266
7.3.6 工程的創建和移植測試 269
習題 274

書摘/試閱

互斥信號量是一種特殊的信號量,這不僅在于該信號量只有用于互斥資源的訪問,還在于使用互斥信號量管理需要解決的優先級反轉問題。
假如系統中有3個任務,分別是高優先級、中優先級和低優先級,當低優先級的任務在運行的時候訪問互斥資源,而中優先級的任務運行時將使低優先級的任務得不到運行而死抱著資源不放。這時,高優先級的任務開始運行的時候,必須等待中優先級的任務運行完成,然後等低優先級的任務訪問資源完成才行。如果在低優先級的任務訪問資源過程中又有中優先級任務運行,那么高優先級的任務只有繼續等待。這種情況就是優先級反轉。
在μC/OS-II對互斥信號量的管理中,針對這個問題采用了優先級繼承機制。優先級繼承機制是一種對占用資源的任務的優先級進行升級的機制,用以優化系統的調度。例如,當前的任務的優先級是比較低的。高優先級的任務請求互斥信號量的時候因為信號量已被占有,所以只有阻塞。這時有中優先級的任務就緒。如果不采用優先級繼承,那么高優先級的任務是競爭不過中優先級的任務的。采用優先級繼承機制,將占有資源的低優先級的任務臨時設置為一個很高的優先級,允許其在占有資源的時候臨時獲得特權,先于中優先級任務完成,在訪問互斥資源結束又回到原來的優先級,這樣高優先級的任務就會先于中優先級的任務運行,解決了這個問題。本書在第4章的“4.4互斥信號量管理”一節還將詳細論述該問題并給出例程。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 204
缺貨無法訂購

暢銷榜

客服中心

收藏

會員專區