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

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

《嵌入式實時作業系統原理與最佳實踐》是劉旭明編著的圖書,由機械工業出版社出版。

基本介紹

  • 書名:嵌入式實時作業系統原理與最佳實踐
  • 作者:劉旭明 
  • 出版社:機械工業出版社 
  • 出版時間:2014年9月
  • ISBN:9787111476078 
內容簡介,圖書目錄,作者簡介,

內容簡介

本書系統地介紹了嵌入式作業系統核心的原理、設計和實現。首先通過大量圖表詳細介紹了嵌入式作業系統的基本概念和原理。然後通過對各個核心功能的分析、設計和實現來加深讀者對相關知識的理解。最後通過實際的應用程式來演示如何使用這些功能。從原理、設計、實現和使用的角度來闡明嵌入式作業系統的功能。本書可以作為高校本科生或非計算機專業的研究生嵌入式作業系統的教材,也可作為從事嵌入式系統開發工作的研究生、科研人員和企業開發人員的參考用書。

圖書目錄

  1. 前言
  2. 第1章 嵌入式作業系統基礎
  3. 1.1 嵌入式軟體系統結構
  4. 1.1.1 輪詢系統
  5. 1.1.2 前後台系統
  6. 1.1.3 多任務系統
  7. 1.2 多任務機制概述
  8. 1.2.1 時鐘節拍
  9. 1.2.2 多任務機制
  10. 1.2.3 任務上下文
  11. 1.2.4 任務切換
  12. 1.2.5 任務的時間片和優先權
  13. 1.2.6 任務調度和調度方式
  14. 1.2.7 任務調度算法
  15. 1.2.8 任務狀態
  16. 1.3 同步、互斥和通信
  17. 1.3.1 任務等待和喚醒機制
  18. 1.3.2 任務互斥和優先權反轉
  19. 1.3.3 優先權天花板和優先權繼承
  20. 1.4 中斷機制
  21. 1.4.1 中斷流程概述
  22. 1.4.2 中斷優先權
  23. 1.4.3 中斷嵌套
  24. 1.4.4 中斷時序
  25. 1.5 Trochili RTOS介紹
  26. 第2章 執行緒管理與調度
  27. 2.1 執行緒結構設計
  28. 2.1.1 執行緒的結構設計
  29. 2.1.2 執行緒的狀態
  30. 2.1.3 執行緒優先權
  31. 2.1.4 執行緒時間片
  32. 2.1.5 執行緒棧管理
  33. 2.1.6 執行緒函式和執行緒數據
  34. 2.2 執行緒佇列設計
  35. 2.3 執行緒調度機制設計
  36. 2.3.1 執行緒調度模型
  37. 2.3.2 執行緒調度算法
  38. 2.3.3 執行緒調度步驟
  39. 2.4 執行緒管理和調度實現
  40. 2.4.1 執行緒初始化
  41. 2.4.2 執行緒激活
  42. 2.4.3 執行緒休眠
  43. 2.4.4 執行緒掛起
  44. 2.4.5 執行緒解掛
  45. 2.4.6 執行緒延時
  46. 2.4.7 執行緒延時取消
  47. 2.4.8 執行緒主動調度
  48. 2.4.9 執行緒優先權設定
  49. 2.4.10 執行緒時間片修改
  50. 2.5 系統守護執行緒
  51. 2.6 執行緒套用演示
  52. 2.6.1 執行緒激活和休眠演示
  53. 2.6.2 執行緒掛起和解掛演示
  54. 2.6.3 執行緒延時演示
  55. 2.6.4 執行緒主動調度演示
  56. 2.6.5 執行緒優先權修改演示
  57. 2.6.6 執行緒時間片修改演示
  58. 第3章 執行緒同步和通信
  59. 3.1 執行緒阻塞佇列
  60. 3.2 執行緒阻塞記錄
  61. 3.3 IPC機制底層支撐函式
  62. 3.3.1 執行緒阻塞佇列初始化
  63. 3.3.2 保存執行緒阻塞信息
  64. 3.3.3 清除執行緒阻塞信息
  65. 3.3.4 讀取執行緒阻塞結果
  66. 3.3.5 執行緒阻塞過程
  67. 3.3.6 解除執行緒阻塞過程
  68. 3.3.7 解除最佳執行緒阻塞過程
  69. 3.3.8 解除全部執行緒阻塞過程
  70. 3.3.9 強制解除執行緒阻塞
  71. 3.3.10 休眠被阻塞的執行緒
  72. 3.3.11 設定被阻塞執行緒的優先權
  73. 第4章 信號量設計與實現
  74. 4.1 信號量的基本知識
  75. 4.1.1 二值信號量的概念
  76. 4.1.2 計數信號量的概念
  77. 4.1.3 信號量的操作
  78. 4.1.4 信號量的套用
  79. 4.2 信號量設計實現
  80. 4.2.1 信號量的初始化
  81. 4.2.2 信號量的取消初始化
  82. 4.2.3 信號量的獲取
  83. 4.2.4 信號量的釋放
  84. 4.2.5 終止執行緒阻塞
  85. 4.2.6 信號量刷新
  86. 4.3 信號量套用演示
  87. 4.3.1 執行緒間的信號量單向同步
  88. 4.3.2 執行緒間的信號雙向同步
  89. 4.3.3 執行緒和ISR的信號同步
  90. 4.3.4 執行緒間的資源共享
  91. 4.3.5 多執行緒的信號同步
  92. 4.3.6 強制解除執行緒阻塞
  93. 4.3.7 信號量取消初始化
  94. 第5章 互斥量設計實現
  95. 5.1 互斥量基礎知識
  96. 5.1.1 互斥量的概念
  97. 5.1.2 互斥量的操作
  98. 5.1.3 互斥量的套用
  99. 5.2 互斥量設計實現
  100. 5.2.1 互斥量的初始化
  101. 5.2.2 互斥量取消初始化
  102. 5.2.3 互斥量的加鎖
  103. 5.2.4 互斥量的釋放
  104. 5.2.5 終止執行緒阻塞
  105. 5.2.6 互斥量刷新
  106. 5.3 互斥量套用演示
  107. 5.3.1 執行緒間的資源共享
  108. 5.3.2 強制解除執行緒阻塞
  109. 5.3.3 互斥量刷新
  110. 5.3.4 互斥量取消初始化
  111. 第6章 信箱設計實現
  112. 6.1 信箱基礎知識
  113. 6.1.1 信箱的概念
  114. 6.1.2 信箱的操作
  115. 6.1.3 信箱的典型套用
  116. 6.2 信箱功能設計
  117. 6.2.1 信箱的初始化
  118. 6.2.2 信箱的取消初始化
  119. 6.2.3 接收郵件
  120. 6.2.4 傳送郵件
  121. 6.2.5 終止執行緒阻塞
  122. 6.2.6 信箱刷新
  123. 6.2.7 信箱廣播
  124. 6.3 信箱套用演示
  125. 6.3.1 執行緒間的異步數據傳輸
  126. 6.3.2 執行緒和ISR間的異步數據傳輸
  127. 6.3.3 執行緒間的單向同步數據傳輸
  128. 6.3.4 執行緒間的雙向同步數據傳輸
  129. 6.3.5 多執行緒同步與信箱刷新
  130. 6.3.6 多執行緒同步與信箱廣播
  131. 6.3.7 強制解除執行緒阻塞
  132. 6.3.8 信箱取消初始化
  133. 第7章 訊息佇列設計與實現
  134. 7.1 訊息佇列基礎
  135. 7.1.1 訊息佇列的概念
  136. 7.1.2 訊息佇列的操作
  137. 7.1.3 訊息佇列的典型套用
  138. 7.2 訊息佇列功能設計
  139. 7.2.1 訊息佇列初始化
  140. 7.2.2 訊息佇列取消初始化
  141. 7.2.3 訊息接收
  142. 7.2.4 訊息傳送
  143. 7.2.5 訊息廣播
  144. 7.2.6 執行緒阻塞解除
  145. 7.2.7 訊息佇列刷新
  146. 7.3 訊息佇列套用演示
  147. 7.3.1 執行緒間的異步數據傳輸
  148. 7.3.2 執行緒和ISR間的異步數據傳輸
  149. 7.3.3 執行緒間的單向同步數據傳輸
  150. 7.3.4 執行緒間的雙向同步數據傳輸
  151. 7.3.5 多執行緒同步與訊息佇列刷新
  152. 7.3.6 多執行緒同步與訊息佇列廣播
  153. 7.3.7 執行緒阻塞解除
  154. 7.3.8 訊息佇列取消初始化
  155. 第8章 事件標記設計實現
  156. 8.1 事件標記基礎知識
  157. 8.1.1 事件標記的概念
  158. 8.1.2 事件標記的操作
  159. 8.1.3 事件標記的典型套用
  160. 8.2 事件標記功能設計
  161. 8.2.1 事件標記的初始化
  162. 8.2.2 事件標記的重置
  163. 8.2.3 接收事件
  164. 8.2.4 傳送事件
  165. 8.2.5 終止執行緒阻塞
  166. 8.2.6 事件標記刷新
  167. 8.3 事件標記套用演示
  168. 8.3.1 執行緒間的同步
  169. 8.3.2 執行緒和ISR間的同步
  170. 8.3.3 多執行緒同步與事件標記刷新
  171. 8.3.4 強制解除執行緒阻塞
  172. 8.3.5 事件標記重置
  173. 第9章 時間管理
  174. 9.1 定時器機制概述
  175. 9.1.1 簡單計數方案
  176. 9.1.2 差分計時佇列方案
  177. 9.1.3 時間車輪方案
  178. 9.1.4 定時時間漂移
  179. 9.1.5 定時器精度
  180. 9.2 軟體定時器功能設計
  181. 9.2.1 軟體定時器結構
  182. 9.2.2 軟體定時器狀態
  183. 9.2.3 軟體定時器佇列
  184. 9.2.4 軟體定時器功能
  185. 9.3 軟體定時器使用演示
  186. 第10章 核心移植
  187. 10.1 處理器介紹
  188. 10.1.1 STM32的地址映射
  189. 10.1.2 STM32的時鐘系統
  190. 10.1.3 STM32的中斷和異常
  191. 10.1.4 時鐘節拍定時器
  192. 10.1.5 處理器啟動
  193. 10.2 核心移植
  194. 10.2.1 核心功能剪裁
  195. 10.2.2 核心移植實現
  196. 10.2.3 執行緒棧初始化函式
  197. 10.2.4 PendSV中斷管理函式
  198. 10.2.5 臨界區管理函式
  199. 10.2.6 核心多任務啟動函式
  200. 10.2.7 執行緒優先權計算函式
  201. 10.2.8 核心與處理器接口函式
  202. 10.2.9 核心啟動流程
  203. 10.3 評估板介紹
  204. 10.3.1 LED驅動開發
  205. 10.3.2 外部按鍵驅動開發
  206. 10.3.3 串口驅動開發
  207. 第11章 乙太網實踐
  208. 11.1 乙太網和乙太網協定棧
  209. 11.2 MCU接入乙太網的方式
  210. 11.3 乙太網控制器和驅動開發
  211. 11.4 基於RTOS的Web實驗
  212. 11.4.1 例程分析
  213. 11.4.2 實驗現象

作者簡介

劉旭明 嵌入式軟體開發工程師,從事嵌入式軟體開發多年,擁有豐富的嵌入式軟體開發經驗。他是開源嵌入式實時作業系統核心Trochili RTOS的維護人和擁有者。他對MCU、RTOS、TCP/IP等嵌入式技術有著深刻的理解,實戰經驗豐富,撰寫了很多關於嵌入式軟體開發的技術文章。目前就職於北京某通信IC設計公司,負責4G通信基帶晶片功能驗證和相關晶片固件與驅動的開發,參與了多款處理器的研發工作。他也是一個開源軟體的倡導者和推動者,在許多知名的嵌入式技術社區擔任版主。

相關詞條

熱門詞條

聯絡我們