注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)硬件、外部設(shè)備與維護(hù)嵌入式實(shí)時(shí)操作系統(tǒng):基于ARM Mbed OS的應(yīng)用實(shí)踐

嵌入式實(shí)時(shí)操作系統(tǒng):基于ARM Mbed OS的應(yīng)用實(shí)踐

嵌入式實(shí)時(shí)操作系統(tǒng):基于ARM Mbed OS的應(yīng)用實(shí)踐

定 價(jià):¥138.00

作 者: 王宜懷 等 著
出版社: 電子工業(yè)出版社
叢編項(xiàng): 嵌入式人工智能開(kāi)發(fā)叢書
標(biāo) 簽: 暫缺

ISBN: 9787121437625 出版時(shí)間: 2022-07-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 416 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  嵌入式實(shí)時(shí)操作系統(tǒng)是嵌入式人工智能與物聯(lián)網(wǎng)終端的重要工具和運(yùn)行載體。本書以ARM Mbed OS實(shí)時(shí)操作系統(tǒng)為背景,闡述實(shí)時(shí)操作系統(tǒng)的線程、調(diào)度、延時(shí)函數(shù)、事件、消息隊(duì)列、線程信號(hào)、信號(hào)量、互斥量等基本要素,給出實(shí)時(shí)操作系統(tǒng)下的程序設(shè)計(jì)方法。本書分為基礎(chǔ)應(yīng)用篇(第1~7章)、原理剖析篇(第8~12章)及綜合實(shí)踐篇(第13、14章)三大部分,如果讀者只做實(shí)時(shí)操作系統(tǒng)下的應(yīng)用開(kāi)發(fā),可只閱讀基礎(chǔ)應(yīng)用篇與綜合實(shí)踐篇;如果希望理解實(shí)時(shí)操作系統(tǒng)原理,那么建議通讀全書。

作者簡(jiǎn)介

  王宜懷,男,1962年2月生,博士,教授、博士生導(dǎo)師、網(wǎng)絡(luò)工程系主任;蘇州大學(xué)嵌入式系統(tǒng)與物聯(lián)網(wǎng)研究所所長(zhǎng);蘇州市政協(xié)常委、中國(guó)農(nóng)工民主黨蘇州市委常委;江蘇省計(jì)算機(jī)學(xué)會(huì)嵌入式系統(tǒng)與物聯(lián)網(wǎng)專業(yè)委員會(huì)主任、中國(guó)軟件行業(yè)協(xié)會(huì)嵌入式系統(tǒng)分會(huì)理事。主要研究方向:嵌入式系統(tǒng)、物聯(lián)網(wǎng)與智能控制技術(shù)。

圖書目錄

第1篇 基礎(chǔ)應(yīng)用篇
第1章 實(shí)時(shí)操作系統(tǒng)的基本概念與線程基礎(chǔ)知識(shí)\t3
1.1 實(shí)時(shí)操作系統(tǒng)的基本含義\t3
1.1.1 嵌入式系統(tǒng)的基本分類\t3
1.1.2 無(wú)操作系統(tǒng)與實(shí)時(shí)操作系統(tǒng)\t4
1.1.3 實(shí)時(shí)操作系統(tǒng)與非實(shí)時(shí)操作系統(tǒng)\t5
1.2 實(shí)時(shí)操作系統(tǒng)中的基本概念\t6
1.2.1 線程與調(diào)度的基本含義\t6
1.2.2 內(nèi)核的基本概念\t7
1.2.3 線程的基本概念\t9
1.3 線程的三要素、四種狀態(tài)及三種基本形式\t10
1.3.1 線程的三要素\t10
1.3.2 線程的四種狀態(tài)\t11
1.3.3 線程的三種基本形式\t13
1.4 本章小結(jié)\t14
第2章 相關(guān)基礎(chǔ)知識(shí)\t17
2.1 CPU內(nèi)部寄存器的分類及ARM Cortex-M處理器的主要寄存器\t17
2.1.1 CPU內(nèi)部寄存器的分類\t17
2.1.2 ARM Cortex-M處理器的主要寄存器\t18
2.2 C語(yǔ)言中的構(gòu)造類型及編譯相關(guān)問(wèn)題\t21
2.2.1 C語(yǔ)言中的構(gòu)造類型\t21
2.2.2 編譯相關(guān)問(wèn)題\t25
2.3 實(shí)時(shí)操作系統(tǒng)內(nèi)核使用的數(shù)據(jù)結(jié)構(gòu)\t26
2.3.1 棧與堆\t26
2.3.2 隊(duì)列\(zhòng)t28
2.3.3 鏈表\t29
2.4 匯編語(yǔ)言概述\t36
2.4.1 匯編語(yǔ)言格式\t36
2.4.2 常用偽指令簡(jiǎn)介\t38
2.5 本章小結(jié)\t40
第3章 Mbed OS第一個(gè)樣例工程\t41
3.1 Mbed OS簡(jiǎn)介\t41
3.2 軟件和硬件開(kāi)發(fā)平臺(tái)\t42
3.2.1 GEC架構(gòu)簡(jiǎn)介\t42
3.2.2 硬件平臺(tái)\t43
3.2.3 軟件平臺(tái)\t44
3.2.4 網(wǎng)上電子資源\t45
3.3 第一個(gè)樣例工程\t46
3.3.1 樣例程序功能\t46
3.3.2 工程框架設(shè)計(jì)原則\t46
3.3.3 無(wú)操作系統(tǒng)的工程框架\t47
3.3.4 Mbed OS的工程框架\t51
3.4 本章小結(jié)\t56
第4章 實(shí)時(shí)操作系統(tǒng)下應(yīng)用程序的基本要素\t57
4.1 中斷的基本概念及處理過(guò)程\t57
4.1.1 中斷的基本概念\t57
4.1.2 中斷處理的基本過(guò)程\t58
4.2 時(shí)間嘀嗒與延時(shí)函數(shù)\t60
4.2.1 時(shí)間嘀嗒\t60
4.2.2 延時(shí)函數(shù)\t60
4.3 調(diào)度策略\t61
4.3.1 調(diào)度基礎(chǔ)知識(shí)\t61
4.3.2 Mbed OS中使用的調(diào)度策略\t62
4.3.3 Mbed OS中的固有線程\t63
4.4 實(shí)時(shí)操作系統(tǒng)中的功能列表\t64
4.4.1 就緒列表\t64
4.4.2 延時(shí)列表\t64
4.4.3 等待列表\t64
4.4.4 條件阻塞列表\t64
4.5 本章小結(jié)\t65
第5章 同步與通信的應(yīng)用方法\t67
5.1 實(shí)時(shí)操作系統(tǒng)中同步與通信的基本概念\t67
5.1.1 同步的含義與通信手段\t67
5.1.2 同步類型\t68
5.2 事件\t69
5.2.1 事件的含義及應(yīng)用場(chǎng)合\t69
5.2.2 事件的常用函數(shù)\t69
5.2.3 事件的編程舉例:通過(guò)事件實(shí)現(xiàn)中斷與線程的通信\t71
5.2.4 事件的編程舉例:通過(guò)事件實(shí)現(xiàn)線程之間的通信\t74
5.3 消息隊(duì)列\(zhòng)t76
5.3.1 消息隊(duì)列的含義及應(yīng)用場(chǎng)合\t76
5.3.2 消息隊(duì)列的常用函數(shù)\t76
5.3.3 消息隊(duì)列的編程舉例\t78
5.4 線程信號(hào)\t82
5.4.1 線程信號(hào)的含義及應(yīng)用場(chǎng)合\t82
5.4.2 線程信號(hào)的常用函數(shù)\t83
5.4.3 線程信號(hào)的編程舉例\t84
5.5 信號(hào)量\t87
5.5.1 信號(hào)量的含義及應(yīng)用場(chǎng)合\t87
5.5.2 信號(hào)量的常用函數(shù)\t88
5.5.3 信號(hào)量的編程舉例\t89
5.6 互斥量\t92
5.6.1 互斥量的含義及應(yīng)用場(chǎng)合\t92
5.6.2 互斥量的常用函數(shù)\t94
5.6.3 互斥量的編程舉例\t95
5.7 本章小結(jié)\t98
第6章 底層硬件驅(qū)動(dòng)構(gòu)件\t99
6.1 嵌入式構(gòu)件概述\t99
6.1.1 制作構(gòu)件的必要性\t99
6.1.2 構(gòu)件的基本概念\t99
6.1.3 嵌入式開(kāi)發(fā)中構(gòu)件的分類\t100
6.1.4 構(gòu)件的基本特征與表達(dá)形式\t101
6.2 底層硬件驅(qū)動(dòng)構(gòu)件設(shè)計(jì)原則與方法\t102
6.2.1 底層硬件驅(qū)動(dòng)構(gòu)件設(shè)計(jì)的基本原則\t102
6.2.2 底層硬件驅(qū)動(dòng)構(gòu)件設(shè)計(jì)要點(diǎn)分析\t103
6.2.3 底層硬件驅(qū)動(dòng)構(gòu)件封裝規(guī)范概要\t104
6.2.4 封裝的前期準(zhǔn)備\t105
6.3 底層硬件驅(qū)動(dòng)構(gòu)件設(shè)計(jì)舉例\t106
6.3.1 GPIO構(gòu)件\t106
6.3.2 UART構(gòu)件\t114
6.3.3 Flash構(gòu)件\t119
6.3.4 ADC構(gòu)件\t123
6.3.5 PWM構(gòu)件\t127
6.4 應(yīng)用構(gòu)件及軟件構(gòu)件設(shè)計(jì)實(shí)例\t131
6.4.1 應(yīng)用構(gòu)件設(shè)計(jì)實(shí)例\t131
6.4.2 軟件構(gòu)件設(shè)計(jì)實(shí)例\t133
6.5 本章小結(jié)\t142
第7章 實(shí)時(shí)操作系統(tǒng)下的程序設(shè)計(jì)方法\t143
7.1 程序穩(wěn)定性問(wèn)題\t143
7.1.1 穩(wěn)定性的基本要求\t143
7.1.2 看門狗復(fù)位與定期復(fù)位的應(yīng)用\t144
7.1.3 臨界區(qū)的處理\t147
7.2 中斷服務(wù)程序設(shè)計(jì)、線程劃分及優(yōu)先級(jí)安排問(wèn)題\t148
7.2.1 中斷服務(wù)程序設(shè)計(jì)的基本問(wèn)題\t148
7.2.2 線程劃分的簡(jiǎn)明方法\t149
7.2.3 線程優(yōu)先級(jí)安排問(wèn)題\t149
7.3 利用信號(hào)量解決并發(fā)與資源共享的問(wèn)題\t150
7.3.1 并發(fā)與資源共享的問(wèn)題\t150
7.3.2 應(yīng)用實(shí)例\t151
7.4 優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題\t155
7.4.1 優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題的出現(xiàn)\t155
7.4.2 Mbed OS中避免優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題的方法\t157
7.5 本章小結(jié)\t162
第2篇 原理剖析篇
第8章 理解Mbed OS的啟動(dòng)過(guò)程\t165
8.1 芯片啟動(dòng)到main函數(shù)之前的運(yùn)行過(guò)程\t165
8.1.1 尋找第一條被執(zhí)行指令的存放處\t165
8.1.2 通過(guò)啟動(dòng)文件理解芯片啟動(dòng)過(guò)程\t167
8.2 Mbed OS啟動(dòng)流程概要\t169
8.2.1 相關(guān)宏定義及結(jié)構(gòu)體\t169
8.2.2 棧和堆的配置\t176
8.2.3 啟動(dòng)過(guò)程概述\t179
8.2.4 如何運(yùn)行到主線程\t181
8.2.5 啟動(dòng)過(guò)程總流程源代碼\t182
8.3 深入理解啟動(dòng)過(guò)程(一):內(nèi)核初始化解析\t183
8.3.1 內(nèi)核初始化準(zhǔn)備工作\t183
8.3.2 進(jìn)入SVC中斷服務(wù)程序SVC_Handler\t186
8.3.3 實(shí)際內(nèi)核初始化函數(shù)\t187
8.3.4 返回流程\t199
8.4 深入理解啟動(dòng)過(guò)程(二):創(chuàng)建主線程、啟動(dòng)內(nèi)核\t200
8.4.1 創(chuàng)建主線程\t201
8.4.2 啟動(dòng)內(nèi)核\t215
8.4.3 定時(shí)器線程函數(shù)\t226
8.4.4 消息獲取與處理函數(shù)\t228
8.4.5 線程延時(shí)等待函數(shù)\t238
8.5 中斷服務(wù)程序SVC_Handler詳解\t240
8.5.1 SVC_Handler功能概要\t241
8.5.2 SVC_Handler完整流程\t241
8.5.3 SVC_Handler功能分段解析\t243
8.5.4 SVC_Handler完整代碼注釋\t246
8.6 函數(shù)調(diào)用關(guān)系總結(jié)及存儲(chǔ)空間分析\t249
8.6.1 啟動(dòng)過(guò)程中函數(shù)的調(diào)用關(guān)系總結(jié)\t250
8.6.2 啟動(dòng)過(guò)程存儲(chǔ)空間分析\t253
8.7 本章小結(jié)\t257
第9章 理解時(shí)間嘀嗒\t259
9.1 時(shí)間嘀嗒的建立與使用\t259
9.1.1 SysTick定時(shí)器的寄存器\t259
9.1.2 SysTick定時(shí)器的初始化\t260
9.1.3 SysTick中斷服務(wù)程序\t263
9.2 延時(shí)函數(shù)\t266
9.2.1 線程延時(shí)等待函數(shù)\t266
9.2.2 線程延時(shí)嘀嗒函數(shù)\t267
9.2.3 其他時(shí)間嘀嗒函數(shù)\t269
9.3 延時(shí)等待列表工作機(jī)制\t271
9.3.1 線程插入延時(shí)等待列表函數(shù)\t271
9.3.2 從延時(shí)等待列表中移除線程的函數(shù)\t274
9.3.3 延時(shí)函數(shù)調(diào)度過(guò)程實(shí)例剖析\t275
9.4 與時(shí)間相關(guān)的函數(shù)\t279
9.4.1 獲取系統(tǒng)運(yùn)行時(shí)間函數(shù)\t280
9.4.2 日期轉(zhuǎn)時(shí)間戳函數(shù)\t281
9.4.3 時(shí)間戳轉(zhuǎn)日期函數(shù)\t283
9.5 本章小結(jié)\t286
第10章 理解調(diào)度機(jī)制\t287
10.1 ARM Cortex-M4的SVC和PendSV中斷的調(diào)度作用\t287
10.1.1 SVC中斷的調(diào)度作用\t287
10.1.2 PendSV中斷的調(diào)度作用\t288
10.1.3 列表分析\t288
10.2 中斷服務(wù)程序PendSV_Handler剖析\t289
10.2.1 osRtxPendSV _Handler的功能概要\t289
10.2.2 osRtxPendSV_Handler函數(shù)源代碼解析\t290
10.2.3 跳轉(zhuǎn)到SVC_Context進(jìn)行上下文切換\t291
10.2.4 PendSV_Handler函數(shù)完整代碼注釋\t291
10.3 PendSV應(yīng)用舉例\t292
10.3.1 PendSV在事件中的應(yīng)用\t292
10.3.2 PendSV在線程信號(hào)中的應(yīng)用\t296
10.4 本章小結(jié)\t300
第11章 理解事件與消息隊(duì)列\(zhòng)t301
11.1 事件\t301
11.1.1 事件的相關(guān)結(jié)構(gòu)體\t301
11.1.2 事件函數(shù)深入剖析\t302
11.1.3 事件調(diào)度剖析\t307
11.2 消息隊(duì)列\(zhòng)t311
11.2.1 消息或消息隊(duì)列結(jié)構(gòu)體\t311
11.2.2 消息隊(duì)列函數(shù)深入剖析\t313
11.2.3 消息隊(duì)列調(diào)度剖析\t318
11.3 本章小結(jié)\t322
第12章 理解線程信號(hào)、信號(hào)量與互斥量\t323
12.1 線程信號(hào)\t323
12.1.1 線程操作函數(shù)\t323
12.1.2 線程信號(hào)函數(shù)深入剖析\t329
12.1.3 線程信號(hào)調(diào)度剖析\t333
12.2 信號(hào)量\t337
12.2.1 信號(hào)量控制塊結(jié)構(gòu)體\t337
12.2.2 信號(hào)量函數(shù)深入剖析\t337
12.2.3 信號(hào)量調(diào)度剖析\t341
12.3 互斥量\t345
12.3.1 互斥量結(jié)構(gòu)體\t345
12.3.2 互斥量函數(shù)深入剖析\t346
12.3.3 互斥量調(diào)度剖析\t352
12.3.4 互斥量避免優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題調(diào)度剖析\t356
12.4 本章小結(jié)\t359
第3篇 綜合實(shí)踐篇
第13章 基于Mbed OS的AHL-EORS應(yīng)用\t363
13.1 AHL-EORS簡(jiǎn)介\t363
13.1.1 硬件清單\t363
13.1.2 硬件測(cè)試導(dǎo)引\t364
13.2 卷積神經(jīng)網(wǎng)絡(luò)概述\t364
13.2.1 卷積神經(jīng)網(wǎng)絡(luò)的技術(shù)特點(diǎn)\t364
13.2.2 卷積神經(jīng)網(wǎng)絡(luò)原理\t365
13.3 AHL-EORS選用模型分析\t368
13.3.1 MobileNetV2模型\t369
13.3.2 NCP模型\t370
13.4 AHL-EORS的數(shù)據(jù)采集與訓(xùn)練過(guò)程\t373
13.4.1 數(shù)據(jù)采集程序\t373
13.4.2 模型訓(xùn)練與部署\t376
13.5 在通用嵌入式計(jì)算機(jī)GEC上進(jìn)行的推理過(guò)程\t377
13.6 本章小結(jié)\t380
第14章 基于Mbed OS的NB-IoT應(yīng)用開(kāi)發(fā)\t381
14.1 窄帶物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)概述\t381
14.1.1 窄帶物聯(lián)網(wǎng)簡(jiǎn)介\t381
14.1.2 NB-IoT應(yīng)用開(kāi)發(fā)所面臨的難題及解決思路\t382
14.1.3 直觀體驗(yàn)NB-IoT數(shù)據(jù)傳輸\t383
14.1.4 金葫蘆NB-IoT開(kāi)發(fā)套件簡(jiǎn)介\t384
14.2 NB-IoT應(yīng)用架構(gòu)及通信基本過(guò)程\t386
14.2.1 建立NB-IoT應(yīng)用架構(gòu)的基本原則\t386
14.2.2 終端UE、信息郵局MPO與人機(jī)交互系統(tǒng)HCI的基本定義\t386
14.2.3 基于信息郵局粗略了解基本通信過(guò)程\t387
14.3 終端UE與云偵聽(tīng)程序的通信過(guò)程\t388
14.3.1 基于mbed的終端UE模板工程設(shè)計(jì)\t389
14.3.2 云偵聽(tīng)模板工程功能簡(jiǎn)介\t391
14.3.3 建立云偵聽(tīng)程序的運(yùn)行場(chǎng)景\t392
14.3.4 運(yùn)行云偵聽(tīng)與終端UE模板工程\t394
14.3.5 通信過(guò)程中的常見(jiàn)錯(cuò)誤說(shuō)明\t396
14.4 通過(guò)Web網(wǎng)頁(yè)的數(shù)據(jù)訪問(wèn)\t397
14.4.1 運(yùn)行Web模板觀察自己終端UE的數(shù)據(jù)\t397
14.4.2 NB-IoT的Web網(wǎng)頁(yè)模板工程結(jié)構(gòu)\t398
14.5 通過(guò)微信小程序的數(shù)據(jù)訪問(wèn)\t399
14.5.1 運(yùn)行小程序模板觀察自己終端UE的數(shù)據(jù)\t399
14.5.2 NB-IoT的微信小程序模板工程結(jié)構(gòu)\t401
參考文獻(xiàn)\t403

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)