物聯網實踐系列教材

物聯網操作系統LiteOS內核開發與實踐

華為物聯網平臺官方指定教材
分享 推薦 1 收藏 9 閱讀 601
劉旭明 , 劉火良 , 李雪峰 (編著)

關于本書的內容有任何問題,請聯系 左仲海

1.理實一體、產教融合。由華為提供行業實際案例和實訓項目,教師根據院校的實際教學情況安排知識內容。
2.課證融通,對接崗位。和華為認證緊密結合,解決學生“不知道認證”“對通過認證沒有信心”的兩大難題。
3.資源豐富,易教利學。華為協助建設教學資源,幫助學校更好地進行課程建設。

內容摘要

本書較為全面地介紹了華為物聯網操作系統LiteOS內核相關知識。全書共12章,介紹了LiteOS的移植與內核資源的應用,如創建任務、任務管理、消息隊列、信號量、互斥鎖、事件、軟件定時器、內存管理、中斷管理及鏈表等操作,深入講解了內核資源的概念、運行機制、應用場景及源碼。本書提供了大量實驗,通過練習和操作實踐,讀者可鞏固所學的內容。
本書可以作為高校物聯網、嵌入式等相關專業的教材,也可以作為物聯網、嵌入式培訓班的教材,還適合物聯網開發人員、從事物聯網技術支持的專業人員和廣大嵌入式愛好者自學使用。

目錄

第 1章 初識LiteOS 1
1.1 LiteOS概述 1
1.2 學習LiteOS 2
第 2章 移植LiteOS到STM32 4
2.1 移植前的準備工作 4
2.1.1 獲取STM32的裸機工程模板 4
2.1.2 下載LiteOS源碼 4
2.1.3 LiteOS源碼核心文件夾分析 5
2.2 向裸機工程中添加LiteOS源碼 6
2.2.1 復制LiteOS文件夾到裸機工程根目錄中 6
2.2.2 將OS_CONFIG文件夾中配置文件復制到LiteOS文件夾中 7
2.2.3 復制Include文件夾到CMSIS文件夾中 7
2.2.4 LiteOS文件夾內容介紹 7
2.2.5 添加LiteOS核心源碼到工程組文件夾中 9
2.3 接管中斷版本修改target_config.h 11
2.3.1 target_config.h文件內容講解 11
2.3.2 target_config.h文件修改 22
2.4 非接管中斷版本修改target_config.h 29
2.4.1 target_config.h文件內容 29
2.4.2 target_config.h文件修改 32
2.5 修改相關文件 34
2.5.1 啟動文件內容修改 34
2.5.2 分散加載文件修改 36
2.5.3 修改中斷相關文件 38
2.5.4 修改core_cm3.h文件 39
2.6 修改工程配置 39
2.7 修改main.c 40
2.8 下載驗證 41
第3章 創建任務 42
3.1 硬件初始化 42
3.2 創建單任務 43
3.2.1 動態內存空間的堆 43
3.2.2 LiteOS核心初始化 44
3.2.3 定義任務函數 45
3.2.4 定義任務ID變量 46
3.2.5 任務控制塊 46
3.2.6 創建具體任務 47
3.3 main.c文件內容全貌 48
3.4 創建多任務 51
3.5 LiteOS的啟動流程 56
3.5.1 第 一種啟動方式 56
3.5.2 第二種啟動方式 57
3.5.3 LiteOS的啟動流程 59
第4章 任務管理 66
4.1 基本概念 66
4.1.1 任務的基本概念 66
4.1.2 調度器的基本概念 67
4.1.3 任務狀態的基本概念 67
4.1.4 任務狀態遷移 67
4.2 常用的任務函數 68
4.2.1 任務創建函數LOS_TaskCreate 68
4.2.2 任務刪除函數LOS_TaskDelete 70
4.2.3 任務延時函數LOS_TaskDelay 72
4.2.4 任務掛起函數LOS_TaskSuspend 73
4.2.5 任務恢復函數LOS_TaskResume 74
4.3 常用Task錯誤代碼說明 75
4.4 常用任務函數的使用方法 76
4.4.1 任務創建函數LOS_TaskCreate 76
4.4.2 任務刪除函數LOS_TaskDelete 77
4.4.3 任務延時函數LOS_TaskDelay 78
4.4.4 任務掛起與恢復函數 78
4.5 任務的設計要點 79
4.6 任務管理實驗 80
4.7 實驗現象 85
第5章 消息隊列 86
5.1 消息隊列的基本概念 86
5.2 消息隊列的運行機制 87
5.3 消息隊列的傳輸機制 88
5.4 消息隊列的阻塞機制 88
5.4.1 出隊阻塞 89
5.4.2 入隊阻塞 89
5.5 常見隊列錯誤代碼說明 89
5.6 常用消息隊列的函數 91
5.6.1 消息隊列創建函數LOS_QueueCreate 91
5.6.2 消息隊列刪除函數LOS_QueueDelete 94
5.6.3 消息隊列寫消息函數 96
5.6.4 通用的消息隊列處理函數 100
5.6.5 消息隊列讀消息函數 103
5.7 消息隊列實驗 107
5.8 實驗現象 112
第6章 信號量 114
6.1 信號量的基本概念 114
6.1.1 二值信號量 115
6.1.2 計數信號量 115
6.2 二值信號量的運行機制 116
6.3 二值信號量的應用場景 116
6.4 計數信號量的運行機制 117
6.5 信號量的使用 117
6.5.1 信號量控制塊 117
6.5.2 常見信號量錯誤代碼 118
6.5.3 二值信號量創建函數LOS_BinarySemCreate 118
6.5.4 計數信號量創建函數LOS_SemCreate 120
6.5.5 信號量刪除函數LOS_SemDelete 121
6.5.6 信號量釋放函數LOS_SemPost 122
6.5.7 信號量獲取函數LOS_SemPend 124
6.6 二值信號量同步實驗 126
6.7 二值信號量同步實驗現象 131
6.8 計數信號量實驗 132
6.9 計數信號量實驗現象 137
第7章 互斥鎖 139
7.1 互斥鎖的基本概念 139
7.2 互斥鎖的優先級繼承機制 140
7.3 互斥鎖的運行機制 142
7.4 互斥鎖的應用場景 142
7.5 互斥鎖的使用 143
7.5.1 互斥鎖控制塊 143
7.5.2 互斥鎖錯誤代碼 143
7.5.3 互斥鎖創建函數LOS_MuxCreate 144
7.5.4 互斥鎖刪除函數LOS_MuxDelete 145
7.5.5 互斥鎖釋放函數LOS_MuxPost 147
7.5.6 互斥鎖獲取函數LOS_MuxPend 149
7.5.7 使用互斥鎖的注意事項 151
7.6 互斥鎖實驗 151
7.6.1 模擬優先級翻轉實驗 152
7.6.2 互斥鎖實驗 158
7.7 實驗現象 164
7.7.1 模擬優先級翻轉實驗現象 164
7.7.2 互斥鎖實驗現象 165
第8章 事件 166
8.1 事件的基本概念 166
8.2 事件的運行機制 167
8.3 事件的應用場景 168
8.4 事件的使用 169
8.4.1 事件控制塊 169
8.4.2 常見事件錯誤代碼 169
8.4.3 事件初始化函數LOS_EventInit 169
8.4.4 事件銷毀函數LOS_EventDestory 170
8.4.5 寫指定事件函數LOS_EventWrite 170
8.4.6 讀指定事件函數LOS_EventRead 172
8.4.7 清除指定事件函數LOS_EventClear 175
8.5 事件標志組實驗 176
8.6 實驗現象 182
第9章 軟件定時器 183
9.1 軟件定時器簡介 183
9.1.1 軟件定時器的基本概念 183
9.1.2 軟件定時器的運行機制 184
9.1.3 軟件定時器的精度 185
9.1.4 軟件定時器的應用場景 185
9.2 軟件定時器的函數 185
9.2.1 軟件定時器控制塊 186
9.2.2 軟件定時器錯誤代碼 186
9.2.3 軟件定時器開發典型流程 187
9.2.4 軟件定時器創建函數LOS_SwtmrCreate 187
9.2.5 軟件定時器刪除函數LOS_SwtmrDelete 190
9.2.6 軟件定時器啟動函數LOS_SwtmrStart 192
9.2.7 軟件定時器停止函數LOS_SwtmrStop 196
9.3 軟件定時器實驗 198
9.4 實驗現象 202
第 10章 內存管理 204
10.1 內存管理的基本概念 204
10.2 內存管理的運行機制 205
10.3 內存管理的應用場景 207
10.4 靜態內存池的使用 208
10.4.1 靜態內存池控制塊 208
10.4.2 靜態內存池初始化函數LOS_MemboxInit 208
10.4.3 靜態內存池分配函數LOS_MemboxAlloc 210
10.4.4 靜態內存池釋放函數LOS_MemboxFree 212
10.4.5 靜態內存池內容清除函數LOS_MemboxClr 213
10.5 動態內存的使用 213
10.5.1 動態內存初始化函數LOS_MemInit 214
10.5.2 動態內存分配函數LOS_MemAlloc 217
10.5.3 動態內存釋放函數LOS_MemFree 220
10.6 內存管理實驗 223
10.6.1 靜態內存池管理實驗 223
10.6.2 動態內存管理實驗 229
10.7 實驗現象 235
10.7.1 靜態內存池管理實驗現象 235
10.7.2 動態內存管理實驗現象 236
第 11章 中斷管理 237
11.1 中斷簡介 237
11.1.1 異?!?37
11.1.2 中斷 238
11.2 中斷的運行機制 239
11.3 中斷的應用場景 240
11.4 中斷延遲的基本概念 240
11.5 中斷的使用 241
11.5.1 接管中斷版本的移植 241
11.5.2 接管中斷版本的常用函數 241
11.5.3 非接管中斷 245
11.6 中斷管理實驗 246
11.6.1 接管中斷方式 246
11.6.2 非接管中斷方式 251
11.7 實驗現象 256
第 12章 鏈表 257
12.1 C語言中的鏈表 257
12.2 鏈表的使用 258
12.2.1 鏈表初始化函數LOS_ListInit 258
12.2.2 向鏈表中添加節點函數LOS_ListAdd 259
12.2.3 從鏈表中刪除節點函數LOS_ListDelete 260
12.3 雙向鏈表實驗 261
12.4 實驗現象 264

讀者評論

趕緊搶沙發哦!

我要評論

作者介紹

劉火良,野火電子創始人,系統工程師,近十年來一直從事嵌入式系統的軟硬件開發工作,出版著作有《STM32庫開發實戰指南-基于STM32F103(第2版)》,《STM32庫開發實戰指南-基于STM32F4》,《freeRTOS內核實現與應用開發實戰指南》,《ucosiii內核實現與應用開發實戰指南》《RT-Thread內核實現與應用開發實戰指南》,《Lwip應用開發實戰指南》。

推薦用戶

同系列書

  • 物聯網操作系統LiteOS內核開發與實踐

    劉旭明 劉火良 李雪峰

    本書較為全面地介紹了華為物聯網操作系統LiteOS內核相關知識。全書共12章,介紹了LiteOS的移植與內核資...

    ¥49.80
  • 物聯網操作系統原理(LiteOS)

    孔令和 李雪峰 柴方明

    本書全面介紹了物聯網操作系統相關知識,全書共15章,包括物聯網操作系統概述,任務管理,任務同步,中斷、異常與時...

    ¥39.80
  • 物聯網NB-IoT開發與實踐

    熊保松

    本書以NB-IoT實訓套件為載體,采用項目化教學方式,講解了NB-IoT的相關知識及其在物聯網中的重要作用。本...

    ¥49.80

購買本書用戶

相關圖書

  • 窄帶物聯網技術基礎與應用

    王宜懷

    → 本書把窄帶物聯網(NB-IoT)的應用知識體系歸納為終端、信息郵局、人機交互系統 3 個有機組成部分。針...

    ¥59.80
  • 物聯網NB-IoT開發與實踐

    熊保松

    本書以NB-IoT實訓套件為載體,采用項目化教學方式,講解了NB-IoT的相關知識及其在物聯網中的重要作用。本...

    ¥49.80
  • 物聯網操作系統原理(LiteOS)

    孔令和 李雪峰 柴方明

    本書全面介紹了物聯網操作系統相關知識,全書共15章,包括物聯網操作系統概述,任務管理,任務同步,中斷、異常與時...

    ¥39.80
  • RFID原理與應用

    陳曉凌、黃鳳英

    本書介紹射頻識別(RFID)系統的構成、工作原理與應用。全書共11章,主要內容包括:RFID技術概述、RFID...

    ¥45.00
  • 物聯網技術導論與應用

    黃玉蘭

    本書通過梳理物聯網這個概念下所包含的內容,在物聯網全局思想的基礎上對感知層、網絡層、應用層系統講解,覆蓋了物聯...

    ¥59.80
上海退休后如何赚钱 黑龙江36选7开奖号码 河北11选5top10遗漏 吉林快三单双预测技巧 新手怎么玩股票攻略 三分赛车看走势图 配资公司如何盈利 福建11选5开奖号 000032股票行情 甘肃十一选五今天开奖号 黑龙江快乐十分168