μC/OS-III 源碼分析筆記 μC/OS-3源码分析笔记

李悅城, 野火

  • 出版商: 機械工業
  • 出版日期: 2016-01-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 317
  • 裝訂: 平裝
  • ISBN: 7111519671
  • ISBN-13: 9787111519676

已絕版

買這商品的人也買了...

相關主題

商品描述

 

<內容簡介>

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

 

<章節目錄>

前言
第1章實時操作系統及μC/OS—Ⅲ簡介/1
1.1單片機應用程序框架/1
1.1.1前後台系統/1
1.1.2嵌入式實時操作系統/4
1.2如何使用和學習μC/OS— Ⅲ源碼/5
1.3μC/OS—Ⅲ文件結構簡介/7
1.4μC/OS—Ⅲ數據結構簡介/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—Ⅲ常見的程序段/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—Ⅲ全局變量的定義和聲明/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.1mutex變量的數據結構/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.2Cortex—M3堆棧/234
14.3任務切換/235
14.4PendSV服務程序解析/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.1OS_CRITICAL_ENTER解析/288
16.4.2OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT解析/288
16.4.3OS_CRITICAL_EXIT_NO_SCHED解析/288
16.4.4OS_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.2CPU使用率計算/296
17.3CPU使用率測量的初始化/296
17.4堆棧檢測過程簡介/298
17.5堆棧檢測/299
17.6實例解讀堆棧溢出/301
17.7統計任務OS_StatTask/305
17.8總結/ 307
第18章μC/OS—Ⅲ在不同CPU上的移植/308
18.1移植接口主要文件編寫/308
18.1.1os_cpu_c.c文件/308
18.1.2os_cpu_a.asm文件/309
18.1.3os_cpu.h文件/310
18.2編寫CPU相關文件/310
18.2.1cpu_c.c文件和cpu_a.asm文件/310
18.2.2cpu.h文件/310
18.2.3cpu_def.h文件/315
18.2.4cpu_core.c文件和cpu_core.h文件/316
18.2. 5cpu_cfg.h文件/316
18.3編寫配置文件/317
18.3.1os_app_app.h文件/317
18.3.2os_cfg.h文件/317
18.4總結/317