嵌入式系統(tǒng)設(shè)計與實例開發(fā)——基于ARM微處理器與μC/OSⅡ?qū)崟r操作系統(tǒng)(第3版)
定 價:33 元
- 作者:王田苗、魏洪興
- 出版時間:2008/1/1
- ISBN:9787302164678
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP360.21
- 頁碼:
- 紙張:膠版紙
- 版次:1
- 開本:16
本書是《嵌入式系統(tǒng)設(shè)計與實例開發(fā)》一書的第3版,其特點是體系結(jié)構(gòu)完整、基本概念清晰,易讀易學(xué)。本書主要以ARM9嵌入式微處理器與and#61549;C/OS-II實時操作系統(tǒng)作為教學(xué)對象,分別介紹了嵌入式系統(tǒng)的概念及應(yīng)用領(lǐng)域,嵌入式系統(tǒng)軟硬件及設(shè)計方法基本知識,ARM微處理器體系結(jié)構(gòu)與匯編語言程序設(shè)計,and#61549;C/OS-II實時操作系統(tǒng)分析,嵌入式系統(tǒng)硬件接口設(shè)計,嵌入式系統(tǒng)軟件設(shè)計與編程以及嵌入式系統(tǒng)的應(yīng)用開發(fā)案例等知識體系。
本書定位為教材,適合作為計算機、軟件、電子信息工程和自動化等專業(yè)本科生或研究生《嵌入式系統(tǒng)》、《嵌入式系統(tǒng)設(shè)計》、《嵌入式系統(tǒng)設(shè)計導(dǎo)論》等課程的教材使用。
本書配套較完整的課程大綱、PPT講稿,這部分內(nèi)容可以從清華大學(xué)出版社網(wǎng)站(www.tup.tsinghua
.edu.cn)下載。
前 言
時間如白駒過隙,距2003年本書第2版的出版已有4年多時間了。期間,第2版已第10次印刷,而我們卻一直未能對第2版進(jìn)行系統(tǒng)性的修訂和完善,實在有愧于各位讀者的厚愛。這4年中我們收到了許多讀者的郵件和電話,他們對本書第2版提出了很多好的建議和意見。此外,我們自己在研究生《嵌入式系統(tǒng)概論》和本科生《嵌入式系統(tǒng)設(shè)計導(dǎo)論》的教學(xué)實踐中,也積累了較豐富的實踐教學(xué)經(jīng)驗,這些都為本書第3版的修訂工作奠定了基礎(chǔ)。
近幾年,嵌入式系統(tǒng)技術(shù)得到了廣泛的應(yīng)用和爆發(fā)性的增長,普適計算、無線傳感器網(wǎng)絡(luò)、可重構(gòu)計算等新興技術(shù)的出現(xiàn)又為嵌入式系統(tǒng)技術(shù)的研究與應(yīng)用注入了新的活力。智能手機、信息家電、汽車電子、家用機器人……嵌入式系統(tǒng)已“無處不在”。產(chǎn)業(yè)繁榮的背后帶來的是隱藏的危機,作為“世界制造中心”的中國,在全球產(chǎn)業(yè)鏈中的地位舉足輕重,但中國企業(yè)缺乏核心技術(shù),勞動密集型產(chǎn)業(yè)過多也是不爭的事實。如何從“制造大國”向“制造強國”轉(zhuǎn)變已成為中國企業(yè)界共同面對的挑戰(zhàn)。在這個轉(zhuǎn)變過程中,加快發(fā)展制造業(yè)“心臟”的嵌入式芯片和軟件技術(shù)已成為眾多企業(yè)家的共識,而普及嵌入式技術(shù)、加快嵌入式技術(shù)人才的培養(yǎng)則是原動力。
2004年,ACM和IEEE聯(lián)合制定了新版的計算機學(xué)科的課程體系(2004版),其中一個主要的改革就是把“Embedded System”課程列為本科生的專業(yè)基礎(chǔ)課程,并且給出了基本的課程體系。同時,美國卡內(nèi)基?梅隆大學(xué)、伯克利大學(xué)等國外高校也不斷地在完善他們的嵌入式教育體系,歐盟也推出了面向歐盟高校和企業(yè)的嵌入式研究計劃,這些信息為本書第3版的內(nèi)容體系結(jié)構(gòu)提供了指導(dǎo)和參考。
本書第3版定位為教材,適合作為本科生或研究生《嵌入式系統(tǒng)概論》、《嵌入式系統(tǒng)設(shè)計》、《嵌入式系統(tǒng)設(shè)計導(dǎo)論》等課程的教材使用,其特點是體系結(jié)構(gòu)完整、基本概念清晰,易讀易學(xué)。與第2版相比,本書第3版做了較大的修改和完善,主要包括以下 方面:
?在體系結(jié)構(gòu)上,以ARM9嵌入式微處理器與?C/OS-II實時操作系統(tǒng)作為教學(xué)內(nèi)容,新增加了第3章ARM微處理器體系結(jié)構(gòu)與指令集和第4章?C/OS-II嵌入式實時操作系統(tǒng)內(nèi)核分析兩部分內(nèi)容,使本書的體系結(jié)構(gòu)更加完整。
?為了兼顧不同專業(yè)的學(xué)生學(xué)習(xí)使用,增加了第2章嵌入式系統(tǒng)的基礎(chǔ)知識,主要介紹嵌入式系統(tǒng)硬件體系結(jié)構(gòu)、嵌入式軟件與實時操作系統(tǒng)、嵌入式系統(tǒng)內(nèi)核設(shè)計與開發(fā)方法等基礎(chǔ)知識,擴大了本書的適用范圍。
?在第5章嵌入式系統(tǒng)硬件平臺與接口設(shè)計部分,以ARM9微處理器為設(shè)計平臺,在內(nèi)容上做了較大的修訂和完善,更加符合目前國內(nèi)嵌入式系統(tǒng)教學(xué)的主流情況。
?在第8章嵌入式系統(tǒng)的應(yīng)用開發(fā)案例部分,介紹了嵌入式數(shù)控系統(tǒng)的設(shè)計,這是一個較完整的嵌入式產(chǎn)品設(shè)計案例,具有較大的參考價值。
?第1章、第6章、第7章保留了原書的特色,也進(jìn)行了內(nèi)容的更新和修訂。
參加本書第3版修訂工作的有王田苗、魏洪興、陳友東、陶永、劉淼等,其中王田苗、魏洪興負(fù)責(zé)統(tǒng)稿。在修訂過程中,得到了山東大學(xué)賈智平教授、北京航空航天大學(xué)康一梅教授、清華大學(xué)湛衛(wèi)軍博士和北京航空航天大學(xué)ITM實驗室全體老師及研究生的大力支持和幫助,大連理工大學(xué)金建設(shè)教授提供了第8章嵌入式智能家居的開發(fā)案例,北京博創(chuàng)科技提供了實驗用的UP-NETARM系列教學(xué)平臺和附錄B的部分實驗體系,在此向他們表示誠摯的感謝。
由于作者知識所限,書中不足之處在所難免,懇請各位專家和讀者賜正。
王田苗 魏洪興
于北京航空航天大學(xué)新主樓
ITM實驗室(http://itm.buaa.edu.cn)
2007年10月15日
目 錄
第1章 嵌入式系統(tǒng)概述1
1.1 嵌入式系統(tǒng)簡介1
1.1.1 什么是嵌入式系統(tǒng)1
1.1.2 嵌入式系統(tǒng)的特點6
1.1.3 嵌入式系統(tǒng)的組成7
1.1.4 嵌入式系統(tǒng)的分類13
1.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域17
1.3 嵌入式系統(tǒng)在機電控制方面的應(yīng)用19
1.4 嵌入式系統(tǒng)的現(xiàn)狀和發(fā)展趨勢21
1.4.1 嵌入式系統(tǒng)的現(xiàn)狀21
1.4.2 未來嵌入式系統(tǒng)的發(fā)展趨勢22
練習(xí)題24
第2章 嵌入式系統(tǒng)的基本知識25
2.1 嵌入式系統(tǒng)硬件知識25
2.1.1 嵌入式微處理器簡介25
2.1.2 嵌入式微處理器體系結(jié)構(gòu)26
2.1.3 嵌入式微處理器的分類32
2.2 嵌入式系統(tǒng)軟件知識36
2.2.1 嵌入式軟件概述36
2.2.2 嵌入式軟件體系結(jié)構(gòu)37
2.2.3 嵌入式操作系統(tǒng)的分類39
2.2.4 嵌入式操作系統(tǒng)的幾個重要概念42
2.2.5 常見的實時嵌入式操作系統(tǒng)介紹44
2.3 嵌入式系統(tǒng)中的選型原則和設(shè)計工具48
2.3.1 嵌入式系統(tǒng)的選型原則48
2.3.2 嵌入式系統(tǒng)的設(shè)計工具51
2.3.3 嵌入式系統(tǒng)開發(fā)模式53
2.3.4 嵌入式軟件開發(fā)工具55
練習(xí)題61
第3章 ARM微處理器體系結(jié)構(gòu)與指令集62
3.1 ARM嵌入式微處理器概述62
3.1.1 嵌入式微處理器簡介62
3.1.2 ARM微處理器概述63
3.1.3 ARM架構(gòu)版本與產(chǎn)品系列64
3.2 ARM微處理器體系結(jié)構(gòu)67
3.2.1 ARM微處理器體系結(jié)構(gòu)概述67
3.2.2 流水線73
3.2.3 ARM的寄存器組織76
3.2.4 ARM處理器模式81
3.2.5 異常81
3.3 ARM處理器的指令系統(tǒng)86
3.3.1 ARM指令系統(tǒng)概述86
3.3.2 ARM指令的條件域88
3.3.3 ARM指令的尋址方式88
3.3.4 ARM指令集90
3.3.5 Thumb指令集98
3.4 ARM處理器編程簡介99
3.4.1 ARM匯編語言的文件格式99
3.4.2 ARM匯編語言的語句格式99
3.4.3 C語言與匯編語言的混合編程101
3.5 ARM處理器初始化分析107
3.5.1 嵌入式系統(tǒng)初始化流程107
3.5.2 ARM嵌入式處理器的初始化分析110
練習(xí)題114
第4章 ?C/OS-Ⅱ嵌入式實時操作系統(tǒng)內(nèi)核分析115
4.1 ?C/OS-II實時操作系統(tǒng)簡介115
4.2 ?C/OS-II的內(nèi)核結(jié)構(gòu)分析116
4.2.1 多任務(wù)116
4.2.2 任務(wù)調(diào)度120
4.2.3 中斷與時間管理123
4.2.4 ?C/OS-II的初始化125
4.3 ?C/OS-II的任務(wù)通信和同步126
4.3.1 任務(wù)互斥和同步126
4.3.2 任務(wù)間的通信129
4.3.3 μC/OS-II的任務(wù)通信機制130
4.4 ?C/OS-II在S3C2410微處理器上的移植分析134
4.4.1 移植μC/OS-II的基本要求134
4.4.2 設(shè)置與處理器和編譯器相關(guān)的代碼136
4.4.3 用C語言編寫6個操作系統(tǒng)相關(guān)的函數(shù)137
4.4.4 用匯編語言編寫4個與處理器相關(guān)的函數(shù)140
4.4.5 移植測試143
練習(xí)題144
第5章 嵌入式系統(tǒng)硬件平臺與接口設(shè)計145
5.1 基于S3C2410A微處理器的硬件平臺體系結(jié)構(gòu)145
5.1.1 S3C2410A微處理器簡介145
5.1.2 基于S3C2410A微處理器的硬件平臺結(jié)構(gòu)146
5.2 存儲器系統(tǒng)設(shè)計148
5.2.1 存儲器系統(tǒng)概述148
5.2.2 S3C2410A的存儲系統(tǒng)設(shè)計151
5.3 串行接口設(shè)計154
5.3.1 串行通信的基本概念154
5.3.2 通用異步收發(fā)器(UART)159
5.4 I/O接口設(shè)計162
5.4.1 GPIO接口設(shè)計162
5.4.2 A/D轉(zhuǎn)換器164
5.5 人機交互接口169
5.5.1 LCD和觸摸屏接口設(shè)計169
5.5.2 觸摸屏接口設(shè)計172
5.5.3 鍵盤接口設(shè)計173
5.6 嵌入式系統(tǒng)的網(wǎng)絡(luò)接口設(shè)計178
5.6.1 以太網(wǎng)接口的基本知識178
5.6.2 嵌入式以太網(wǎng)接口的實現(xiàn)182
5.6.3 基于ARM的RTL8019AS網(wǎng)絡(luò)接口芯片的設(shè)計183
5.7 嵌入式系統(tǒng)的調(diào)試接口ARM JTAG的設(shè)計188
5.7.1 ARM的JTAG調(diào)試接口189
5.7.2 JTAG的基本知識190
練習(xí)題194
第6章 基于?C/OS-II的軟件體系結(jié)構(gòu)設(shè)計195
6.1 基于?C/OS-II擴展RTOS的體系結(jié)構(gòu)195
6.2 建立文件系統(tǒng)197
6.2.1 文件系統(tǒng)簡介197
6.2.2 文件系統(tǒng)的實現(xiàn)過程205
6.2.3 文件系統(tǒng)相關(guān)的API函數(shù)功能詳解208
6.3 外設(shè)及驅(qū)動程序210
6.3.1 串行口210
6.3.2 液晶顯示驅(qū)動程序211
6.3.3 鍵盤驅(qū)動程序212
6.4 網(wǎng)絡(luò)通信協(xié)議213
6.4.1 基于ARM和?C/OS-II的TCP/IP協(xié)議213
6.4.2 網(wǎng)絡(luò)編程接口214
6.5 圖形用戶接口(GUI)函數(shù)217
6.5.1 基于Unicode的漢字字庫217
6.5.2 Unicode字庫的顯示及相關(guān)函數(shù)222
6.5.3 基本繪圖函數(shù)223
6.5.4 典型的控件231
6.6 系統(tǒng)的消息隊列241
6.6.1 系統(tǒng)消息241
6.6.2 消息相關(guān)函數(shù)242
6.7 其他實用的應(yīng)用程序接口(API)函數(shù)243
練習(xí)題248
第7章 嵌入式軟件應(yīng)用程序?qū)嵗?49
7.1 建立基于?C/OS-II的應(yīng)用程序249
7.1.1 在?C/OS-II系統(tǒng)上運行的應(yīng)用程序的結(jié)構(gòu)249
7.1.2 系統(tǒng)的消息循環(huán)252
7.1.3 創(chuàng)建新任務(wù)以及任務(wù)之間的同步252
7.2 繪圖API函數(shù)254
7.2.1 繪圖的API函數(shù)應(yīng)用舉例254
7.2.2 繪圖的API函數(shù)應(yīng)用舉例的源代碼256
7.3 系統(tǒng)的消息循環(huán)261
7.3.1 使用系統(tǒng)的消息循環(huán)261
7.3.2 系統(tǒng)消息循環(huán)使用的源代碼264
7.4 文件的使用268
7.4.1 文件的讀取應(yīng)用舉例269
7.4.2 文件的讀取實現(xiàn)的源代碼270
7.5 列表框控件的使用271
7.5.1 列表框控件的使用舉例272
7.5.2 列表框控件舉例的源代碼274
7.6 文本框控件的使用276
7.6.1 文本框控件的使用舉例276
7.6.2 文本框控件的舉例源代碼278
7.7 系統(tǒng)的多任務(wù)和系統(tǒng)時鐘281
7.7.1 系統(tǒng)的多任務(wù)和系統(tǒng)時鐘應(yīng)用舉例281
7.7.2 系統(tǒng)的多任務(wù)和系統(tǒng)時鐘舉例源代碼283
7.8 UDP通信實驗287
7.8.1 UDP協(xié)議簡介287
7.8.2 socket簡介289
7.8.3 實驗步驟293
7.9 綜合舉例296
7.9.1 綜合舉例的設(shè)計思路296
7.9.2 綜合舉例的源代碼297
練習(xí)題309
第8章 嵌入式系統(tǒng)的應(yīng)用開發(fā)案例310
8.1 嵌入式系統(tǒng)的設(shè)計方法310
8.1.1 嵌入式系統(tǒng)的設(shè)計流程310
8.1.2 嵌入式系統(tǒng)的軟硬件劃分312
8.1.3 嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計313
8.1.4 系統(tǒng)集成和測試315
8.2 嵌入式數(shù)控系統(tǒng)設(shè)計開發(fā)實例315
8.2.1 數(shù)控系統(tǒng)簡介315
8.2.2 需求分析316
8.2.3 系統(tǒng)體系結(jié)構(gòu)設(shè)計317
8.2.4 軟件設(shè)計320
8.2.5 系統(tǒng)集成與測試322
8.3 智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計實例323
8.3.1 智能家居遠(yuǎn)程監(jiān)控系統(tǒng)簡介323
8.3.2 系統(tǒng)功能分析324
8.3.3 系統(tǒng)方案設(shè)計325
8.3.4 系統(tǒng)硬件結(jié)構(gòu)設(shè)計327
8.3.5 系統(tǒng)軟件結(jié)構(gòu)設(shè)計329
附錄A ADS1.2嵌入式開發(fā)環(huán)境配置簡介334
附錄B 《嵌入式系統(tǒng)設(shè)計與實例開發(fā)》 配套實驗體系介紹342
B.1 UP-NETARM2410-S實驗教學(xué)平臺介紹342
B.2 實驗教學(xué)內(nèi)容及其基本要求343
B.3 北京航空航天大學(xué)《嵌入式系統(tǒng)概論》實驗課程大綱349
參考文獻(xiàn)353