暫無商品咨詢信息 [發表商品咨詢]
實時操作系統是嵌入式人工智能與物聯網終端的重要工具。本書以面向物聯網領域的國產輕量級鴻蒙LiteOS實時操作系統為藍本,以RISC-V架構CH32V303微控制器為載體,結合配套的AHL-CH32V303-WiFi開發板,從應用開發視角出發,闡述了實時操作系統的線程、調度機制、延時函數、事件、消息隊列、信號量、互斥量等基本知識要素,重點講解了實時操作系統下的程序設計方法。在原理層面,本書以“知其然且了解其所以然”為目標,單獨用一章篇幅,通過在內核代碼中注入顯示輸出的方式,對LiteOS的底層機制進行簡明剖析。全書共8章,分別為實時操作系統與線程的基礎知識、LiteOS第一個樣例工程、LiteOS下應用程序的基本要素、LiteOS中的同步與通信、底層驅動構件、RTOS下的程序設計方法、初步理解LiteOS的調度原理、基于WiFi通信的物聯網應用開發等。附錄A及附錄B分別給出了LiteOS在CH32V303上的移植方法和升級方法,附錄C為金葫蘆AHL-CH32V303-WiFi用戶手冊。
隨書附贈精心設計的、與書中內容緊密結合的實驗套件,可用于完成附錄中的實驗。本書免費提供電子資源,內含軟硬件資料、實驗源程序等。電子資源下載方法詳見前言。
本書面向高等學校人工智能、物聯網工程、計算機、電子信息、自動化等相關專業本科生及應用開發工程師,也可作為實時操作系統應用開發的培訓用書。
第1章 實時操作系統與線程的基礎知識1
1.1 實時操作系統的基本含義1
1.1.1 無操作系統與實時操作系統1
1.1.2 實時操作系統與非實時操作系統2
1.2 RTOS中的基本概念3
1.2.1 線程與調度的基本含義3
1.2.2 內核類其他基本概念4
1.2.3 線程類其他基本概念5
1.3 線程的三要素、四種狀態及三種基本形式7
1.3.1 線程的三要素:線程函數、線程堆棧、線程描述符7
1.3.2 線程的四種狀態:終止態、阻塞態、就緒態和激活態8
1.3.3 線程的三種基本形式:單次執行、周期執行、資源驅動9
1.4 本章小結11
習題11
第2章 LiteOS第一個樣例工程12
2.1 LiteOS簡介12
2.1.1 LiteOS概述12
2.1.2 LiteOS的基本特點12
2.1.3 下載與更新LiteOS源碼13
2.2 軟硬件開發平臺13
2.2.1 下載網上電子資源13
2.2.2 硬件平臺:AHL-CH32V303-WiFi13
2.2.3 AHL-CH32V303-WiFi開發板的測試15
2.2.4 軟件平臺:金葫蘆集成開發環境16
2.3 LiteOS的第一個樣例工程17
2.3.1 樣例程序的功能18
2.3.2 工程框架設計原則18
2.3.3 NOS工程框架18
2.3.4 LiteOS工程框架21
2.4 本章小結25
習題25
第3章 LiteOS下應用程序的基本要素26
3.1 中斷的基本概念及CH32V303中斷向量表26
3.1.1 中斷的基本概念及處理過程26
3.1.2 CH32V303中斷向量表及中斷向量號宏定義28
3.2 時鐘嘀嗒與延時函數29
3.2.1 時鐘嘀嗒29
3.2.2 延時函數30
3.3 調度策略30
3.3.1 調度基礎知識30
3.3.2 LiteOS中使用的調度策略31
3.3.3 LiteOS中的固有線程32
3.4 LiteOS中的線程狀態遷移說明32
3.5 本章小結33
習題34
第4章 LiteOS中的同步與通信35
4.1 RTOS中同步與通信的基本概念35
4.1.1 同步的含義與通信手段35
4.1.2 同步類型36
4.2 事件37
4.2.1 事件的含義及應用場合37
4.2.2 事件的常用函數37
4.2.3 事件的編程實例38
4.3 消息隊列42
4.3.1 消息隊列的含義及應用場合42
4.3.2 消息隊列的常用函數42
4.3.3 消息隊列的編程實例43
4.4 信號量47
4.4.1 信號量的含義及應用場合48
4.4.2 信號量的常用函數48
4.4.3 信號量的編程實例49
4.5 互斥量51
4.5.1 互斥量的含義及應用場合52
4.5.2 互斥量的常用函數52
4.5.3 互斥量的編程實例53
4.6 本章小結55
習題56
第5章 底層驅動構件57
5.1 嵌入式構件概述57
5.1.1 使用構件的必要性57
5.1.2 構件的基本概念57
5.1.3 嵌入式開發中構件的分類58
5.1.4 構件的基本特征與表現形式58
5.2 底層驅動構件的設計原則與方法59
5.2.1 底層驅動構件設計的基本原則60
5.2.2 底層驅動構件設計要點分析61
5.2.3 底層驅動構件封裝規范概要62
5.2.4 封裝的前期準備:公共要素63
5.3 底層驅動構件設計與測試舉例64
5.3.1 GPIO構件64
5.3.2 UART構件68
5.3.3 Flash構件74
5.3.4 ADC構件77
5.3.5 PWM構件83
5.4 外部設備構件設計實例87
5.4.1 printf構件的使用格式87
5.4.2 嵌入式printf構件說明88
5.4.3 printf構件編程實例88
5.5 算法構件設計實例90
5.5.1 冒泡排序算法構件90
5.5.2 隊列構件92
5.6 本章小結97
習題97
第6章 RTOS下的程序設計方法98
6.1 程序穩定性問題98
6.1.1 穩定性的基本要求98
6.1.2 看門狗與定期復位的應用99
6.1.3 臨界區的處理102
6.2 ISR設計、線程劃分及優先級安排問題102
6.2.1 ISR設計的基本要求102
6.2.2 線程劃分的基本原則103
6.2.3 線程優先級安排問題103
6.3 利用信號量解決并發與資源共享問題104
6.3.1 并發與資源共享問題104
6.3.2 應用實例105
6.4 優先級反轉問題109
6.4.1 優先級反轉問題的出現109
6.4.2 LiteOS中避免優先級反轉問題的方法111
6.5 本章小結114
習題115
第7章 初步理解LiteOS的調度原理116
7.1 理解RTOS所需的相關基礎知識116
7.1.1 CPU內部寄存器及RISC-V中的主要寄存器116
7.1.2 C語言概述119
7.1.3 RTOS內核常用數據結構129
7.1.4 匯編語言概述131
7.1.5 編譯連接流程134
7.2 LiteOS的啟動流程分析135
7.2.1 芯片啟動到main函數之前的運行過程135
7.2.2 LiteOS啟動流程解析139
7.2.3 SW中斷服務例程158
7.2.4 LiteOS啟動過程小結163
7.3 LiteOS中的時鐘嘀嗒剖析164
7.3.1 時鐘嘀嗒的建立與使用164
7.3.2 延時函數的調度機制分析167
7.4 LiteOS中的事件與消息隊列的觸發過程分析169
7.4.1 事件的觸發過程169
7.4.2 消息隊列的觸發過程172
7.5 LiteOS中的信號量與互斥量的觸發過程分析175
7.5.1 信號量175
7.5.2 互斥量178
7.6 本章小結182
習題182
第8章 基于WiFi通信的物聯網應用開發183
8.1 WiFi應用開發概述183
8.1.1 WiFi概述183
8.1.2 WiFi通信過程與應用開發相關的基礎概念183
8.1.3 物聯網應用開發所面臨的問題及解決思路187
8.1.4 金葫蘆WiFi開發套件簡介188
8.2 WiFi應用架構及通信基本過程189
8.2.1 建立WiFi應用架構的基本原則189
8.2.2 終端、信息郵局與人機交互系統的基本定義189
8.2.3 基于信息郵局初步了解WiFi基本通信流程190
8.3 終端及云偵聽模板的適應性修改191
8.3.1 了解終端程序中的通信接口信息191
8.3.2 了解云偵聽程序的通信接口信息192
8.3.3 運行自己的終端程序194
8.3.4 運行自己的云偵聽程序并連接終端195
8.3.5 新增一個物理量的方法197
8.3.6 了解數據入庫過程199
8.4 運行Web網頁202
8.4.1 運行Web源碼訪問終端數據203
8.4.2 在實時數據界面增加控制按鈕205
8.4.3 在Web網頁程序中找到對應物理量207
8.5 運行微信小程序209
8.5.1 下載并安裝微信開發者工具209
8.5.2 打開微信小程序源碼210
8.5.3 運行微信小程序觀察終端實時數據211
8.5.4 在實時數據界面增加按鈕 213
8.5.5 在微信小程序中找到對應物理量214
8.6 遠程更新終端程序216
8.6.1 遠程更新概述216
8.6.2 遠程更新操作過程217
8.7 本章小結219
習題219
附錄A LiteOS在CH32V303上的移植方法220
A.1 下載LiteOS的最新版源碼220
A.2 將LiteOS最新源碼加入NOS工程中220
A.3 對源代碼進行修改221
A.4 移植后測試232
附錄B LiteOS的升級方法234
B.1 下載V3.0.6-LTS版本源代碼234
B.2 對源代碼進行修改234
附錄C 金葫蘆AHL-CH32V303-WiFi
用戶手冊238
參考文獻247
| 基本信息 | |
|---|---|
| 出版社 | 機械工業出版社 |
| ISBN | 9787111790617 |
| 條碼 | 9787111790617 |
| 編者 | 楊勇王宜懷 著 |
| 譯者 | -- |
| 出版年月 | 2025-09-01 00:00:00.0 |
| 開本 | 其他 |
| 裝幀 | 平裝 |
| 頁數 | 246 |
| 字數 | 385 |
| 版次 | 1 |
| 印次 | |
| 紙張 | 一般膠版紙 |
暫無商品評論信息 [發表商品評論]
暫無商品咨詢信息 [發表商品咨詢]