當(dāng)前位置: 首頁(yè) > 原創(chuàng)圖書 >《《嵌入式Linux C編程入門(第2版)》圖書介紹
· 多年嵌入式人才培養(yǎng)及項(xiàng)目研發(fā)經(jīng)驗(yàn)總結(jié)
· 數(shù)百家企業(yè)嵌入式研發(fā)崗位人才需求匯總
· 數(shù)十所嵌入式專業(yè)大學(xué)院校教學(xué)現(xiàn)狀調(diào)研
· 側(cè)重實(shí)踐及案例分析并輔以代碼加以講解
嵌入式系統(tǒng)是目前最熱門的計(jì)算機(jī)應(yīng)用領(lǐng)域之一,嵌入式linux是應(yīng)用最廣泛的嵌入式操作系統(tǒng)之一,嵌入式c語(yǔ)言在其中起著至關(guān)重要的作用。
本書共13章,全面講解了嵌入式系統(tǒng)基礎(chǔ),嵌入式linux c語(yǔ)言開(kāi)發(fā)工具、語(yǔ)言基礎(chǔ),文件i/o相關(guān)實(shí)例,arm linux進(jìn)程線程開(kāi)發(fā)實(shí)例,arm linux網(wǎng)絡(luò)開(kāi)發(fā)實(shí)例,嵌入式linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)以及視頻監(jiān)控系統(tǒng)。
本書可作為大中專院校嵌入式相關(guān)專業(yè)本科生、研究生的教材,也可供廣大希望轉(zhuǎn)入嵌入式領(lǐng)域的科研和工程技術(shù)人員使用。
第1章 嵌入式系統(tǒng)基礎(chǔ)知識(shí)
1.1 嵌入式系統(tǒng)概述
1.1.1 嵌入式系統(tǒng)的發(fā)展史
1.1.2 嵌入式系統(tǒng)的定義與特點(diǎn)
1.1.3 嵌入式系統(tǒng)的特點(diǎn)
1.2 嵌入式系統(tǒng)的組成
1.2.1 嵌入式系統(tǒng)的硬件架構(gòu)
1.2.2 嵌入式操作系統(tǒng)
1.2.3 嵌入式應(yīng)用軟件
1.3 arm處理器平臺(tái)介紹
1.3.1 arm處理器簡(jiǎn)介
1.3.2 arm處理器系列
1.3.3 arm體系結(jié)構(gòu)簡(jiǎn)介
1.3.4 s3c2410處理器簡(jiǎn)介
1.4 嵌入式系統(tǒng)硬件平臺(tái)選型
1.4.1 硬件平臺(tái)的選擇
1.4.2 arm處理器選型
1.5 嵌入式系統(tǒng)開(kāi)發(fā)概述
1.5.1 嵌入式系統(tǒng)開(kāi)發(fā)流程
1.5.2 嵌入式軟件開(kāi)發(fā)流程
本章小結(jié)
動(dòng)手練練
第2章 嵌入式linux c語(yǔ)言開(kāi)發(fā)工具
2.1 嵌入式linux下c語(yǔ)言概述
2.1.1 c語(yǔ)言簡(jiǎn)史
2.1.2 c語(yǔ)言特點(diǎn)
2.1.3 嵌入式linux c語(yǔ)言編程環(huán)境
2.2 嵌入式linux編輯器vi的使用
2.2.1 vi的基本模式
2.2.2 vi的基本操作
2.2.3 vi的使用實(shí)例分析
2.3 嵌入式linux編譯器gcc的使用
2.3.1 gcc概述
2.3.2 gcc編譯流程分析
2.3.3 gcc警告提示
2.3.4 gcc使用庫(kù)函數(shù)
2.3.5 gcc代碼優(yōu)化
2.4 嵌入式linux調(diào)試器gdb的使用
2.4.1 gdb使用實(shí)例
2.4.2 設(shè)置/刪除斷點(diǎn)
2.4.3 數(shù)據(jù)相關(guān)命令
2.4.4 調(diào)試運(yùn)行環(huán)境相關(guān)命令
2.4.5 堆棧相關(guān)命令
2.5 make工程管理器
2.5.1 makefile基本結(jié)構(gòu)
2.5.2 makefile變量
2.5.3 makefile規(guī)則
2.5.4 make使用
2.6 emacs綜合編輯器
2.6.1 emacs的啟動(dòng)與退出
2.6.2 emacs的基本編輯
2.6.3 emacs的c模式
2.6.4 emacs的shell模式
本章小結(jié)
動(dòng)手練練
第3章 構(gòu)建嵌入式linux系統(tǒng)
3.1 嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的構(gòu)建
3.1.1 嵌入式交叉編譯環(huán)境搭建
3.1.2 minicom和超級(jí)終端配置及使用
3.1.3 宿主機(jī)服務(wù)配置
3.2 bootloader
3.2.1 bootloader的概念
3.2.2 bootloader啟動(dòng)流程分析
3.2.3 u-boot概述
3.2.4 u-boot源碼導(dǎo)讀
3.3 編譯嵌入式linux內(nèi)核
3.4 linux內(nèi)核目錄結(jié)構(gòu)
3.5 制作文件系統(tǒng)
本章小結(jié)
動(dòng)手練練
第4章 嵌入式linux c語(yǔ)言基礎(chǔ)——數(shù)據(jù)、表達(dá)式
4.1 嵌入式linux c語(yǔ)言概述
4.2 基本數(shù)據(jù)類型
4.2.1 整型家族
4.2.2 實(shí)型家族
4.2.3 字符型家族
4.2.4 枚舉家族
4.2.5 指針家族
4.3 變量與常量
4.3.1 變量的定義
4.3.2 typedef
4.3.3 常量定義
4.3.4 arm-linux基本數(shù)據(jù)類型綜合應(yīng)用實(shí)例
4.4 運(yùn)算符與表達(dá)式
4.4.1 算術(shù)運(yùn)算符和表達(dá)式
4.4.2 賦值運(yùn)算符和表達(dá)式
4.4.3 逗號(hào)運(yùn)算符和表達(dá)式
4.4.4 位運(yùn)算符和表達(dá)式
4.4.5 關(guān)系運(yùn)算符和表達(dá)式
4.4.6 邏輯運(yùn)算符和表達(dá)式
4.4.7 sizeof操作符
4.4.8 條件(?)運(yùn)算符
4.4.9 運(yùn)算符優(yōu)先級(jí)總結(jié)
4.4.10 arm-linux運(yùn)算符
綜合實(shí)例
本章小結(jié)
動(dòng)手練練
第5章 嵌入式linux c語(yǔ)言基礎(chǔ)——控制語(yǔ)句及函數(shù)
5.1 嵌入式linux c語(yǔ)言程序結(jié)構(gòu)概述
5.1.1 嵌入式linux c語(yǔ)言3種程序結(jié)構(gòu)
5.1.2 嵌入式linux c語(yǔ)言基本語(yǔ)句
5.2 選擇語(yǔ)句
5.2.1 if語(yǔ)句
5.2.2 switch語(yǔ)句
5.2.3 arm-linux選擇語(yǔ)句應(yīng)用實(shí)例
5.3 循環(huán)語(yǔ)句
5.3.1 while和do-while語(yǔ)句
5.3.2 for循環(huán)語(yǔ)句
5.3.3 break和continue語(yǔ)句
5.3.4 arm-linux循環(huán)語(yǔ)句應(yīng)用實(shí)例
5.4 goto語(yǔ)句
5.4.1 goto語(yǔ)句語(yǔ)法
5.4.2 arm-linux中g(shù)oto語(yǔ)句應(yīng)用實(shí)例
5.5 函數(shù)的定義與聲明
5.5.1 c語(yǔ)言函數(shù)概述
5.5.2 函數(shù)定義
5.5.3 函數(shù)聲明
5.5.4 arm-linux函數(shù)定義與聲明實(shí)例
5.6 函數(shù)的參數(shù)、值和基本調(diào)用
5.6.1 函數(shù)的參數(shù)
5.6.2 函數(shù)的值
5.6.3 函數(shù)的基本調(diào)用
5.7 函數(shù)的嵌套、遞歸調(diào)用
5.7.1 函數(shù)的嵌套調(diào)用
5.7.2 函數(shù)的遞歸調(diào)用
5.7.3 arm-linux函數(shù)調(diào)用應(yīng)用實(shí)例
本章小結(jié)
動(dòng)手練練
第6章 嵌入式linux c語(yǔ)言基礎(chǔ)——數(shù)組、指針與結(jié)構(gòu)
6.1 數(shù)組
6.1.1 一維數(shù)組
6.1.2 字符串
6.1.3 二維數(shù)組
6.2 指針
6.2.1 指針的概念
6.2.2 指針變量的操作
6.2.3 指針和數(shù)組
6.2.4 指針高級(jí)議題
6.3 結(jié)構(gòu)體與聯(lián)合
6.3.1 結(jié)構(gòu)體
6.3.2 聯(lián)合
6.3.3 arm-linux指針、結(jié)構(gòu)體使用實(shí)例
本章小結(jié)
動(dòng)手練練
第7章 嵌入式linux c語(yǔ)言基礎(chǔ)——高級(jí)議題
7.1 預(yù)處理
7.1.1 預(yù)處理的概念
7.1.2 預(yù)定義
7.1.3 文件包含
7.1.4 條件編譯
7.2 c語(yǔ)言中的內(nèi)存分配
7.2.1 c語(yǔ)言程序所占內(nèi)存分類
7.2.2 堆和棧的區(qū)別
7.3 嵌入式linux可移植性考慮
7.3.1 字長(zhǎng)和數(shù)據(jù)類型
7.3.2 數(shù)據(jù)對(duì)齊
7.3.3 字節(jié)順序
7.4 c和匯編的接口
7.4.1 內(nèi)嵌匯編的語(yǔ)法
7.4.2 編譯器優(yōu)化介紹
7.4.3 c語(yǔ)言關(guān)鍵字volatile
7.4.4 memory描述符
7.4.5 gcc對(duì)內(nèi)嵌匯編語(yǔ)言的處理方式
本章小結(jié)
動(dòng)手練練
第8章 嵌入式linux c語(yǔ)言基礎(chǔ)——arm linux內(nèi)核常見(jiàn)數(shù)據(jù)結(jié)構(gòu)
8.1 鏈表
8.1.1 鏈表概述
8.1.2 單向鏈表
8.1.3 雙向鏈表
8.1.4 循環(huán)鏈表
8.1.5 arm linux中鏈表使用實(shí)例
8.2 樹(shù)、二叉樹(shù)、平衡樹(shù)
8.2.1 樹(shù)
8.2.2 二叉樹(shù)
8.2.3 平衡樹(shù)
8.2.4 arm linux中紅黑樹(shù)使用實(shí)例
8.3 哈希表
8.3.1 哈希表的概念及作用
8.3.2 哈希表的構(gòu)造方法
8.3.3 哈希表的處理沖突方法
8.3.4 arm linux中哈希表使用實(shí)例
本章小結(jié)
動(dòng)手練練
第9章 文件i/o相關(guān)實(shí)例
9.1 linux系統(tǒng)調(diào)用及用戶編程接口(api)
9.1.1 系統(tǒng)調(diào)用
9.1.2 用戶編程接口(api)
9.1.3 系統(tǒng)命令
9.2 arm linux文件i/o系統(tǒng)概述
9.2.1 虛擬文件系統(tǒng)(vfs)
9.2.2 通用文件模型
9.2.3 arm linux的設(shè)備文件
9.3 文件i/o操作
9.3.1 不帶緩存的文件i/o操作
9.3.2 標(biāo)準(zhǔn)i/o開(kāi)發(fā)
9.4 嵌入式linux串口應(yīng)用開(kāi)發(fā)
9.4.1 串口概述
9.4.2 串口設(shè)置詳解
9.4.3 串口使用詳解
本章小結(jié)
動(dòng)手練練
第10章 arm linux進(jìn)程線程開(kāi)發(fā)實(shí)例
10.1 arm linux進(jìn)程線程管理
10.1.1 進(jìn)程描述符及任務(wù)結(jié)構(gòu)
10.1.2 進(jìn)程的調(diào)度
10.1.3 linux中的線程
10.1.4 linux中進(jìn)程間通信
10.2 arm linux進(jìn)程控制相關(guān)api
10.3 arm linux進(jìn)程間通信api
10.3.1 管道通信
10.3.2 信號(hào)通信
10.3.3 共享內(nèi)存
10.3.4 消息隊(duì)列
10.4 arm linux線程相關(guān)api
10.5 linux守護(hù)進(jìn)程
10.5.1 守護(hù)進(jìn)程概述
10.5.2 編寫規(guī)則
10.5.3 守護(hù)進(jìn)程實(shí)例
本章小結(jié)
動(dòng)手練練
第11章 arm linux網(wǎng)絡(luò)開(kāi)發(fā)實(shí)例
11.1 tcp/ip協(xié)議簡(jiǎn)介
11.1.1 tcp/ip的分層模型
11.1.2 tcp/ip分層模型特點(diǎn)
11.1.3 tcp/ip核心協(xié)議
11.2 網(wǎng)絡(luò)基礎(chǔ)編程
11.2.1 socket概述
11.2.2 地址及順序處理
11.2.3 socket基礎(chǔ)編程
11.3 web服務(wù)器
11.3.1 web服務(wù)器功能
11.3.2 web服務(wù)器協(xié)議
11.3.3 web服務(wù)器協(xié)議
11.3.4 運(yùn)行web服務(wù)器
11.4 traceroute程序?qū)嵗?br/>
11.4.1 traceroute原理簡(jiǎn)介
11.4.2 traceroute實(shí)例與分析
11.4.3 traceroute實(shí)例運(yùn)行結(jié)果
本章小結(jié)
動(dòng)手練練
第12章 嵌入式linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)
12.1 設(shè)備驅(qū)動(dòng)概述
12.1.1 設(shè)備驅(qū)動(dòng)簡(jiǎn)介
12.1.2 設(shè)備驅(qū)動(dòng)程序的特點(diǎn)
12.2 模塊編程
12.2.1 模塊編程簡(jiǎn)介
12.2.2 模塊相關(guān)命令
12.2.3 模塊編程流程
12.3 字符設(shè)備驅(qū)動(dòng)編寫
12.4 塊設(shè)備驅(qū)動(dòng)編寫
12.4.1 塊設(shè)備驅(qū)動(dòng)程序描述符
12.4.2 塊設(shè)備驅(qū)動(dòng)編寫流程
12.5 簡(jiǎn)單的skull驅(qū)動(dòng)實(shí)例
12.5.1 驅(qū)動(dòng)簡(jiǎn)介
12.5.2 驅(qū)動(dòng)編寫流程
12.5.3 結(jié)果分析
12.6 lcd驅(qū)動(dòng)編寫實(shí)例
12.6.1 lcd工作原理
12.6.2 lcd驅(qū)動(dòng)實(shí)例
本章小結(jié)
動(dòng)手練練
第13章 視頻監(jiān)控系統(tǒng)
13.1 視頻監(jiān)控系統(tǒng)概述
13.1.1 系統(tǒng)組成
13.1.2 音視頻服務(wù)器
13.1.3 音視頻客戶端
13.1.4 通信傳輸控制協(xié)議
13.2 基本數(shù)據(jù)結(jié)構(gòu)
13.3 功能實(shí)現(xiàn)
13.3.1 傳輸控制
13.3.2 用戶檢驗(yàn)
13.3.3 控制命令處理
13.3.4 云臺(tái)轉(zhuǎn)動(dòng)控制
13.3.5 線程相關(guān)
本章小結(jié)
動(dòng)手練練