《嵌入式軟件開發(fā)》從教學(xué)的角度出發(fā),講解嵌入式軟件開發(fā)的基本知識、方法和技術(shù),使讀者了解嵌入式軟件的組成要素與結(jié)構(gòu),掌握嵌入式軟件開發(fā)的思想和方法,掌握嵌入式軟件開發(fā)的過程和技巧,熟練使用相關(guān)嵌入式軟件開發(fā)工具,具備初步分析問題和解決問題的能力。內(nèi)容包括:嵌入式軟件開發(fā)概述,嵌入式軟件開發(fā)環(huán)境,嵌入式軟件編程,嵌入式軟件調(diào)試,BootLoader程序設(shè)計,嵌入式系統(tǒng)級軟件設(shè)計(包含嵌入式操作系統(tǒng)內(nèi)核設(shè)計、嵌入式文件系統(tǒng)設(shè)計、嵌入式驅(qū)動程序設(shè)計和嵌入式數(shù)據(jù)庫設(shè)計),嵌入式GUI及應(yīng)用程序設(shè)計,嵌入式程序代碼優(yōu)化,嵌入式軟件測試,以及嵌入式應(yīng)用程序創(chuàng)新設(shè)計。 《嵌入式軟件開發(fā)》兼顧教學(xué)、科研和工程開發(fā)的需要,對于廣大高等學(xué)校高年級學(xué)生和研究生而言,是一本學(xué)習(xí)嵌入式軟件開發(fā)的教科書;對于從事嵌入式軟件開發(fā)的工程技術(shù)人員來說,則是一本實用的參考書。
第1章 嵌入式軟件開發(fā)概述
1.1 嵌入式系統(tǒng)概述
1.1.1 嵌入式系統(tǒng)的歷史與現(xiàn)狀
1.1.2 嵌入式系統(tǒng)的特點
1.1.3 應(yīng)用領(lǐng)域和發(fā)展方向
1.2 嵌入式軟件的組成與特點
1.2.1 嵌入式軟件體系結(jié)構(gòu)
1.2.2 嵌入式軟件分類
1.2.3 嵌入式軟件的基本特點
1.3 嵌入式軟件的發(fā)展趨勢
1.3.1 技術(shù)發(fā)展趨勢
1.3.2 市場發(fā)展趨勢
1.4 嵌入式軟件開發(fā)流程
1.4.1 嵌入式軟件開發(fā)流程概述
1.4.2 嵌入式軟件的開發(fā)步驟
1.5 嵌入式軟件的開發(fā)管理
1.5.1 組織管理
1.5.2 質(zhì)量管理
1.5.3 配置管理
1.5.4 文檔管理
1.6 實驗1:建立開發(fā)團隊和制定管理規(guī)范
1.7 小結(jié)與進一步探索
1.7.1 小結(jié)
1.7.2 進一步探索
第2章 嵌入式軟件開發(fā)環(huán)境
2.1 嵌入式軟件開發(fā)模式
2.1.1 嵌入式軟件開發(fā)特點
2.1.2 嵌入式軟件開發(fā)模式概述
2.2 宿主機環(huán)境
2.2.1 串口終端
2.2.2 BOOTP協(xié)議
2.2.3 TFTP協(xié)議
2.2.4 交叉編譯
2.3 目標(biāo)機環(huán)境
2.3.1 JrFAG接口簡介
2.3.2 Boot Loader簡介
2.4 交叉編譯工具鏈
2.4.1 交叉編譯工具鏈的構(gòu)建
2.4.2 相關(guān)工具介紹
2.5 實驗2:開發(fā)環(huán)境構(gòu)建
2.6 小結(jié)與進一步探索
2.6.1 小結(jié)
2.6.2 進一步探索
第3章 嵌入式軟件編程
3.1 嵌入式編程基礎(chǔ)
3.1.1 嵌入式匯編語言基礎(chǔ)
3.1.2 嵌入式高級編程知識
3.1.3 嵌入式開發(fā)工程
3.2 嵌入式匯編編程技術(shù)
3.2.1 基本語法
3.2.2 匯編語言程序設(shè)計案例
3.3 嵌入式高級編程技術(shù)
3.3.1 函數(shù)可重入
3.3.2 中斷處理過程
3.4 高級語言與匯編語言混合編程
3.4.1 高級語言與匯編語言混合編程概述
3.4.2 匯編語言程序調(diào)用C語言程序
3.4.3 C語言程序調(diào)用匯編程序
3.5 實驗3:嵌入式軟件編程技術(shù)
3.6 小結(jié)與進一步探索
3.6.1 小結(jié)
3.6.2 進一步探索
第4章 嵌入式軟件調(diào)試
4.1 GDB調(diào)試器
4.1.1 GDB簡介
4.1.2 GDB使用方法
4.2 遠程調(diào)試
4.2.1 遠程調(diào)試原理
4.2.2 GDB遠程調(diào)試
4.2.3 使用gdbserver
4.3 內(nèi)核調(diào)試
4.3.1 內(nèi)核調(diào)試技術(shù)
4.3.2 KGDB內(nèi)核調(diào)試
4.4 網(wǎng)絡(luò)調(diào)試
4.4.1 socket編程簡介
4.4.2 網(wǎng)絡(luò)調(diào)試工具tcpdump
4.5 典型嵌入式集成開發(fā)環(huán)境
4.5.1 CCS簡介
4.5.2 項目構(gòu)建
4.5.3 調(diào)試工具
4.6 實驗4:調(diào)試技術(shù)演練
4.7 小結(jié)與進一步探索
4.7.1 小結(jié)
4.7.2 進一步探索
第5章 BootLoader程序設(shè)計
5.1 Boot Loader基礎(chǔ)知識
5.1.1 硬件環(huán)境
5.1.2 安裝地址
5.1.3 通信接口
5.1.4 啟動過程
5.1.5 操作模式
5.1.6 文件傳輸接口與協(xié)議
5.2 Boot Loader典型結(jié)構(gòu)
5.2.1 階段1
5.2.2 階段2
5.2.3 串口終端
5.3 Boot Loader基本設(shè)計
5.3.1 Boot Loader設(shè)計概述
5.3.2 U-Boot代碼分析
5.4 實驗5:設(shè)計與實現(xiàn)Boot Loader
5.5 小結(jié)與進一步探索
5.5.1 小結(jié)
5.5.2 進一步探索
第6章 嵌入式系統(tǒng)級軟件設(shè)計
6.1 嵌入式操作系統(tǒng)內(nèi)核設(shè)計
6.1.1 ARM-Linux內(nèi)核簡介
6.1.2 ARM-Linux內(nèi)存管理
6.1.3 ARM-Linux進程管理和調(diào)度
6.1.4 ARM-Linux模塊機制
6.1.5 ARM-Linux中斷管理
6.1.6 ARM-Linux系統(tǒng)調(diào)用
6.1.7 ARM-Linux系統(tǒng)啟動和初始化
6.2 嵌入式文件系統(tǒng)設(shè)計
6.2.1 嵌入式文件系統(tǒng)介紹
6.2.2 嵌入式Linux文件系統(tǒng)框架
6.2.3 本地文件系統(tǒng)
6.2.4 網(wǎng)絡(luò)文件系統(tǒng)
6.2.5 根文件系統(tǒng)設(shè)計
6.3 嵌入式驅(qū)動程序設(shè)計
6.3.1 Linux驅(qū)動程序簡介
6.3.2 Linux驅(qū)動相關(guān)內(nèi)核機制
6.3.3 Linux字符設(shè)備及驅(qū)動程序設(shè)計
6.3.4 塊設(shè)備和驅(qū)動程序設(shè)計
6.3.5 網(wǎng)絡(luò)設(shè)備驅(qū)動程序開發(fā)
6.4 嵌入式數(shù)據(jù)庫設(shè)計
6.4.1 嵌入式數(shù)據(jù)庫概述
6.4.2 嵌入式數(shù)據(jù)庫體系結(jié)構(gòu)
6.4.3 嵌入式數(shù)據(jù)庫基本設(shè)計
6.4.4 嵌入式數(shù)據(jù)庫應(yīng)用設(shè)計
6.5 實驗6:嵌入式操作系統(tǒng)內(nèi)核與驅(qū)動程序
6.6 小結(jié)與進一步探索
6.6.1 小結(jié)
6.6.2 進一步探索
第7章 嵌入式GUI及應(yīng)用程序設(shè)計
7.1 嵌入式GUI設(shè)計概述
7.1.1 嵌入式GUI簡介
7.1.2 嵌入式GUI設(shè)計需求
7.1.3 嵌入式GUI設(shè)計原則
7.1.4 主流嵌入式GUI簡介
7.2 嵌入式GuI體系結(jié)構(gòu)設(shè)計
7.2.1 嵌入式GUI體系結(jié)構(gòu)
7.2.2 抽象層
7.2.3 核心層
7.2.4 接口層
7.3 基于主流GUI的應(yīng)用程序設(shè)計
7.3.1 MiniGUI開發(fā)環(huán)境搭建
7.3.2 基于MiniGUI的應(yīng)用程序設(shè)計
7.3.3 Android開發(fā)環(huán)境搭建
7.3.4 基于Android的應(yīng)用程序設(shè)計
7.4 實驗7:嵌入式GUI應(yīng)用設(shè)計
7.5 小結(jié)與進一步探索
7.5.1 小結(jié)
7.5.2 進一步探索
第8章 嵌入式程序代碼優(yōu)化
8.1 嵌入式程序代碼優(yōu)化概述
8.2 提高代碼效率
8.2.1 C語言數(shù)據(jù)類型優(yōu)化
8.2.2 循環(huán)結(jié)構(gòu)優(yōu)化
8.2.3 運算優(yōu)化
8.2.4 內(nèi)聯(lián)函數(shù)和內(nèi)嵌匯編優(yōu)化
8.2.5 利用硬件特性
8.2.6 其他代碼優(yōu)化技術(shù)
8.3 減少代碼尺寸
8.4 有效使用內(nèi)存
8.4.1 合理使用堆與棧
8.4.2 防止內(nèi)存泄露
8.5 降低代碼能耗
8.5.1 尋找和分析程序熱點的方法
8.5.2 熱點與性能分析工具介紹
8.5.3 代碼運行性能優(yōu)化
8.6 實驗8:嵌入式程序代碼優(yōu)化
8.7 小結(jié)與進一步探索
8.7.1 小結(jié)
8.7.2 進一步探索
第9章 嵌入式軟件測試
9.1 嵌入式軟件測試基礎(chǔ)
9.1.1 嵌入式軟件測試簡介
9.1.2 嵌入式軟件測試的特點
9.1.3 嵌入式軟件測試的目的與原則
9.1.4 嵌入式軟件測試技術(shù)
9.1.5 嵌入式軟件測試分類
9.2 嵌入式軟件測試技術(shù)
9.2.1 靜態(tài)測試技術(shù)
9.2.2 白盒測試技術(shù)
9.2.3 黑盒測試技術(shù)
9.3 測試與分析工具
9.3.1 概述
9.3.2 靜態(tài)測試工具
9.3.3 白盒測試工具
9.3.4 黑盒測試工具
9.3.5 測試管理工具
9.3.6 專項測試與分析工具
9.4 實驗9:嵌入式軟件測試
9.5 小結(jié)與進一步探索
9.5.1 小結(jié)
9.5.2 進一步探索
第10章 嵌入式應(yīng)用程序創(chuàng)新設(shè)計
10.1 設(shè)計任務(wù)
10.2 設(shè)計過程
10.3 小結(jié)與進一步探索
10.3.1 小結(jié)
10.3.2 進一步探索
參考文獻