內容提要
本書定位為教材,適合作為計算機、軟體、電子信息工程和自動化等專業本科生或研究生《嵌入式系統》、《嵌入式系統設計》、《嵌入式系統設計導論》等課程的教材使用。
本書配套較完整的課程大綱、PPT講稿,這部分內容可以從清華大學出版社網站下載。
編輯推薦
本書是《嵌入式系統設計與實例開發》一書的第3版,其特點是體系結構完整、基本概念清晰,易讀易學。本書主要以ARM9嵌入式微處理器與?C/OS-II實時作業系統作為教學對象,分別介紹了嵌入式系統的概念及套用領域,嵌入式系統軟硬體及設計方法基本知識,ARM微處理器體系結構與彙編語言程式設計,?C/OS-II實時作業系統分析,嵌入式系統硬體接口設計,嵌入式系統軟體設計與編程以及嵌入式系統的套用開發案例等知識體系。
本書定位為教材,適合作為計算機、軟體、電子信息工程和自動化等專業本科生或研究生《嵌入式系統》、《嵌入式系統設計》、《嵌入式系統設計導論》等課程的教材使用。
本書配套較完整的課程大綱、PPT講稿,這部分內容可以從清華大學出版社網站下載。
作者簡介
王田苗,1960.2出生,教授,博士生導師,國家教育部長江學者特聘教授。現任國家“十一五”863計畫先進制造領域專家組組長,中國電子學會嵌入式系統專家委員會主任委員,北京航空航天大學機械工程及自動化學院院長。主要研究方向為先進機器人技術,在醫用機器人、仿生機器魚與嵌入式技術等方面取得過突出成績。
近年來在國內外核心刊物上發表論文約20篇,合作出版專著3部。“機器人行動規劃與控制技術”項目榮獲國家電子工業部科技進步一等獎、“基於多感測器局部自主的臂手集成系統”項目榮獲國家航空部科技進步二等獎、“立體定向惱外科機器人集成系統”項目榮獲北京市科技進步二等獎。先後被國家人事部列為全國首批20名重點資助優秀回國留學人員,被授予北京高等學校學科帶頭人和中國航空總公司有突出貢獻的青年專家稱號,榮獲茅以升北京青年科技提名獎、美國聯合技術容闊科技教育獎等。
圖書目錄
第1章 嵌入式系統概述 1
1.1 嵌入式系統簡介 1
1.1.1 什麼是嵌入式系統 1
1.1.2 嵌入式系統的特點 6
1.1.3 嵌入式系統的組成 7
1.1.4 嵌入式系統的分類 13
1.2 嵌入式系統的套用領域 17
1.3 嵌入式系統在機電控制方面的套用 19
1.4 嵌入式系統的現狀和發展趨勢 21
1.4.1 嵌入式系統的現狀 21
1.4.2 未來嵌入式系統的發展趨勢 22
練習題 24
第2章 嵌入式系統的基本知識 25
2.1 嵌入式系統硬體知識 25
2.1.1 嵌入式微處理器簡介 25
2.1.2 嵌入式微處理器體系結構 26
2.1.3 嵌入式微處理器的分類 32
2.2 嵌入式系統軟體知識 36
2.2.1 嵌入式軟體概述 36
2.2.2 嵌入式軟體體系結構 37
2.2.3 嵌入式作業系統的分類 39
2.2.4 嵌入式作業系統的幾個重要概念 42
2.2.5 常見的實時嵌入式作業系統介紹 44
2.3 嵌入式系統中的選型原則和設計工具 48
2.3.1 嵌入式系統的選型原則 48
2.3.2 嵌入式系統的設計工具 51
2.3.3 嵌入式系統開發模式 53
2.3.4 嵌入式軟體開發工具 55
練習題 61
第3章 ARM微處理器體系結構與指令集 62
3.1 ARM嵌入式微處理器概述 62
3.1.1 嵌入式微處理器簡介 62
3.1.2 ARM微處理器概述 63
3.1.3 ARM架構版本與產品系列 64
3.2 ARM微處理器體系結構 67
3.2.1 ARM微處理器體系結構概述 67
3.2.2 流水線 73
3.2.3 ARM的暫存器組織 76
3.2.4 ARM處理器模式 81
3.2.5 異常 81
3.3 ARM處理器的指令系統 86
3.3.1 ARM指令系統概述 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 嵌入式系統初始化流程 107
3.5.2 ARM嵌入式處理器的初始化分析 110
練習題 114
第4章 μC/OS-Ⅱ嵌入式實時作業系統核心分析 115
4.1 μC/OS-II實時作業系統簡介 115
4.2 μC/OS-II的核心結構分析 116
4.2.1 多任務 116
4.2.2 任務調度 120
4.2.3 中斷與時間管理 123
4.2.4 μC/OS-II的初始化 125
4.3 μC/OS-II的任務通信和同步 126
4.3.1 任務互斥和同步 126
4.3.2 任務間的通信 129
4.3.3 μC/OS-II的任務通信機制 130
4.4 μC/OS-II在S3C2410微處理器上的移植分析 134
4.4.1 移植μC/OS-II的基本要求 134
4.4.2 設定與處理器和編譯器相關的代碼 136
4.4.3 用C語言編寫6個作業系統相關的函式 137
4.4.4 用彙編語言編寫4個與處理器相關的函式 140
4.4.5 移植測試 143
練習題 144
第5章 嵌入式系統硬體平台與接口設計 145
5.1 基於S3C2410A微處理器的硬體平台體系結構 145
5.1.1 S3C2410A微處理器簡介 145
5.1.2 基於S3C2410A微處理器的硬體平台結構 146
5.2 存儲器系統設計 148
5.2.1 存儲器系統概述 148
5.2.2 S3C2410A的存儲系統設計 151
5.3 串列接口設計 154
5.3.1 串列通信的基本概念 154
5.3.2 通用異步收發器(UART) 159
5.4 I/O接口設計 162
5.4.1 GPIO接口設計 162
5.4.2 A/D轉換器 164
5.5 人機互動接口 169
5.5.1 LCD和觸控螢幕接口設計 169
5.5.2 觸控螢幕接口設計 172
5.5.3 鍵盤接口設計 173
5.6 嵌入式系統的網路接口設計 178
5.6.1 乙太網接口的基本知識 178
5.6.2 嵌入式乙太網接口的實現 182
5.6.3 基於ARM的RTL8019AS網路接口晶片的設計 183
5.7 嵌入式系統的調試接口ARM JTAG的設計 188
5.7.1 ARM的JTAG調試接口 189
5.7.2 JTAG的基本知識 190
練習題 194
第6章 基於μC/OS-II的軟體體系結構設計 195
6.1 基於μC/OS-II擴展RTOS的體系結構 195
6.2 建立檔案系統 197
6.2.1 檔案系統簡介 197
6.2.2 檔案系統的實現過程 205
6.2.3 檔案系統相關的API函式功能詳解 208
6.3 外設及驅動程式 210
6.3.1 串列口 210
6.3.2 液晶顯示驅動程式 211
6.3.3 鍵盤驅動程式 212
6.4 網路通信協定 213
6.4.1 基於ARM和μC/OS-II的TCP/IP協定 213
6.4.2 網路編程接口 214
6.5 圖形用戶接口(GUI)函式 217
6.5.1 基於Unicode的漢字字型檔 217
6.5.2 Unicode字型檔的顯示及相關函式 222
6.5.3 基本繪圖函式 223
6.5.4 典型的控制項 231
6.6 系統的訊息佇列 241
6.6.1 系統訊息 241
6.6.2 訊息相關函式 242
6.7 其他實用的應用程式接口(API)函式 243
練習題 248
第7章 嵌入式軟體應用程式實例 249
7.1 建立基於μC/OS-II的應用程式 249
7.1.1 在μC/OS-II系統上運行的應用程式的結構 249
7.1.2 系統的訊息循環 252
7.1.3 創建新任務以及任務之間的同步 252
7.2 繪圖API函式 254
7.2.1 繪圖的API函式套用舉例 254
7.2.2 繪圖的API函式套用舉例的原始碼 256
7.3 系統的訊息循環 261
7.3.1 使用系統的訊息循環 261
7.3.2 系統訊息循環使用的原始碼 264
7.4 檔案的使用 268
7.4.1 檔案的讀取套用舉例 269
7.4.2 檔案的讀取實現的原始碼 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 系統的多任務和系統時鐘 281
7.7.1 系統的多任務和系統時鐘套用舉例 281
7.7.2 系統的多任務和系統時鐘舉例原始碼 283
7.8 UDP通信實驗 287
7.8.1 UDP協定簡介 287
7.8.2 socket簡介 289
7.8.3 實驗步驟 293
7.9 綜合舉例 296
7.9.1 綜合舉例的設計思路 296
7.9.2 綜合舉例的原始碼 297
練習題 309
第8章 嵌入式系統的套用開發案例 310
8.1 嵌入式系統的設計方法 310
8.1.1 嵌入式系統的設計流程 310
8.1.2 嵌入式系統的軟硬體劃分 312
8.1.3 嵌入式系統軟硬體協同設計 313
8.1.4 系統集成和測試 315
8.2 嵌入式數控系統設計開發實例 315
8.2.1 數控系統簡介 315
8.2.2 需求分析 316
8.2.3 系統體系結構設計 317
8.2.4 軟體設計 320
8.2.5 系統集成與測試 322
8.3 智慧型家居遠程監控系統設計實例 323
8.3.1 智慧型家居遠程監控系統簡介 323
8.3.2 系統功能分析 324
8.3.3 系統方案設計 325
8.3.4 系統硬體結構設計 327
8.3.5 系統軟體結構設計 329
附錄A ADS1.2嵌入式開發環境配置簡介 334
附錄B 《嵌入式系統設計與實例開發》 配套實驗體系介紹 342
B.1 UP-NETARM2410-S實驗教學平台介紹 342
B.2 實驗教學內容及其基本要求 343
B.3 北京航空航天大學《嵌入式系統概論》實驗課程大綱 349
參考文獻 353
圖書前言
時間如白駒過隙,距2003年本書第2版的出版已有4年多時間了。期間,第2版已第10次印刷,而我們卻一直未能對第2版進行系統性的修訂和完善,實在有愧於各位讀者的厚愛。這4年中我們收到了許多讀者的郵件和電話,他們對本書第2版提出了很多好的建議和意見。此外,我們自己在研究生《嵌入式系統概論》和本科生《嵌入式系統設計導論》的教學實踐中,也積累了較豐富的實踐教學經驗,這些都為本書第3版的修訂工作奠定了基礎。
近幾年,嵌入式系統技術得到了廣泛的套用和爆發性的增長,普適計算、無線感測器網路、可重構計算等新興技術的出現又為嵌入式系統技術的研究與套用注入了新的活力。智慧型手機、信息家電、汽車電子、家用機器人……嵌入式系統已“無處不在”。產業繁榮的背後帶來的是隱藏的危機,作為“世界製造中心”的中國,在全球產業鏈中的地位舉足輕重,但中國企業缺乏核心技術,勞動密集型產業過多也是不爭的事實。如何從“製造大國”向“製造強國”轉變已成為中國企業界共同面對的挑戰。在這個轉變過程中,加快發展製造業“心臟”的嵌入式晶片和軟體技術已成為眾多企業家的共識,而普及嵌入式技術、加快嵌入式技術人才的培養則是原動力。
2004年,ACM和IEEE聯合制定了新版的計算機學科的課程體系(2004版),其中一個主要的改革就是把“Embedded System”課程列為本科生的專業基礎課程,並且給出了基本的課程體系。同時,美國卡內基?梅隆大學、伯克利大學等國外高校也不斷地在完善他們的嵌入式教育體系,歐盟也推出了面向歐盟高校和企業的嵌入式研究計畫,這些信息為本書第3版的內容體系結構提供了指導和參考。
本書第3版定位為教材,適合作為本科生或研究生《嵌入式系統概論》、《嵌入式系統設計》、《嵌入式系統設計導論》等課程的教材使用,其特點是體系結構完整、基本概念清晰,易讀易學。與第2版相比,本書第3版做了較大的修改和完善,主要包括以下方面:
在體系結構上,以ARM9嵌入式微處理器與μC/OS-II實時作業系統作為教學內容,新增加了第3章ARM微處理器體系結構與指令集和第4章μC/OS-II嵌入式實時作業系統核心分析兩部分內容,使本書的體系結構更加完整。
為了兼顧不同專業的學生學習使用,增加了第2章嵌入式系統的基礎知識,主要介紹嵌入式系統硬體體系結構、嵌入式軟體與實時作業系統、嵌入式系統核心設計與開發方法等基礎知識,擴大了本書的適用範圍。
在第5章嵌入式系統硬體平台與接口設計部分,以ARM9微處理器為設計平台,在內容上做了較大的修訂和完善,更加符合目前國內嵌入式系統教學的主流情況。
在第8章嵌入式系統的套用開發案例部分,介紹了嵌入式數控系統的設計,這是一個較完整的嵌入式產品設計案例,具有較大的參考價值。
第1章、第6章、第7章保留了原書的特色,也進行了內容的更新和修訂。
參加本書第3版修訂工作的有王田苗、魏洪興、陳友東、陶永、劉淼等,其中王田苗、魏洪興負責統稿。在修訂過程中,得到了山東大學賈智平教授、北京航空航天大學康一梅教授、清華大學湛衛軍博士和北京航空航天大學ITM實驗室全體老師及研究生的大力支持和幫助,大連理工大學金建設教授提供了第8章嵌入式智慧型家居的開發案例,北京博創科技提供了實驗用的UP-NETARM系列教學平台和附錄B的部分實驗體系,在此向他們表示誠摯的感謝。
由於作者知識所限,書中不足之處在所難免,懇請各位專家和讀者賜正。
王田苗 魏洪興
於北京航空航天大學新主樓ITM實驗室
2007年10月15日