嵌入式軟件高級(jí)開發(fā)技術(shù)(研究生)
定 價(jià):40 元
- 作者:何堅(jiān)
- 出版時(shí)間:2020/4/1
- ISBN:9787560655741
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類:TP311.52
- 頁碼:232
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書在編寫時(shí),結(jié)合編者多年嵌入式軟件開發(fā)與教學(xué)經(jīng)驗(yàn),首先系統(tǒng)介紹嵌入式操作系統(tǒng)的概念、體系結(jié)構(gòu)及其發(fā)展趨勢(shì),并重點(diǎn)介紹主流的嵌入式Linux操作系統(tǒng)的移植及相關(guān)設(shè)備驅(qū)動(dòng)程序開發(fā)技術(shù);其次,在介紹UML基本概念的基礎(chǔ)上,介紹了嵌入式系統(tǒng)快速面向?qū)ο筮^程模型,并結(jié)合案例闡述相關(guān)嵌入式軟件分析設(shè)計(jì)技術(shù);最后,結(jié)合MISRAC:2004規(guī)則,闡述了嵌入式軟件測(cè)試相關(guān)模型與技術(shù)。本書力圖結(jié)合嵌入式軟件的特點(diǎn),將軟件工程領(lǐng)域成熟的分析設(shè)計(jì)方法引入到嵌入式軟件的分析設(shè)計(jì)中。
本書可作為嵌入式軟件開發(fā)相關(guān)專業(yè)的研究生及高年級(jí)本科生教材。同時(shí),也可作為有志于從事嵌入式軟件開發(fā)的專業(yè)技術(shù)人員的參考書。
嵌入式系統(tǒng)以微電子和電子學(xué)為基礎(chǔ),融入了計(jì)算機(jī)、通信、軟件工程等領(lǐng)域的知識(shí)。隨著微機(jī)電系統(tǒng)(MicroElectroMechanical System,MEMS)和移動(dòng)互聯(lián)技術(shù)的發(fā)展,其應(yīng)用領(lǐng)域涉及從消費(fèi)電器到工業(yè)設(shè)備、從民用產(chǎn)品到軍用器材等多個(gè)方面。隨著5G技術(shù)到來,嵌入式系統(tǒng)必將成為人們工作和生活中不可或缺的基礎(chǔ)部件。
嵌入式系統(tǒng)面向應(yīng)用,具有多學(xué)科交叉等特點(diǎn)。尤其是隨著嵌入式軟件的功能和復(fù)雜性日益增加,對(duì)嵌入式軟件開發(fā)人員的需求遠(yuǎn)遠(yuǎn)大于硬件系統(tǒng)開發(fā)人員的需求。國(guó)內(nèi)許多高校紛紛成立了嵌入式系統(tǒng)專業(yè),培養(yǎng)嵌入式軟件開發(fā)人員。北京工業(yè)大學(xué)自2009年開始招收軟件工程(嵌入式系統(tǒng)方向)實(shí)驗(yàn)班,并招收嵌入式系統(tǒng)碩士研究生,經(jīng)過近十多年的本科生和碩士生培養(yǎng),在總結(jié)分析軟件工程(嵌入式系統(tǒng)方向)學(xué)生專業(yè)和基礎(chǔ)理論特點(diǎn)的基礎(chǔ)上,我們編寫了本教材。
全書共分9章。其中,第1章主要介紹嵌入式系統(tǒng)的基本概念及其組成;第2章主要介紹嵌入式操作系統(tǒng)的基本概念、體系結(jié)構(gòu)、分類,以及常見的嵌入式實(shí)時(shí)操作系統(tǒng);第3章介紹UML的語義、圖形表示方法,以及基于UML的軟件建模;第4章介紹基于OO技術(shù)的軟件開發(fā)基本概念和原則,重點(diǎn)介紹適用于嵌入式系統(tǒng)的統(tǒng)一軟件開發(fā)過程和嵌入式系統(tǒng)快速面向?qū)ο箝_發(fā)過程;第5章在介紹面向?qū)ο蟮那度胧杰浖枨蠓治龌靖拍畹幕A(chǔ)上,依次介紹基于UML的嵌入式系統(tǒng)需求分析、結(jié)構(gòu)分析和行為分析;第6章介紹嵌入式軟件的構(gòu)架設(shè)計(jì)、機(jī)制設(shè)計(jì)及詳細(xì)設(shè)計(jì);第7章介紹嵌入式Linux驅(qū)動(dòng)程序、應(yīng)用軟件開發(fā)及相關(guān)代碼優(yōu)化;第8章介紹Android系統(tǒng)架構(gòu)和開發(fā)環(huán)境,并結(jié)合具體案例介紹了Android驅(qū)動(dòng)和應(yīng)用程序開發(fā)相關(guān)技術(shù);第9章在介紹MISRAC:2004規(guī)則的基礎(chǔ)上,闡述嵌入式軟件測(cè)試相關(guān)模型與技術(shù)。
本書在編寫過程中參考借鑒了朱成果、康一梅、Douglas等專家學(xué)者的成果,在此表示感謝。書中嵌入式軟件設(shè)計(jì)模式、Android開發(fā)等相關(guān)章節(jié)由王素玉和王曉懿老師結(jié)合項(xiàng)目研發(fā)經(jīng)驗(yàn)編寫完成,在此表示誠(chéng)摯的感謝。
由于時(shí)間和精力的限制,本書在深度和廣度上有一定的局限性,不當(dāng)及謬誤之處,懇請(qǐng)大家批評(píng)指正,以助我改進(jìn)完善本書。
第1章 嵌入式軟件開發(fā)導(dǎo)論 1
1.1 概述 1
1.1.1 定義 1
1.1.2 發(fā)展歷史 2
1.1.3 應(yīng)用領(lǐng)域 3
1.1.4 特點(diǎn) 5
1.2 嵌入式系統(tǒng)的組成 5
1.2.1 嵌入式處理器 6
1.2.2 嵌入式外圍設(shè)備 7
1.2.3 嵌入式操作系統(tǒng) 7
1.2.4 嵌入式應(yīng)用軟件 8
1.3 嵌入式軟件的開發(fā)流程 9
1.3.1 需求分析階段 9
1.3.2 設(shè)計(jì)階段 10
1.3.3 生成代碼階段 12
1.3.4 固化階段 14
1.3.5 嵌入式軟件開發(fā)的特點(diǎn) 15
1.4 嵌入式系統(tǒng)開發(fā)的硬件資源 16
1.4.1 在線仿真器 16
1.4.2 邏輯分析儀 17
1.4.3 ROM仿真器 17
1.4.4 源程序模擬器 17
1.4.5 示波器 17
1.5 嵌入式系統(tǒng)開發(fā)的軟件資源 18
1.5.1 語言編譯工具 18
1.5.2 交叉調(diào)試器 19
1.5.3 實(shí)時(shí)多任務(wù)操作系統(tǒng) 19
1.5.4 集成開發(fā)環(huán)境 19
1.5.5 板級(jí)支持包 19
1.6 嵌入式軟件的可移植性和
?可重用性 21
1.7 小結(jié) 22
課后習(xí)題 22
參考文獻(xiàn) 22
第2章 嵌入式操作系統(tǒng) 23
2.1 嵌入式操作系統(tǒng)基礎(chǔ) 23
2.1.1 嵌入式操作系統(tǒng)概念 23
2.1.2 嵌入式操作系統(tǒng)設(shè)計(jì)原則 24
2.1.3 嵌入式操作系統(tǒng)發(fā)展及趨勢(shì) 25
2.2 嵌入式操作系統(tǒng)的體系結(jié)構(gòu) 27
2.2.1 單模塊結(jié)構(gòu) 27
2.2.2 層次結(jié)構(gòu) 27
2.2.3 微內(nèi)核結(jié)構(gòu) 28
2.2.4 層次與微內(nèi)核相結(jié)合的結(jié)構(gòu) 29
2.3 嵌入式操作系統(tǒng)的分類 30
2.4 常見嵌入式實(shí)時(shí)操作系統(tǒng) 31
2.4.1 VxWorks 31
2.4.2 pSOS 32
2.4.3 QNX 32
2.4.4 Delta OS 33
2.4.5 μC/OSII 33
2.5 嵌入式Linux操作系統(tǒng) 34
2.5.1 嵌入式Linux操作系統(tǒng)的特點(diǎn) 34
2.5.2 嵌入式Linux的引導(dǎo)程序 35
2.5.3 Linux內(nèi)核 36
2.5.4 嵌入式Linux文件系統(tǒng) 39
2.6 Windows CE 40
2.6.1 Windows CE簡(jiǎn)介 41
2.6.2 Windows CE 的體系結(jié)構(gòu) 42
2.7 小結(jié) 45
課后習(xí)題 45
參考文獻(xiàn) 45
第3章 UML建模技術(shù) 46
3.1 OO基礎(chǔ) 46
3.1.1 OO基本概念 46
3.1.2 OO的特征 48
3.1.3 OO的要素 48
3.2 UML語義 50
3.2.1 UML元模型理論 50
3.2.2 UML的組織結(jié)構(gòu) 51
3.2.3 UML建模概念 51
3.2.4 UML的構(gòu)造事物 53
3.2.5 UML中的關(guān)系 53
3.3 UML圖形表示 54
3.3.1 UML靜態(tài)結(jié)構(gòu)圖 56
3.3.2 Use Case圖 59
3.3.3 UML交互圖 60
3.3.4 UML狀態(tài)圖 61
3.3.5 UML活動(dòng)圖 63
3.3.6 UML實(shí)現(xiàn)圖 64
3.4 基于UML的軟件建模 65
3.4.1 UML建模過程 65
3.4.2 UML建模過程的特點(diǎn) 66
3.4.3 UML建模實(shí)例 68
3.5 小結(jié) 72
課后習(xí)題 72
參考文獻(xiàn) 73
第4章 面向?qū)ο蟮那度胧杰浖?
開發(fā)過程 74
4.1 OO開發(fā)過程中的基本概念 74
4.1.1 模式 74
4.1.2 復(fù)用 75
4.1.3 構(gòu)架 75
4.1.4 框架 75
4.1.5 模型 75
4.2 OO軟件開發(fā)原則 76
4.2.1 迭代式開發(fā) 76
4.2.2 模型驅(qū)動(dòng) 77
4.2.3 MDA的開發(fā)模式 77
4.3 用例驅(qū)動(dòng)、以框架為核心的迭代
增量開發(fā)過程 79
4.3.1 用例驅(qū)動(dòng) 80
4.3.2 以框架為核心 82
4.3.3 迭代和增量式過程 82
4.4 統(tǒng)一軟件開發(fā)過程 83
4.4.1 先啟階段 84
4.4.2 精化階段 85
4.4.3 構(gòu)建階段 85
4.4.4 產(chǎn)品化階段 85
4.4.5 迭代開發(fā)與控制管理 86
4.5 嵌入式系統(tǒng)快速面向?qū)ο?
?開發(fā)過程 86
4.5.1 ROPES中的主要活動(dòng) 87
4.5.2 ROPES過程中的階段工件 89
4.5.3 嵌入式軟件框架 92
4.6 小結(jié) 93
課后習(xí)題 93
參考文獻(xiàn) 94
第5章 面向?qū)ο蟮那度胧杰浖?
需求分析 95
5.1 基本概念 95
5.1.1 需求分析目標(biāo)及內(nèi)容 95
5.1.2 用例模型 97
5.1.3 用例的補(bǔ)充描述 101
5.2 嵌入式系統(tǒng)需求分析 103
5.2.1 確定系統(tǒng)邊界 103
5.2.2 尋找參與者 104
5.2.3 尋找用例 104
5.2.4 尋找初始和終止事件 105
5.2.5 準(zhǔn)備普通場(chǎng)景 105
5.2.6 增加變化和異常場(chǎng)景 106
5.2.7 尋找外部事件 106
5.2.8 畫順序圖 106
5.2.9 組織參與者和用例 107
5.3 嵌入式系統(tǒng)結(jié)構(gòu)分析 107
5.3.1 領(lǐng)域分析與問題陳述 107
5.3.2 發(fā)現(xiàn)對(duì)象 107
5.3.3 標(biāo)識(shí)關(guān)聯(lián) 110
5.3.4 標(biāo)識(shí)對(duì)象屬性 111
5.3.5 建立系統(tǒng)的類模型 112
5.4 嵌入式系統(tǒng)行為分析 116
5.4.1 對(duì)象行為 116
5.4.2 狀態(tài)行為 117
5.4.3 建立狀態(tài)模型 120
5.4.4 建立交互模型 122
5.4.5 增加類的主要操作 124
5.5 小結(jié) 125
課后習(xí)題 126
參考文獻(xiàn) 126
第6章 面向?qū)ο蟮那度胧较到y(tǒng)
軟件設(shè)計(jì) 127
6.1 軟件構(gòu)架設(shè)計(jì) 127
6.1.1 系統(tǒng)分解 127
6.1.2 軟件體系結(jié)構(gòu) 129
6.1.3 并發(fā)性 134
6.1.4 選擇持續(xù)數(shù)據(jù)管理基礎(chǔ)設(shè)施 135
6.1.5 選擇完整性控制策略 135
6.1.6 選擇全局控制流機(jī)制 136
6.1.7 邊界條件處理 136
6.1.8 人機(jī)界面設(shè)計(jì) 136
6.2 嵌入式系統(tǒng)機(jī)制設(shè)計(jì) 137
6.2.1 設(shè)計(jì)模式 137
6.2.2 Adapter設(shè)計(jì)模式 139
6.2.3 匹配合適的模式 143
6.2.4 確定問題內(nèi)部的并發(fā)性 145
6.2.5 選擇軟件控制策略 145
6.2.6 處理邊界條件 146
6.2.7 權(quán)衡開發(fā)策略的優(yōu)先級(jí) 147
6.2.8 填補(bǔ)從高層需求到低層
服務(wù)間的空白 147
6.2.9 用操作實(shí)現(xiàn)用例 147
6.2.10 將操作分配給類 148
6.2.11 設(shè)計(jì)優(yōu)化 149
6.2.12 組織類 150
6.3 嵌入式系統(tǒng)詳細(xì)設(shè)計(jì) 151
6.3.1 數(shù)據(jù)結(jié)構(gòu) 151
6.3.2 關(guān)聯(lián)的實(shí)現(xiàn) 152
6.3.3 對(duì)象接口 154
6.3.4 操作及其可見性 155
6.3.5 用于實(shí)現(xiàn)操作的算法 155
6.4 小結(jié) 155
課后習(xí)題 156
參考文獻(xiàn) 156
第7章 Linux系統(tǒng)嵌入式軟件開發(fā) 157
7.1 驅(qū)動(dòng)程序開發(fā) 157
7.1.1 驅(qū)動(dòng)程序結(jié)構(gòu) 157
7.1.2 驅(qū)動(dòng)程序分類 158
7.1.3 驅(qū)動(dòng)程序加載方式 161
7.1.4 字符設(shè)備驅(qū)動(dòng)程序?qū)嵗?163
7.2 Linux應(yīng)用軟件開發(fā) 165
7.2.1 嵌入式視頻服務(wù)器 165
7.2.2 嵌入式Linux的GUI 167
7.2.3 Qt/Embedded簡(jiǎn)介 169
7.2.4 Qt/Embedded的開發(fā)環(huán)境 170
7.2.5 Qt/Embedded常用類 172
7.3 代碼優(yōu)化 174
7.3.1 代碼優(yōu)化分類 174
7.3.2 源代碼優(yōu)化 175
7.3.3 中間代碼優(yōu)化 177
7.3.4 目標(biāo)代碼優(yōu)化 178
7.4 小結(jié) 178
課后習(xí)題 178
參考文獻(xiàn) 178
第8章 Android嵌入式軟件開發(fā) 179
8.1 Android開發(fā)基礎(chǔ) 179
8.1.1 Android操作系統(tǒng)特性 179
8.1.2 Android系統(tǒng)架構(gòu) 180
8.1.3 Android開發(fā)環(huán)境搭建 182
8.2 Android驅(qū)動(dòng)程序開發(fā) 186
8.2.1 Android Things 186
8.2.2 LED燈條驅(qū)動(dòng)程序開發(fā) 186
8.3 Android應(yīng)用開發(fā) 189
8.3.1 Android開發(fā)模式 189
8.3.2 Android數(shù)據(jù)庫(kù)開發(fā) 191
8.3.3 Android開發(fā)實(shí)例 193
8.4 小結(jié) 199
課后習(xí)題 199
參考文獻(xiàn) 199
第9章 嵌入式軟件測(cè)試 200
9.1 MISRA C語言編程規(guī)范 200
9.2 嵌入式軟件靜態(tài)測(cè)試 211
9.2.1 代碼分析 211
9.2.2 錯(cuò)誤分析 211
9.2.3 代碼檢查 212
9.3 嵌入式軟件動(dòng)態(tài)測(cè)試 213
9.3.1 白盒測(cè)試 213
9.3.2 黑盒測(cè)試 214
9.3.3 灰盒測(cè)試 214
9.4 嵌入式軟件測(cè)試過程 215
9.4.1 過程模型 215
9.4.2 單元測(cè)試 218
9.4.3 集成測(cè)試 219
9.4.4 確認(rèn)測(cè)試 219
9.4.5 系統(tǒng)測(cè)試 220
9.5 嵌入式軟件測(cè)試工具 221
9.5.1 純軟件測(cè)試工具 221
9.5.2 純硬件測(cè)試工具 221
9.5.3 軟硬件結(jié)合的測(cè)試工具 222
9.5.4 主流嵌入式軟件測(cè)試
工具比較 222
9.6 小結(jié) 224
課后習(xí)題 224
參考文獻(xiàn) 224