定 價(jià):49 元
叢書名:21世紀(jì)高等學(xué)校嵌入式系統(tǒng)專業(yè)規(guī)劃教材
- 作者:賴曉晨,王孝良,任志磊,方圓 著
- 出版時(shí)間:2016/6/1
- ISBN:9787302429852
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP332
- 頁碼:376
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書以ARM處理器為硬件平臺(tái),以應(yīng)用廣泛的嵌入式Linux操作系統(tǒng)為軟件平臺(tái),全面介紹嵌入式C語言程序設(shè)計(jì)的概念、思想、方法和技巧。本書還介紹了嵌入式系統(tǒng)的仿真設(shè)計(jì)方法,以期降低讀者進(jìn)行嵌入式學(xué)習(xí)的難度。 本書內(nèi)容豐富,緊貼新技術(shù);以實(shí)例為基礎(chǔ)講解知識(shí)點(diǎn),由淺入深,通俗易懂;書中代碼及配套課件完整、詳盡、嚴(yán)謹(jǐn)、風(fēng)格統(tǒng)一,讀者可直接將代碼應(yīng)用在自己的工程項(xiàng)目中。 本書適合作為嵌入式專業(yè)方向的高年級(jí)本科生教材,也適用于希望轉(zhuǎn)向嵌入式系統(tǒng)設(shè)計(jì)的IT從業(yè)人員; 作為學(xué)習(xí)主流嵌入式系統(tǒng)軟件設(shè)計(jì)的指導(dǎo)教材, 本書尤其適合學(xué)習(xí)了嵌入式硬件基礎(chǔ)知識(shí)及C語言,但是還沒有形成嵌入式系統(tǒng)設(shè)計(jì)完整概念的人員。
本書以ARM處理器為硬件平臺(tái),以應(yīng)用廣泛的嵌入式Linux操作系統(tǒng)為軟件平臺(tái),全面介紹嵌入式C語言程序設(shè)計(jì)的概念、思想、方法和技巧;本書內(nèi)容著眼于三星公司和恩智浦公司暢銷的ARM7和ARM9處理器,以及2.4和2.6內(nèi)核版本的嵌入式Linux操作系統(tǒng),力爭使讀者盡可能多地了解嵌入式系統(tǒng)的主流技術(shù)。
為了降低讀者的學(xué)習(xí)成本和學(xué)習(xí)難度,本書還介紹嵌入式系統(tǒng)的仿真設(shè)計(jì)方法,指導(dǎo)讀者通過Proteus仿真軟件設(shè)計(jì)自己的嵌入式系統(tǒng),并介紹Proteus與其他嵌入式IDE的聯(lián)調(diào)方法,使讀者無需購買嵌入式開發(fā)板也可以完成自己的嵌入式系統(tǒng)設(shè)計(jì)。
本書內(nèi)容覆蓋廣泛,緊貼新技術(shù),書中提及的各種開發(fā)工具,均采用新版本;以實(shí)例為基礎(chǔ)講解各知識(shí)點(diǎn),由淺入深,通俗易懂;書中代碼及配套課件完整、詳盡、嚴(yán)謹(jǐn)、風(fēng)格統(tǒng)一,讀者可直接將書中的工程代碼應(yīng)用在自己的項(xiàng)目中。
本書適用于嵌入式專業(yè)方向的高年級(jí)本科生作為教材使用,也適用于希望轉(zhuǎn)向嵌入式系統(tǒng)設(shè)計(jì)的IT從業(yè)人員;尤其適合學(xué)習(xí)了嵌入式硬件基礎(chǔ)知識(shí)及C語言,但是還沒有形成嵌入式系統(tǒng)設(shè)計(jì)完整概念的人員,作為學(xué)習(xí)主流嵌入式系統(tǒng)軟件設(shè)計(jì)的指導(dǎo)教材使用。
第1章緒論
1.1嵌入式系統(tǒng)概述
1.1.1計(jì)算機(jī)的發(fā)展和分類
1.1.2嵌入式系統(tǒng)概覽
1.1.3嵌入式系統(tǒng)的組成
1.1.4嵌入式系統(tǒng)的發(fā)展
1.2嵌入式系統(tǒng)開發(fā)流程
1.3嵌入式軟件設(shè)計(jì)
1.3.1嵌入式系統(tǒng)開發(fā)語言
1.3.2嵌入式系統(tǒng)的開發(fā)工具
1.4本書內(nèi)容簡介
第2章預(yù)備知識(shí)
2.1ARM體系結(jié)構(gòu)
2.1.1ARM體系結(jié)構(gòu)簡介
2.1.2ARM指令集
2.1.3S3C44B0X嵌入式處理器
2.1.4LPC2136嵌入式處理器
2.1.5S3C2410X嵌入式處理器
2.2Linux操作系統(tǒng)
2.2.1Linux操作系統(tǒng)的歷史
2.2.2Linux操作系統(tǒng)的特點(diǎn)
2.2.3Linux版本
2.2.4Linux的安裝
2.3Linux操作系統(tǒng)基礎(chǔ)操作
2.3.1shell
2.3.2常用shell命令
第3章嵌入式Linux開發(fā)環(huán)境
3.1交叉開發(fā)環(huán)境
3.2Linux開發(fā)工具鏈
3.2.1Linux開發(fā)工具鏈簡介
3.2.2GNU交叉開發(fā)環(huán)境的建立
3.3編輯器
3.4編譯器
3.4.1gcc簡介
3.4.2gcc的基本用法
3.5鏈接器
3.6調(diào)試器
3.7自動(dòng)化編譯配置文件
3.7.1自動(dòng)化編譯配置文件簡介
3.7.2Makefile規(guī)則
3.7.3Makefile的變量
3.7.4Makefile的執(zhí)行
3.7.5make內(nèi)嵌函數(shù)
3.7.6make的常見錯(cuò)誤信息
第4章嵌入式操作系統(tǒng)平臺(tái)構(gòu)建
4.1嵌入式操作系統(tǒng)的構(gòu)建
4.2BootLoader
4.2.1BootLoader概述
4.2.2BootLoader框架
4.2.3BootLoader代碼分析
4.2.4vivi
4.3內(nèi)核編譯
4.3.1μCLinux操作系統(tǒng)簡介
4.3.2μCLinux操作系統(tǒng)內(nèi)核編譯
4.3.3嵌入式Linux操作系統(tǒng)2.4版本內(nèi)核編譯
4.3.4嵌入式Linux操作系統(tǒng)2.6版本內(nèi)核編譯
4.4BusyBox
4.5文件系統(tǒng)
4.5.1Linux系統(tǒng)中常見的文件系統(tǒng)
4.5.2構(gòu)建YAFFS2文件系統(tǒng)
4.6應(yīng)用程序設(shè)計(jì)流程
4.6.1交叉編譯
4.6.2執(zhí)行程序
第5章嵌入式C語言基礎(chǔ)
5.1嵌入式C語言概述
5.1.1C語言的歷史和特點(diǎn)
5.1.2預(yù)處理指令
5.1.3位運(yùn)算
5.1.4函數(shù)指針
5.1.5C程序的移植
5.2GNU C擴(kuò)展
5.3嵌入式C程序架構(gòu)
5.3.1嵌入式C程序
5.3.2人機(jī)界面
5.3.3指針的使用方法
5.4ARM C程序設(shè)計(jì)優(yōu)化
5.4.1編譯器的特性
5.4.2數(shù)據(jù)類型對(duì)程序效率的影響
5.4.3循環(huán)方式對(duì)程序效率的影響
5.4.4指針對(duì)程序效率的影響
5.4.5邊界對(duì)齊對(duì)程序效率的影響
5.5硬件編程
5.6*C語言編程規(guī)范
5.6.1排版
5.6.2注釋
5.6.3命名規(guī)則
5.6.4可讀性
5.6.5變量和結(jié)構(gòu)
5.6.6函數(shù)
5.6.7程序效率
第6章嵌入式Linux程序設(shè)計(jì)基礎(chǔ)
6.1錯(cuò)誤處理機(jī)制
6.1.1C語言的錯(cuò)誤處理機(jī)制
6.1.2系統(tǒng)日志文件
6.2文件和內(nèi)存操作
6.2.1文件操作
6.2.2目錄操作
6.2.3內(nèi)存操作
6.3進(jìn)程控制
6.3.1創(chuàng)建進(jìn)程
6.3.2exec系統(tǒng)調(diào)用
6.3.3等待進(jìn)程結(jié)束
6.3.4殺死進(jìn)程
6.4線程控制
6.4.1線程概述
6.4.2多線程程序設(shè)計(jì)方法
6.4.3線程同步
6.4.4線程屬性
6.4.5線程取消
6.5Linux庫
6.5.1Linux庫概述
6.5.2庫操作工具
6.5.3靜態(tài)庫
6.5.4共享庫
6.5.5動(dòng)態(tài)鏈接庫
第7章嵌入式Linux程序設(shè)計(jì)進(jìn)階
7.1信號(hào)
7.1.1信號(hào)概述
7.1.2信號(hào)相關(guān)函數(shù)
7.1.3信號(hào)集相關(guān)函數(shù)
7.1.4其他信號(hào)相關(guān)函數(shù)
7.2管道
7.2.1無名管道
7.2.2有名管道
7.3信號(hào)量
7.3.1信號(hào)量概述
7.3.2信號(hào)量相關(guān)函數(shù)
7.3.3信號(hào)量處理函數(shù)程序示例
7.4共享內(nèi)存
7.4.1共享內(nèi)存簡介
7.4.2共享內(nèi)存操作函數(shù)
7.4.3共享內(nèi)存程序示例
7.5消息隊(duì)列
7.5.1消息隊(duì)列簡介
7.5.2消息隊(duì)列操作函數(shù)
7.5.3消息隊(duì)列程序示例
第8章嵌入式Linux內(nèi)核驅(qū)動(dòng)程序設(shè)計(jì)
8.1Linux內(nèi)核模塊
8.1.1Linux內(nèi)核模塊概述
8.1.2Linux內(nèi)核模塊實(shí)例
8.1.3Linux內(nèi)核模塊實(shí)現(xiàn)機(jī)制
8.2Linux驅(qū)動(dòng)程序工作原理
8.2.1設(shè)備驅(qū)動(dòng)程序概述
8.2.2設(shè)備驅(qū)動(dòng)程序接口
8.3Linux內(nèi)核虛擬驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.3.1Linux 2.4內(nèi)核虛擬驅(qū)動(dòng)程序
8.3.2Linux 2.6內(nèi)核虛擬驅(qū)動(dòng)程序
8.4ARM7/μCLinux驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.5ARM9/Linux 2.4內(nèi)核驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.5.1蜂鳴器驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.5.2ADC驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.5.3中斷驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.6ARM9/Linux 2.6內(nèi)核驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.6.1按鍵驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
8.6.2PWM驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例
第9章基于Proteus的硬件仿真
9.1LED流水燈
9.1.1工作原理
9.1.2電路介紹
9.1.3軟件設(shè)計(jì)
9.1.4Proteus仿真
9.2蜂鳴器與繼電器
9.2.1工作原理
9.2.2電路介紹
9.2.3軟件設(shè)計(jì)
9.2.4Proteus仿真
9.3鍵盤與數(shù)碼管
9.3.1工作原理
9.3.2電路介紹
9.3.3軟件設(shè)計(jì)
9.3.4Proteus仿真
9.4LED點(diǎn)陣
9.4.1工作原理
9.4.2電路介紹
9.4.3軟件設(shè)計(jì)
9.4.4Proteus仿真
9.5PWM音樂播放
9.5.1工作原理
9.5.2電路介紹
9.5.3軟件設(shè)計(jì)
9.5.4Proteus仿真
9.6UART
9.6.1工作原理
9.6.2電路介紹
9.6.3軟件設(shè)計(jì)
9.6.4Proteus仿真
9.7中斷
9.7.1工作原理
9.7.2電路介紹
9.7.3軟件設(shè)計(jì)
9.7.4Proteus仿真
9.8點(diǎn)陣型LCD
9.8.1工作原理
9.8.2電路設(shè)計(jì)
9.8.3軟件設(shè)計(jì)
9.8.4Proteus仿真
9.9A/D轉(zhuǎn)換器
9.9.1工作原理
9.9.2電路設(shè)計(jì)
9.9.3軟件設(shè)計(jì)
9.9.4Proteus仿真
參考文獻(xiàn)