-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/14 新書到! 12/12 新書到! 12/5 新書到! 11/30 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

μC/OS-III源碼分析筆記

( 簡體 字)
作者:李悅城 野火類別:1. -> 電腦組織與體系結構 -> 嵌入式系統
譯者:
出版社:機械工業出版社μC/OS-III源碼分析筆記 3dWoo書號: 43145
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:12/28/2015
頁數:317
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111519676
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書基于Cortex-M3內核,從源碼分析和實際應用兩個角度全面解析嵌入式實時操作系統μC/OS-III。為了讓讀者更好地理解,本書主要按照循環漸進的順序對μC/OS-III中的函數逐一進行分析,采用通俗易懂的例子對書中內容進行解析。


目錄:

第1章 實時操作系統及μC/OS-III簡介 / 1
1.1 單片機應用程序框架 / 1
1.1.1 前后臺系統 / 1
1.1.2 嵌入式實時操作系統 / 4
1.2 如何使用和學習μC/OS-III源碼 / 5
1.3 μC/OS-III文件結構簡介 / 7
1.4 μC/OS-III數據結構簡介 / 8
1.5 任務 / 10
1.6 內核對象簡介 / 11
1.6.1 信號量 / 11
1.6.2 事件標志組 / 12
1.6.3 消息隊列 / 12
1.6.4 互斥信號量 / 12
1.6.5 內存分區 / 13
1.6.6 軟件定時器 / 13
1.7 μC/OS-III常見的程序段 / 13
1.7.1 中斷嵌套層數統計 / 13
1.7.2 開中斷和關中斷 / 14
1.7.3 使能中斷延遲的鎖住和開啟調度器 / 14
1.7.4 沒有使能中斷延遲的鎖住和開啟調度器 / 15
1.7.5 中斷嵌套檢測 / 15
1.7.6 調度器嵌套檢測 / 16
1.7.7 時間戳 / 16
1.7.8 錯誤類型 / 17
1.7.9 參數檢測 / 17
1.7.10 內核對象類型檢測 / 17
1.7.11 安全檢測 / 18
1.7.12 安全關鍵IEC61508 / 18
1.8 總結 / 19
第2章 時鐘節拍 / 20
2.1 系統節拍中斷服務程序 / 20
2.2 節拍任務處理時間相關事務 / 23
2.2.1 節拍列表更新 / 24
2.2.2 節拍列表 / 27
2.2.3 哈希算法檢測到期任務 / 29
2.3 總結 / 30
第3章 時間管理 / 31
3.1 實例演示 / 31
3.2 任務開始延時 / 34
3.3 任務插入節拍列表 / 40
3.4 任務取消延時 / 49
3.5 任務脫離節拍列表 / 51
3.6 獲取和設置時鐘節拍 / 55
3.7 μC/OS-III全局變量的定義
和聲明 / 56
3.8 總結 / 57
第4章 軟件定時器 / 58
4.1 實例演示 / 58
4.2 插入定時器列表 / 65
4.3 刪除定時器 / 68
4.4 脫離定時器列表 / 70
4.5 停止定時器 / 71
4.6 定時器內部運行機制 / 74
4.6.1 定時器初始化 / 74
4.6.2 定時器任務 / 76
4.6.3 回調函數 / 78
4.7 定時器剩余定時時間獲取 / 79
4.8 定時器狀態獲取 / 81
4.9 總結 / 82
第5章 多值信號量 / 83
5.1 實例演示 / 83
5.2 信號量的創建 / 85
5.3 信號量等待隊列 / 86
5.4 內核對象添加到調試雙向鏈表 / 89
5.5 內核對象從調試雙向鏈表中
刪除 / 90
5.6 部分內核對象數據結構的
特點 / 93
5.7 發布信號量 / 95
5.7.1 開始發布信號量 / 95
5.7.2 結構體指針強制類型轉換 / 101
5.7.3 無確切類型指針 / 101
5.7.4 單一任務提交處理 / 102
5.7.5 標記某一內核對象被提交 / 104
5.7.6 將任務從多個等待列表中移除 / 106
5.7.7 將任務從一個等待列表中刪除 / 107
5.7.8 信號量提交過程涉及的時間戳 / 108
5.8 等待信號量 / 108
5.9 等待信號量過程的解析 / 109
5.9.1 函數解析 / 110
5.9.2 阻塞準備等待內核對象的任務 / 114
5.9.3 阻塞任務 / 115
5.9.4 初始化OS_PEND_DATA類型變量 / 116
5.9.5 根據任務優先級將OS_PEND_DATA變量插入雙向鏈表 / 116
5.10 強制解除等待狀態 / 118
5.10.1 強制解除內核對象上的一個任務 / 121
5.10.2 標記某一內核對象上的任務被強制解除等待狀態 / 122
5.11 刪除信號量 / 123
5.12 設置信號量計數值 / 128
5.13 總結 / 130
第6章 互斥信號量mutex / 131
6.1 mutex變量的數據結構 / 131
6.2 創建mutex / 132
6.3 提交mutex / 133
6.4 等待/獲取mutex / 136
6.5 獲取mutex過程解析 / 137
6.5.1 開始獲取mutex / 137
6.5.2 優先級繼承過程 / 141
6.5.3 改變任務優先級并調整任務在各種列表中的位置 / 141
6.6 刪除mutex / 142
6.7 強制解除等待mutex / 146
6.8 總結 / 148
第7章 消息隊列 / 149
7.1 實例演示 / 149
7.2 消息的數據結構 / 150
7.3 消息池 / 151
7.4 消息隊列解析 / 153
7.5 創建消息隊列 / 155
7.6 提交消息 / 157
7.7 提交消息過程解析 / 157
7.8 等待消息過程解析 / 164
7.9 總結 / 164
第8章 事件標志 / 165
8.1 實例演示 / 165
8.2 事件標志組數據結構解析 / 167
8.3 創建事件標志組 / 167
8.4 等待事件標志組 / 169
8.5 提交事件標志組 / 177
8.6 總結 / 180
第9章 等待多個內核對象 / 181
9.1 實例演示 / 181
9.2 等待多個內核對象過程解析 / 182
9.2.1 檢查多個內核對象是否被提交過 / 186
9.2.2 任務等待多個內核對象 / 188
9.3 總結 / 189
第10章 任務消息隊列和任務信號量 / 190
10.1 實例演示 / 190
10.2 任務消息隊列 / 191
10.2.1 任務消息隊列相關數據結構解析 / 191
10.2.2 等待任務消息隊列 / 192
10.2.3 任務消息隊列的提交 / 196
10.2.4 強制解除等待任務消息隊列 / 200
10.2.5 小結 / 201
10.3 任務信號量 / 202
10.3.1 任務信號量相關數據結構 / 202
10.3.2 等待任務信號量 / 202
10.3.3 提交任務信號量 / 205
10.3.4 強制解除等待任務信號量 / 209
10.3.5 小結 / 210
第11章 內存管理 / 211
11.1 內存碎片是怎么形成的 / 211
11.2 實例說明 / 211
11.3 內存分區控制塊數據結構 / 212
11.4 創建內存分區 / 212
11.5 獲取內存塊 / 216
11.6 將內存塊放回內存分區 / 217
11.7 總結 / 218
第12章 就緒優先級位映像表 / 219
12.1 就緒優先級位映像表數據結構 / 219
12.2 初始化就緒優先級位映像表 / 220
12.3 查找就緒優先級位映像表中最高的優先級 / 220
12.4 置就緒優先級位映像表中某個優先級處于就緒狀態 / 225
12.5 將就緒優先級位映像表相應位清0 / 226
12.6 總結 / 226
第13章  就緒列表 / 227
13.1 就緒列表數據結構解析 / 227
13.2 初始化就緒列表 / 229
13.3 使任務就緒 / 229
13.4 將任務從就緒列表對應的雙向鏈表的前面轉移到后面 / 231
13.5 總結 / 232
第14章 任務切換 / 233
14.1 堆棧的基本概念 / 233
14.2 Cortex-M3堆棧 / 234
14.3 任務切換 / 235
14.4 PendSV服務程序解析 / 238
14.5 首次任務調度 / 242
14.6 任務堆棧初始化函數OSTaskStkInit解析 / 243
14.7 驗證初始化堆棧彈棧結果 / 246
14.8 中斷級任務切換的宏OSIntCtxSw()解析 / 248
14.9 任務切換過程中出現中斷的處理 / 249
14.10 總結 / 249
第15章 任務管理 / 250
15.1 任務創建 / 250
15.2 掛起任務 / 256
15.3 恢復掛起任務 / 259
15.4 時間片輪轉調度 / 262
15.4.1 時間片輪轉調度初始化 / 262
15.4.2 時間片輪轉調度核心算法 / 264
15.4.3 放棄時間片 / 266
15.4.4 設置任務時間片個數 / 267
15.5 任務寄存器 / 269
15.5.1 設置寄存器的內容 / 269
15.5.2 訪問任務寄存器 / 271
15.6 總結 / 272
第16章 中斷管理 / 273
16.1 中斷延遲提交 / 273
16.1.1 延遲提交信息記錄塊 / 274
16.1.2 初始化延遲提交 / 274
16.1.3 中斷延遲提交內核對象 / 276
16.1.4 延遲提交任務OS_IntQTask / 279
16.2 中斷嵌套管理 / 282
16.3 開中斷和關中斷解析 / 284
16.4 進入和退出臨界段代碼解析 / 287
16.4.1 OS_CRITICAL_ENTER解析 / 288
16.4.2 OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT解析 / 288
16.4.3 OS_CRITICAL_EXIT_NO_SCHED解析 / 288
16.4.4 OS_CRITICAL_EXIT解析 / 288
16.5 測量關中斷時間 / 289
16.5.1 測量關中斷的初始化 / 289
16.5.2 測量最大關中斷時間 / 290
16.5.3 獲取最大關中斷的時間 / 292
16.6 總結 / 293
第17章 各類統計信息 / 295
17.1 實例演示 / 295
17.2 CPU使用率計算 / 296
17.3 CPU使用率測量的初始化 / 296
17.4 堆棧檢測過程簡介 / 298
17.5 堆棧檢測 / 299
17.6 實例解讀堆棧溢出 / 301
17.7 統計任務OS_StatTask / 305
17.8 總結 / 307
第18章 μC/OS-III在不同CPU上的移植 / 308
18.1 移植接口主要文件編寫 / 308
18.1.1 os_cpu_c.c文件 / 308
18.1.2 os_cpu_a.asm文件 / 309
18.1.3 os_cpu.h文件 / 310
18.2 編寫CPU相關文件 / 310
18.2.1 cpu_c.c文件和cpu_a.asm文件 / 310
18.2.2 cpu.h文件 / 310
18.2.3 cpu_def.h文件 / 315
18.2.4 cpu_core.c文件和cpu_core.h文件 / 316
18.2.5 cpu_cfg.h文件 / 316
18.3 編寫配置文件 / 317
18.3.1 os_app_app.h文件 / 317
18.3.2 os_cfg.h文件 / 317
18.4 總結 / 317
序: