快速入門篇
第1章LiteOS快速入門(105min)
1.1LiteOS全貌
1.1.1LiteOS簡介
1.1.2應(yīng)用生態(tài)
1.2代碼倉庫
1.3LiteOS開發(fā)工具鏈
1.3.1代碼編輯器
1.3.2交叉編譯工具
1.3.3下載調(diào)試工具
1.4Windows系統(tǒng)下的VS Code開發(fā)環(huán)境
1.4.1關(guān)于VS Code
1.4.2IoT Link插件
1.4.3安裝Python輔助工具
1.4.4實戰(zhàn)案例: Hello World
1.5基于Ubuntu VS Code的開發(fā)環(huán)境
1.5.1安裝VS Code
1.5.2ARM交叉編譯器
1.5.3STLink下載調(diào)試器
1.5.4JLink下載調(diào)試器
1.5.5串口驅(qū)動
1.5.6實戰(zhàn)案例: Hello World
1.6基于macOS VS Code的開發(fā)環(huán)境
1.6.1ARM交叉編譯器
1.6.2下載和調(diào)試工具
1.6.3安裝Kconfig
1.6.4修改工程配置文件
1.6.5實戰(zhàn)案例: 測試Hello World
1.7本章小結(jié)
第2章Qemu模擬開發(fā)(19min)
2.1Qemu概述
2.2安裝Qemu
2.2.1Windows系統(tǒng)下的Qemu安裝
2.2.2Ubuntu下的Qemu安裝
2.2.3macOS下的Qemu安裝
2.3實戰(zhàn)案例: ARM下的Hello World
2.4淺嘗VS Code利器
2.4.1簡單的配置
2.4.2快捷按鈕
2.5本章小結(jié)
內(nèi)核入門篇
第3章內(nèi)核基礎(chǔ)(199min)
3.1LiteOS內(nèi)核架構(gòu)
3.1.1基礎(chǔ)內(nèi)核
3.1.2代碼結(jié)構(gòu)
3.1.3內(nèi)核啟動流程
3.2任務(wù)
3.2.1任務(wù)的概念
3.2.2創(chuàng)建和刪除任務(wù)
3.2.3任務(wù)調(diào)度
3.2.4實戰(zhàn)案例: 簡單任務(wù)控制
3.3中斷
3.3.1LiteOS的中斷機制
3.3.2創(chuàng)建中斷
3.3.3中斷控制
3.3.4實戰(zhàn)案例: 獨立中斷
3.3.5實戰(zhàn)案例: 共享中斷
3.4內(nèi)存
3.4.1靜態(tài)內(nèi)存
3.4.2動態(tài)內(nèi)存
3.5錯誤碼和異常處理
3.5.1錯誤碼
3.5.2異常處理
3.6認識Makefile
3.6.1基礎(chǔ)語法
3.6.2高級語法
3.6.3實戰(zhàn)案例: 簡單計算器
3.7本章小結(jié)
第4章IPC機制(184min)
4.1信號量
4.1.1信號量概念
4.1.2信號量運行機制
4.1.3信號量API
4.1.4實戰(zhàn)案例: 消費者和生產(chǎn)者
4.2互斥鎖
4.2.1互斥鎖概念
4.2.2互斥鎖運行機制
4.2.3互斥鎖API
4.2.4實戰(zhàn)案例: 生產(chǎn)者和消費者
4.3隊列
4.3.1隊列運行機制
4.3.2隊列API
4.3.3實戰(zhàn)案例: 通信案例
4.4事件
4.4.1事件運行機制
4.4.2事件API
4.4.3實戰(zhàn)案例: 智能窗簾
4.5本章小結(jié)
第5章其他組件(69min)
5.1時間模塊
5.1.1時間轉(zhuǎn)換
5.1.2軟件定時器
5.2原子操作和位操作
5.2.1計算機中的原子
5.2.2位操作
5.3雙向循環(huán)鏈表
5.3.1工作原理
5.3.2實戰(zhàn)案例: 學(xué)生管理系統(tǒng)
5.4程序員利器Git
5.4.1Git工具
5.4.2代碼管理
5.5本章小結(jié)
第6章標準接口(13min)
6.1POSIX接口
6.1.1POSIX概述
6.1.2實戰(zhàn)案例: POSIX任務(wù)接口
6.2CMSIS接口
6.2.1CMSIS概述
6.2.2實戰(zhàn)案例: CMSIS任務(wù)接口
6.3本章小結(jié)
內(nèi)核進階篇
第7章傳感器框架(86min)
7.1傳感器框架結(jié)構(gòu)
7.1.1框架概述
7.1.2運行原理
7.1.3開發(fā)流程
7.2實戰(zhàn)案例: 基于DHT11的溫濕度采集
7.2.1板級驅(qū)動
7.2.2基于框架的傳感器管理
7.3圖形配置工具Kconfig
7.3.1Kconfig簡介
7.3.2基礎(chǔ)語法
7.3.3實戰(zhàn)案例: 使用Kconfig配置項目
7.4本章小結(jié)
第8章GUI框架(67min)
8.1LVGL簡介
8.2LVGL運行原理
8.2.1源碼結(jié)構(gòu)
8.2.2配置文件
8.2.3顯示接口
8.2.4輸入接口
8.2.5LVGL滴答
8.2.6LVGL定時任務(wù)
8.2.7日志
8.2.8開發(fā)步驟
8.3實戰(zhàn)案例: 移植LVGL
8.4LVGL模擬器
8.4.1模擬器簡介
8.4.2基于VS Code SDL的模擬器
8.5本章小結(jié)
第9章LiteOS移植實戰(zhàn)(52min)
9.1移植概述
9.2準備工作
9.2.1開發(fā)環(huán)境
9.2.2裸機工程
9.3移植適配
9.3.1板級驅(qū)動適配
9.3.2鏈接適配
9.3.3添加目標板配置
9.3.4測試案例
9.4模塊化編程
9.4.1基本原理
9.4.2實戰(zhàn)案例: 自定義demo模塊
9.5實戰(zhàn)案例: 智能家居終端
9.5.1項目概述
9.5.2傳感數(shù)據(jù)
9.5.3用戶界面
9.5.4運行結(jié)果
9.6本章小結(jié)
綜合項目實戰(zhàn)篇
第10章IoT云平臺(38min)
10.1華為IoT云平臺
10.1.1華為IoT云概述
10.1.2設(shè)備接入服務(wù)
10.2華為IoTDA快速入門
10.2.1創(chuàng)建實例
10.2.2創(chuàng)建產(chǎn)品
10.2.3產(chǎn)品模型
10.2.4定義插件
10.2.5在線調(diào)試
10.2.6添加真實設(shè)備
10.3實戰(zhàn)案例: 基于CoAP的華為IoT云端
10.3.1產(chǎn)品
10.3.2編解碼插件
10.3.3在線調(diào)試
10.4本章小結(jié)
第11章CoAP設(shè)備端開發(fā)(145min)
11.1CoAP協(xié)議
11.1.1CoAP協(xié)議概述
11.1.2報文結(jié)構(gòu)
11.1.3報文選項
11.1.4實戰(zhàn)案例: WireShark抓包
11.2LiteOS之網(wǎng)絡(luò)模塊
11.2.1AT框架
11.2.2SAL組件
11.3實戰(zhàn)案例: LiteOS之CoAP組件
11.3.1配置LwM2M Demo
11.3.2連接測試
11.4實戰(zhàn)案例: CoAP數(shù)據(jù)傳輸
11.4.1上報數(shù)據(jù)
11.4.2命令控制
11.5本章小結(jié)
第12章MQTT設(shè)備端開發(fā)(172min)
12.1MQTT協(xié)議
12.1.1MQTT概述
12.1.2MQTT報文結(jié)構(gòu)
12.1.3MQTT通配符
12.2MQTT報文詳解
12.2.1CONNECT報文
12.2.2CONNACK報文
12.2.3PUBLISH報文
12.2.4其他報文
12.3實戰(zhàn)案例: 華為云MQTT產(chǎn)品
12.3.1MQTT產(chǎn)品
12.3.2MQTT調(diào)試
12.4實戰(zhàn)案例: LiteOS之MQTT組件
12.4.1配置MQTT Demo
12.4.2上報數(shù)據(jù)
12.4.3接收命令
12.5實戰(zhàn)案例: 移植MQTT協(xié)議棧
12.5.1Paho MQTT
12.5.2移植Paho MQTT
12.6本章小結(jié)
第13章體驗應(yīng)用開發(fā)(57min)
13.1微信小程序概述
13.1.1獲取賬號信息
13.1.2開發(fā)工具
13.1.3實戰(zhàn)案例: Hello World
13.2微信小程序入門
13.2.1目錄結(jié)構(gòu)
13.2.2小程序框架
13.2.3實戰(zhàn)案例: 智能家居App
13.3華為IoT云應(yīng)用接口
13.3.1IAM服務(wù)
13.3.2查詢設(shè)備屬性
13.3.3同步命令下發(fā)
13.4實戰(zhàn)案例: 小程序與設(shè)備交互
13.4.1小程序HTTPS接口
13.4.2獲取Token
13.4.3查詢屬性
13.4.4命令下發(fā)
13.5本章小結(jié)
參考文獻