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

嵌入式實時操作系統原理與最佳實踐

( 簡體 字)
作者:劉旭明 著類別:1. -> 電腦組織與體系結構 -> 嵌入式系統
譯者:
出版社:機械工業出版社嵌入式實時操作系統原理與最佳實踐 3dWoo書號: 39607
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:9/1/2014
頁數:344
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787111476078
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

機和電子、通信技術的發展,嵌入式系統在人們的生活中變得越來越重要,相關技術發展得越來越快。特別是近幾年,各類電子設備得到極快的發展。很多嵌入式系統的開發離不開其核心基礎軟件,即嵌入式操作系統。本書主要介紹嵌入式操作系統內核的概念與設計實現。

在內容編排上,本書首先對嵌入式操作系統內核各個模塊的概念進行講解,對可選的設計方案進行比較分析,然后采用一個具體的方案作為目標來設計實現,通過流程圖、圖表、示例代碼等詳細演示如何實現該機制。最后,還會通過實際應用程序演示這些功能的使用方法。本書從原理、設計、實現和應用各個角度完整展示嵌入式操作系統內核的相關功能。

全書主要內容如下:

第1章介紹了嵌入式多任務系統的基本知識。圖文并茂地闡述了相關的重要概念。這部分是理解后面章節的基礎,初學者需要仔細理解。

第2章詳細介紹了與任務相關的概念、設計和實現。任務是實時操作系統的重要概念,本章做了十分詳細的分析。

第3章詳細介紹了實現IPC機制的基礎代碼。本章是第4∼8章的基礎。全書介紹了用于任務間、任務和中斷處理函數間的最基本的幾個同步和通信機制。

第4章詳細論述了信號量的設計和實現。

第5章詳細論述了互斥量的設計和實現。

第6章詳細論述了郵箱的設計和實現。

第7章詳細論述了消息隊列的設計和實現。

第8章詳細論述了事件標記的設計和實現。

第9章詳細介紹了定時器的機制和設計實現。

第10章分析了內核的移植代碼,著重介紹了在意法半導體的STM32處理器上如何移植Trochili RTOS。讀者需要對基于ARM Cortex-M3的處理器有一定了解。

第11章重點介紹了基于Trochili RTOS的以太網協議應用。通過實際案例演示Trochili RTOS的使用。

作者從事嵌入式工作多年,參與過多款嵌入式處理器的功能驗證和固件開發工作,經常接觸RTOS,對其有濃厚興趣。工作之余嘗試編寫一些任務調度代碼,逐漸實現了一套較完整的RTOS內核。這個興趣愛好加深了作者對嵌入式系統的理解,使得個人能力得到了提高,對本職工作也有很大幫助。目前Trochili RTOS并不完美,現有很多功能還需優化,作者會逐步完善RTOS的各項功能。

由于作者時間和水平有限,書中難免存在錯誤及不妥之處,敬請廣大讀者批評指正,如有問題,可通過Trochili RTOS官方網站www.trochili.com或者微博www.weibo.com/trochili和作者聯系。

本書在編寫和出版過程中得到了機械工業出版社華章公司編輯們的熱情幫助和大力支持,在此一并表示感謝。

感謝北京航空航天大學何小慶教授對本書的指導,何老師在全書內容選取和章節安排上給了很好的建議,并對全書做了審讀檢查。感謝我的朋友王文東,他對全書內容進行了詳細的閱讀并給出了很多改進意見。

本書可作為廣大從事嵌入式系統開發工作的工程師以及其他相關技術人員的參考資料,也可作為相關專業本科生的輔助參考書。



劉旭明

2014年4月于北京
內容簡介:

系統地介紹了嵌入式操作系統內核的原理、設計和實現。首先通過大量圖表詳細介紹了嵌入式操作系統的基本概念和原理。然后通過對內核各個功能的分析、設計和實現來加深讀者對相關知識的理解。最后通過實際的應用程序來演示如何使用這些功能。全書從原理、設計、實現和應用的角度來向讀者展示嵌入式操作系統。

掌握了STM32固件庫的開發之后,STM32開發者要走向更高的階段,在這個階段操作系統是繞不過去的坎。硬件背景的初學者多數會選擇μC/OS這樣的微內核操作系統作為學習對象。但是,大多數初學者并不適合直接學習μC/OS操作系統。在本書中,作者做了兩件了不起的事情:一個是自己動手寫了一個嵌入式實時操作系統內核,并將其全部開源。另一個是作者基于這個內核將嵌入式實時操作系統的原理掰開了,嚼碎了,深入淺出地講出來。這對于初學者來說是大有裨益的。本書從原理、設計、實現、應用四個角度,為初學者打開了一扇學習嵌入式實時操作系統知識的門。
目錄:

前言

第1章 嵌入式操作系統基礎 1

1.1 嵌入式軟件系統結構 1

1.1.1 輪詢系統 1

1.1.2 前后臺系統 1

1.1.3 多任務系統 2

1.2 多任務機制概述 3

1.2.1 時鐘節拍 3

1.2.2 多任務機制 4

1.2.3 任務上下文 5

1.2.4 任務切換 5

1.2.5 任務的時間片和優先級 7

1.2.6 任務調度和調度方式 8

1.2.7 任務調度算法 9

1.2.8 任務狀態 12

1.3 同步、互斥和通信 12

1.3.1 任務等待和喚醒機制 13

1.3.2 任務互斥和優先級反轉 14

1.3.3 優先級天花板和優先級繼承 15

1.4 中斷機制 17

1.4.1 中斷流程概述 18

1.4.2 中斷優先級 19

1.4.3 中斷嵌套 19

1.4.4 中斷時序 20

1.5 Trochili RTOS介紹 22

第2章 線程管理與調度 23

2.1 線程結構設計 23

2.1.1 線程的結構設計 23

2.1.2 線程的狀態 25

2.1.3 線程優先級 27

2.1.4 線程時間片 28

2.1.5 線程棧管理 28

2.1.6 線程函數和線程數據 29

2.2 線程隊列設計 29

2.3 線程調度機制設計 32

2.3.1 線程調度模型 32

2.3.2 線程調度算法 33

2.3.3 線程調度步驟 33

2.4 線程管理和調度實現 34

2.4.1 線程初始化 35

2.4.2 線程激活 35

2.4.3 線程休眠 37

2.4.4 線程掛起 40

2.4.5 線程解掛 42

2.4.6 線程延時 44

2.4.7 線程延時取消 46

2.4.8 線程主動調度 48

2.4.9 線程優先級設定 50

2.4.10 線程時間片修改 58

2.5 系統守護線程 58

2.6 線程應用演示 59

2.6.1 線程激活和休眠演示 59

2.6.2 線程掛起和解掛演示 62

2.6.3 線程延時演示 65

2.6.4 線程主動調度演示 67

2.6.5 線程優先級修改演示 70

2.6.6 線程時間片修改演示 73

第3章 線程同步和通信 77

3.1 線程阻塞隊列 77

3.2 線程阻塞記錄 78

3.3 IPC機制底層支撐函數 79

3.3.1 線程阻塞隊列初始化 80

3.3.2 保存線程阻塞信息 80

3.3.3 清除線程阻塞信息 80

3.3.4 讀取線程阻塞結果 80

3.3.5 線程阻塞過程 80

3.3.6 解除線程阻塞過程 81

3.3.7 解除最佳線程阻塞過程 81

3.3.8 解除全部線程阻塞過程 81

3.3.9 強制解除線程阻塞 81

3.3.10 休眠被阻塞的線程 81

3.3.11 設置被阻塞線程的優先級 82

第4章 信號量設計與實現 83

4.1 信號量的基本知識 83

4.1.1 二值信號量的概念 83

4.1.2 計數信號量的概念 84

4.1.3 信號量的操作 85

4.1.4 信號量的應用 86

4.2 信號量設計實現 90

4.2.1 信號量的初始化 92

4.2.2 信號量的取消初始化 92

4.2.3 信號量的獲取 93

4.2.4 信號量的釋放 98

4.2.5 終止線程阻塞 103

4.2.6 信號量刷新 104

4.3 信號量應用演示 104

4.3.1 線程間的信號量單向同步 105

4.3.2 線程間的信號雙向同步 107

4.3.3 線程和ISR的信號同步 110

4.3.4 線程間的資源共享 113

4.3.5 多線程的信號同步 116

4.3.6 強制解除線程阻塞 120

4.3.7 信號量取消初始化 123

第5章 互斥量設計實現 126

5.1 互斥量基礎知識 126

5.1.1 互斥量的概念 126

5.1.2 互斥量的操作 127

5.1.3 互斥量的應用 128

5.2 互斥量設計實現 129

5.2.1 互斥量的初始化 130

5.2.2 互斥量取消初始化 130

5.2.3 互斥量的加鎖 131

5.2.4 互斥量的釋放 134

5.2.5 終止線程阻塞 137

5.2.6 互斥量刷新 137

5.3 互斥量應用演示 139

5.3.1 線程間的資源共享 139

5.3.2 強制解除線程阻塞 142

5.3.3 互斥量刷新 144

5.3.4 互斥量取消初始化 147

第6章 郵箱設計實現 151

6.1 郵箱基礎知識 151

6.1.1 郵箱的概念 151

6.1.2 郵箱的操作 153

6.1.3 郵箱的典型應用 153

6.2 郵箱功能設計 156

6.2.1 郵箱的初始化 158

6.2.2 郵箱的取消初始化 158

6.2.3 接收郵件 159

6.2.4 發送郵件 163

6.2.5 終止線程阻塞 168

6.2.6 郵箱刷新 168

6.2.7 郵箱廣播 169

6.3 郵箱應用演示 170

6.3.1 線程間的異步數據傳輸 170

6.3.2 線程和ISR間的異步數據傳輸 173

6.3.3 線程間的單向同步數據傳輸 176

6.3.4 線程間的雙向同步數據傳輸 179

6.3.5 多線程同步與郵箱刷新 183

6.3.6 多線程同步與郵箱廣播 188

6.3.7 強制解除線程阻塞 192

6.3.8 郵箱取消初始化 195

第7章 消息隊列設計與實現 199

7.1 消息隊列基礎 199

7.1.1 消息隊列的概念 199

7.1.2 消息隊列的操作 201

7.1.3 消息隊列的典型應用 203

7.2 消息隊列功能設計 207

7.2.1 消息隊列初始化 209

7.2.2 消息隊列取消初始化 209

7.2.3 消息接收 210

7.2.4 消息發送 215

7.2.5 消息廣播 220

7.2.6 線程阻塞解除 221

7.2.7 消息隊列刷新 221

7.3 消息隊列應用演示 223

7.3.1 線程間的異步數據傳輸 223

7.3.2 線程和ISR間的異步數據傳輸 226

7.3.3 線程間的單向同步數據傳輸 229

7.3.4 線程間的雙向同步數據傳輸 232

7.3.5 多線程同步與消息隊列刷新 236

7.3.6 多線程同步與消息隊列廣播 240

7.3.7 線程阻塞解除 244

7.3.8 消息隊列取消初始化 248

第8章 事件標記設計實現 253

8.1 事件標記基礎知識 253

8.1.1 事件標記的概念 253

8.1.2 事件標記的操作 254

8.1.3 事件標記的典型應用 255

8.2 事件標記功能設計 256

8.2.1 事件標記的初始化 257

8.2.2 事件標記的重置 257

8.2.3 接收事件 258

8.2.4 發送事件 260

8.2.5 終止線程阻塞 263

8.2.6 事件標記刷新 264

8.3 事件標記應用演示 265

8.3.1 線程間的同步 265

8.3.2 線程和ISR間的同步 269

8.3.3 多線程同步與事件標記刷新 272

8.3.4 強制解除線程阻塞 276

8.3.5 事件標記重置 279

第9章 時間管理 283

9.1 定時器機制概述 283

9.1.1 簡單計數方案 283

9.1.2 差分計時隊列方案 284

9.1.3 時間車輪方案 284

9.1.4 定時時間漂移 286

9.1.5 定時器精度 286

9.2 軟件定時器功能設計 286

9.2.1 軟件定時器結構 287

9.2.2 軟件定時器狀態 288

9.2.3 軟件定時器隊列 289

9.2.4 軟件定時器功能 290

9.3 軟件定時器使用演示 296

第10章 內核移植 299

10.1 處理器介紹 299

10.1.1 STM32的地址映射 300

10.1.2 STM32的時鐘系統 301

10.1.3 STM32的中斷和異常 303

10.1.4 時鐘節拍定時器 307

10.1.5 處理器啟動 309

10.2 內核移植 311

10.2.1 內核功能剪裁 311

10.2.2 內核移植實現 313

10.2.3 線程棧初始化函數 314

10.2.4 PendSV中斷管理函數 315

10.2.5 臨界區管理函數 317

10.2.6 內核多任務啟動函數 317

10.2.7 線程優先級計算函數 317

10.2.8 內核與處理器接口函數 317

10.2.9 內核啟動流程 317

10.3 評估板介紹 321

10.3.1 LED驅動開發 323

10.3.2 外部按鍵驅動開發 325

10.3.3 串口驅動開發 328

第11章 以太網實踐 331

11.1 以太網和以太網協議棧 331

11.2 MCU接入以太網的方式 332

11.3 以太網控制器和驅動開發 333

11.4 基于RTOS的Web實驗 341

11.4.1 例程分析 341

11.4.2 實驗現象 344
序: