定 價:89 元
叢書名:國產(chǎn)嵌入式操作系統(tǒng)叢書
- 作者:張英輝等編著
- 出版時間:2022/3/1
- ISBN:9787512437593
- 出 版 社:北京航空航天大學出版社
- 中圖法分類:TP18
- 頁碼:414頁
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書是中國移動物聯(lián)網(wǎng)作系統(tǒng)OneOS開發(fā)系列叢書之一,側重于內(nèi)核實現(xiàn)原理和內(nèi)核應用。全書包含21章,詳細介紹OneOS內(nèi)核的相關知識,包括OneOS框架以及其OneOS核心技術——構建工程、任務管理和任務調(diào)度、系統(tǒng)配置、時間管理、隊列、信號量、定時器、事件以及內(nèi)存管理等。所有源碼都配有詳細的注釋,且經(jīng)過嚴格的審核測試,同時,本書配有大量的圖例,對于想要深入學習RTOS類系統(tǒng)原理的人來說是一個不錯的選擇。
第1章OneOS簡介2
1.1初識OneOS2
1.1.1什么是OneOS2
1.1.2為什么選擇OneOS5
1.1.3OneOS特點6
1.2磨刀不誤砍柴工7
1.2.1資料查找7
1.2.2CortexM架構資料8
1.3OneOS源碼初探8
1.3.1OneOS源碼下載8
1.3.2OneOS文件預覽8
第2章OneOS搭建開發(fā)環(huán)境11
2.1OneOSCube介紹11
2.2構造項目工程12
內(nèi)核基礎
第3章OneOS自動初始化機制16
3.1OneOS自動初始化機制意義16
3.2OneOS自動初始化機制原理17
第4章OneOS中斷和臨界段詳解第1
4.1CortexM和OneOS中斷第1
4.1.1CortexM中斷第1
4.1.2CortexM中斷管理第1
4.1.3CortexM優(yōu)先級分組定義24
4.1.4CortexM優(yōu)先級設置26
4.1.5CortexM用于中斷屏蔽的特殊寄存器27
4.2OneOS中斷實驗28
4.2.1功能設計28
4.2.2軟件設計30
4.2.3下載驗證32
OneOS內(nèi)核基礎入門
第5章OneOS任務基礎知識33
5.1什么是多任務系統(tǒng)33
5.2任務調(diào)度管理實現(xiàn)35
5.2.1任務管理35
5.2.2任務狀態(tài)36
5.2.3任務優(yōu)先級38
5.2.4任務實現(xiàn)38
5.2.5任務控制塊39
5.2.6任務堆棧40
第6章OneOS任務相關API函數(shù)42
6.1任務創(chuàng)建和刪除API函數(shù)42
6.2動態(tài)創(chuàng)建與刪除任務實驗44
6.2.1功能設計44
6.2.2軟件設計45
6.2.3下載驗證47
6.3靜態(tài)創(chuàng)建與刪除任務實驗48
6.3.1功能設計48
6.3.2軟件設計48
6.3.3下載驗證50
6.4任務掛起和恢復API函數(shù)50
6.5掛起和恢復任務實驗51
6.5.1功能設計51
6.5.2軟件設計52
6.5.3下載驗證55
第7章其他API函數(shù)56
7.1任務相關的API函數(shù)56
7.1.1概述56
7.1.2任務相關API函數(shù)詳解57
7.2任務狀態(tài)查詢API函數(shù)實驗66
7.2.1功能設計66
7.2.2軟件設計66
7.2.3下載驗證69
7.3時間片調(diào)度69
7.4OneOS時間片調(diào)度實驗72
7.4.1功能設計72
7.4.2軟件設計72
7.4.3下載驗證74
第8章OneOS單項鏈表和雙向鏈表76
8.1鏈表76
8.2單向鏈表76
8.2.1單向鏈表的簡介76
8.2.2單向鏈表的初始化77
8.2.3單向鏈表的鏈表項插入78
8.2.4單向鏈表的鏈表項尾部插入79
8.2.5單向鏈表的鏈表項刪除80
8.2.6單向鏈表的遍歷81
8.2.7其他單向鏈表API函數(shù)81
8.3雙向鏈表86
8.3.1雙向鏈表的簡介86
8.3.2雙向鏈表的初始化86
8.3.3雙向鏈表的鏈表項插入87
8.3.4雙向鏈表的鏈表項尾部插入88
8.3.5雙向鏈表的鏈表項刪除89
8.3.6雙向鏈表的遍歷90
8.3.7其他雙向鏈表API函數(shù)91
8.4單向鏈表實驗97
8.4.1功能設計97
8.4.2軟件設計97
8.4.3下載驗證101
8.5雙向鏈表實驗101
8.5.1功能設計101
8.5.2軟件設計102
8.5.3下載驗證105
第9章任務調(diào)度原理詳解106
9.1任務調(diào)度開始過程分析106
9.1.1任務調(diào)度器初始化分析106
9.1.2啟動第1個任務107
9.1.3查找下一個要運行的任務113
9.1.4系統(tǒng)任務詳解115
9.2任務創(chuàng)建過程分析118
9.3任務刪除過程分析124
9.4任務掛起過程分析126
9.5任務恢復過程分析129
第10章OneOS系統(tǒng)內(nèi)核控制函數(shù)131
10.1內(nèi)核控制函數(shù)預覽131
10.2內(nèi)核控制函數(shù)詳解132
第11章OneOS時間管理140
11.1OneOS第1函數(shù)140
11.1.1函數(shù)os_task_tsleep()140
11.1.2函數(shù)os_task_msleep()141
11.2OneOS系統(tǒng)時鐘節(jié)拍142
11.3任務睡眠時間處理145
通信機制
第12章OneOS信號量149
12.1信號量簡介149
12.2信號量原理詳解150
12.2.1信號量結構體152
12.2.2創(chuàng)建信號量153
12.2.3信號量創(chuàng)建過程分析153
12.2.4釋放信號量156
12.2.5獲取信號量157
12.2.6信號量其他API函數(shù)159
12.2.7信號量配置160
12.3信號量操作實驗161
12.3.1功能設計161
12.3.2軟件設計161
12.3.3下載驗證163
12.4優(yōu)先級翻轉163
12.5優(yōu)先級翻轉實驗165
12.5.1功能設計165
12.5.2軟件設計165
12.5.3下載驗證168
第13章OneOS互斥鎖170
13.1互斥鎖170
13.1.1互斥鎖結構體173
13.1.2互斥鎖創(chuàng)建與初始化174
13.1.3互斥鎖創(chuàng)建過程分析175
13.1.4釋放互斥鎖177
13.1.5獲取互斥鎖180
13.1.6互斥鎖其他API函數(shù)183
13.1.7互斥鎖配置185
13.2互斥鎖操作實驗185
13.2.1功能設計185
13.2.2軟件設計185
13.2.3下載驗證188
第14章OneOS消息隊列190
14.1消息隊列與API函數(shù)190
14.1.1消息隊列簡介190
14.1.2消息隊列結構體194
14.1.3消息隊列創(chuàng)建195
14.1.4向消息隊列發(fā)送消息200
14.1.5從消息隊列讀取消息205
14.1.6消息隊列其他API函數(shù)210
14.1.7消息隊列配置213
14.2消息隊列操作實驗213
14.2.1功能設計213
14.2.2軟件設計213
14.2.3下載驗證216
第15章OneOS工作隊列217
15.1工作隊列217
15.1.1工作隊列實現(xiàn)過程217
15.1.2工作隊列結構體218
15.1.3工作隊列的創(chuàng)建與初始化218
15.1.4工作隊列的提交第15
15.1.5工作隊列的取消第19
15.1.6工作隊列配置232
15.2工作隊列實驗233
15.2.1功能設計233
15.2.2軟件設計233
15.2.3下載驗證236
第16章OneOS自旋鎖237
16.1自旋鎖237
16.2自旋鎖原理237
16.2.1自旋鎖創(chuàng)建238
16.2.2獲取自旋鎖239
16.2.3釋放自旋鎖240
16.2.4自旋鎖配置選項242
16.3OneOS自旋鎖實驗242
16.3.1功能設計242
16.3.2軟件設計242
16.3.3下載驗證244
第17章OneOS事件245
17.1事件245
17.1.1事件原理246
17.1.2創(chuàng)建事件248
17.1.3發(fā)送事件251
17.1.4接收事件253
17.1.5事件其他API函數(shù)256
17.1.6事件配置選項257
17.2OneOS事件實驗258
17.2.1功能設計258
17.2.2軟件設計258
17.2.3下載驗證260
第18章OneOS定時器261
18.1定時器簡介261
18.1.1單次定時器和周期定時器261
18.1.2定時器原理詳解262
18.1.3定時器結構體詳解263
18.1.4創(chuàng)建定時器263
18.1.5啟動定時器266
18.1.6停止定時器266
18.1.7刪除定時器267
18.1.8定時器其他API函數(shù)詳解267
18.1.9定時器配置269
18.2OneOS定時器實驗269
18.2.1功能設計269
18.2.2軟件設計270
18.2.3下載驗證272
第19章OneOS原子操作273
19.1原子操作273
19.2原子操作API函數(shù)276
19.3原子操作實驗291
19.3.1功能設計291
19.3.2軟件設計291
19.3.3下載驗證29
第20章OneOS郵箱294
20.1郵箱簡介294
20.2郵箱API函數(shù)297
20.2.1郵箱創(chuàng)建297
20.2.2郵箱發(fā)送301
20.2.3郵箱接收303
20.2.4郵箱其他API函數(shù)306
20.2.5郵箱配置選項309
20.3郵箱實驗310
20.3.1功能設計310
20.3.2軟件設計310
20.3.3下載驗證312
內(nèi)核管理
第21章OneOS內(nèi)存管理314
21.1內(nèi)存堆管理314
21.2Firstfit內(nèi)存堆管理算法317
21.3Firstfit內(nèi)存堆管理算法函數(shù)3第1
21.4Buddy內(nèi)存堆管理算法338
21.5Buddy內(nèi)存堆管理算法函數(shù)341
21.6OneOS內(nèi)存堆357
21.7內(nèi)存池管理376
21.8內(nèi)存池管理函數(shù)378
21.9內(nèi)存堆管理實驗389
21.9.1功能設計389
21.9.2軟件設計390
21.9.3下載驗證392
21.10內(nèi)存池管理實驗393
21.10.1功能設計393
21.10.2軟件設計393
21.10.3下載驗證396
附錄萬耦天工STM32F103開發(fā)板397
參考文獻404