發表於2024-12-19
本書是普通高等教育“十一五”國傢級規劃教材,全書分為三個部分:基礎篇、應用篇和提高篇。基礎篇以SEP4020為平颱介紹嵌入式微處理器的原理和開發,應用篇以GE01開發闆為例介紹基於嵌入式微處理器的硬件開發,以ASIX OS操作係統為例介紹基於嵌入式操作係統的嵌入式軟件開發,最後在提高篇中介紹瞭mClinux和mC/OS嵌入式操作係統在GE01開發闆上的移植。
淩明,東南大學教授,東南大學電子科學與工程學院副院長,東南大學集成電路學院院長,東南大學國傢專用集成電路係統工程技術研究中心。南京博芯電子有限公司總經理。長期從事集成電路、電子係統設計方麵的科研和教學工作,齣版多部專業教材和專著,科研、教學、寫作經驗豐富。
目 錄
第1章 嵌入式係統概況 1
1.1 什麼是嵌入式係統 1
1.2 嵌入式係統的應用與分類 2
1.2.1 基於實時性的分類 2
1.2.2 基於應用的分類 2
1.2.3 移動互聯網 3
1.2.4 物聯網 4
1.3 嵌入式係統的産業鏈 6
1.4 嵌入式係統的知識體係 7
1.5 案例:MP3播放器 9
思考題 10
擴展閱讀 11
第2章 嵌入式係統中SoC的硬件架構 12
2.1 SoC硬件架構概述 12
2.2 互聯結構 15
2.2.1 常見互聯結構分類 15
2.2.2 地址空間 20
2.2.3 常見互聯結構接口協議 23
2.3 中央處理器 32
2.4 中斷控製器 32
2.5 存儲係統 34
2.6 直接存儲器訪問(DMA) 35
2.6.1 scatter-gather DMA 36
2.6.2 SEP4020芯片中的DMA控製器 37
2.6.3 DMAC驅動 40
2.7 外設接口控製器 40
2.7.1 高速通信接口控製器 40
2.7.2 低速通信接口控製器 41
2.7.3 人機界麵控製器 41
2.8 案例:SoC架構設計 41
2.8.1 S3C44B0X 41
2.8.2 S3C6410 42
2.8.3 OMAP3530 43
2.8.4 SEP4020 43
2.8.5 SEP6200 44
思考題 47
擴展閱讀 47
第3章 嵌入式係統的開發和調試 48
3.1 嵌入式係統的一般開發過程 48
3.1.1 交叉編譯 49
3.1.2 鏈接 50
3.1.3 調試 50
3.2 調試方式介紹 51
3.2.1 模擬器 53
3.2.2 駐留監控軟件 60
3.2.3 在綫仿真調試 62
3.2.4 片上在綫仿真調試 62
3.2.5 跟蹤(Trace)技術 63
3.2.6* CoreSight調試與跟蹤技術簡介 65
3.3 基於JTAG接口的片上在綫仿真 70
3.3.1 JTAG簡介 70
3.3.2 基於JTAG的片上在綫仿真的係統結構 75
3.3.3* ARM7TDMI內核調試原理 76
3.4 ARM的集成開發環境 82
3.4.1 ADS集成開發環境 83
3.4.2 DS-5集成開發環境 83
3.4.3 MDK集成開發環境 89
3.5 嵌入式軟件的執行鏡像與啓動過程 94
3.5.1 ARM鏈接器的輸齣文件的加載視圖與執行視圖 95
3.5.2 基於ROM的程序執行 97
3.5.3 基於RAM的程序執行 97
3.5.4 ROM/RAM重映射 98
思考題 98
擴展閱讀 98
第4章 SoC中的CPU內核 100
4.1 CPU的基本概念 100
4.1.1 CPU的發展 100
4.1.2 復雜指令集(CISC)與精簡指令集(RISC) 103
4.1.3 CPU的流水綫技術 104
4.1.4* CPU的分支預測技術 106
4.1.5* 亂序超標量處理器 110
4.1.6* SIMD和嚮量處理器 114
4.1.7* VLIW處理器 115
4.1.8* EPIC處理器 116
4.2 ARM內核 116
4.2.1 ARM介紹 116
4.2.2 ARM7TDMI編程模型 121
4.2.3 ARM7TDMI的指令集 131
4.2.4 ARM7TDMI匯編語言 143
4.2.5 ARM7TDMI異常處理 146
4.2.6 ARM匯編程序與C程序 153
4.2.7* ARM處理器的多核技術 158
4.2.8* ARM處理器的最新發展 164
4.3* 其他CPU介紹 169
4.3.1 MIPS體係架構 170
4.3.2 龍芯處理器 175
4.3.3 UniCore-2 處理器 178
4.4* 其他類型的計算引擎 181
4.4.1* GPU 181
4.4.2* 可重構計算 187
案例:REMUS-II粗粒度可重構計算架構 196
思考題 201
擴展閱讀 202
第5章 存儲子係統 203
5.1 存儲子係統概述 203
5.2 高速緩存Cache 204
5.2.1 Cache的基本組成 204
5.2.2 Cache的基本原理 206
5.2.3* Cache缺失與訪問衝突 212
5.2.4* Cache一緻性問題 216
5.2.5 Cache和SPM的比較 218
5.2.6* ARM Cortex A8處理器的Cache架構 221
5.3 虛擬存儲器 222
5.3.1 虛擬內存技術的基本原理 222
5.3.2 虛實地址映射與轉換 224
5.3.3 快速地址轉換技術 227
5.3.4 地址保護機製 228
5.3.5 處理缺頁和TLB缺失 230
5.3.6 ARM Cortex A係列處理器的虛存管理 230
5.4 片外存儲器 234
5.4.1 靜態隨機存儲器(SRAM) 235
5.4.2 動態隨機存儲器(DRAM) 237
5.4.3 非易失性存儲器 250
5.5 外部存儲器接口 258
5.5.1 SEP4020芯片的外部存儲器接口EMI 258
5.5.2 SEP4020芯片EMI的初始化與配置 261
5.5.3 OMAP4460處理器的外部存儲器接口 266
5.6* 存儲子係統優化技術 267
5.6.1 存儲子係統的技術指標 267
5.6.2 DDR控製器的優化 271
5.6.3 片上存儲器布局優化技術 276
案例:高能效高清媒體處理器的訪存QoS 279
思考題 284
擴展閱讀 285
第6章 外設接口 288
6.1 低速通信接口 288
6.1.1 異步串行通信UART 288
6.1.2 同步串行通信 294
6.2 高速通信接口 299
6.2.1 通用串行總綫USB 299
6.2.2* 10/100M以太網MAC網絡接口 304
6.3 人機接口 313
6.3.1 液晶顯示器接口 313
6.3.2 音頻接口 322
6.3.3 觸摸屏接口 326
6.4 定時器 332
6.4.1 通用定時器 332
6.4.2 RTC 333
思考題 335
擴展閱讀 336
第7章 嵌入式係統軟件概述 337
7.1 嵌入式係統的軟件框架 337
7.1.1 嵌入式係統軟件所麵臨的挑戰 337
7.1.2 嵌入式軟件的層次框架 338
7.2 嵌入式操作係統的基本原理 340
7.2.1 嵌入式操作係統簡介 340
7.2.2 嵌入式操作係統的內核 341
7.2.3 任務管理與調度 342
7.2.4 任務間通信 348
7.2.5 中斷管理 350
7.3* Android操作係統簡介 356
7.3.1 Android操作係統的層次 357
7.3.2 Android虛擬機 358
7.3.3 Android的任務間通信機製 366
7.3.4 Android的安全機製 371
案例:基於SEP4020的EPOS軟件平颱設計 375
思考題 378
擴展閱讀 378
第8章 嵌入式係統功耗優化 380
8.1 嵌入式係統功耗優化概述 380
8.1.1 嵌入式係統的功耗問題 380
8.1.2 SoC芯片級功耗優化 381
8.1.3 嵌入式係統級功耗優化 385
8.2 SoC芯片級低功耗設計方法 386
8.2.1 時鍾門控 387
8.2.2 多電壓域技術 389
8.2.3 電源門控技術 390
8.2.4* 動態電壓頻率調節和自適應調節 392
案例:SoC芯片低功耗設計 397
8.3 嵌入式係統級低功耗設計方法 400
8.3.1 嵌入式係統級功耗優化技術介紹 400
8.3.2 動態電源管理DPM 401
8.3.3 動態電壓調節DVS 403
8.3.4 動態電壓頻率調節DVFS 405
案例:整機係統級低功耗設計 407
思考題 412
擴展閱讀 412
第 2 版 序
《嵌入式係統——基於SEP3203微處理器的應用開發》(第一版)自2006年底齣版以來得到瞭東南大學以及相關兄弟院校的教學應用,取得瞭良好的教學效果,並入選瞭國傢“十一五”規劃教材。近幾年來,嵌入式係統技術的飛速發展正推動整個産業發生著深刻的變化:第一,移動互聯網産業的興起徹底改變瞭傳統電信運行商、軟件服務商、內容提供商、整機製造商等生態環境的商業模式,而物聯網技術的迅速發展則推動著傳統産業信息化和現代服務業的變革;第二,嵌入式領域雖然不存在傳統桌麵係統的Wintel聯盟,但是在嵌入式CPU和嵌入式操作係統方麵已經齣現ARM公司係列CPU和Google公司Android係統一枝獨秀的局麵;第三,國內已經湧現齣一批初具規模和實力的嵌入式微處理器設計廠商,自主CPU內核也逐漸成熟,並在部分市場領域得到應用,自主SoC芯片的生態環境已初步形成。
另一方麵,嵌入式係統的本質是以應用為核心的專用計算機係統,它的核心是嵌入式微處理器(SoC芯片),圍繞應用目標開展軟硬件協同設計是嵌入式技術的本質特徵。作為專用計算機係統,嵌入式係統技術與通用計算機係統沒有本質的區彆,但往往對係統的性能、功耗、成本、可靠性與實時性有更加嚴格的限製,這就決定瞭其總綫架構、CPU內核設計、存儲架構設計、媒體與圖形係統設計等方麵都有自己的設計哲學。傳統的嵌入式係統教學往往采用國外SoC芯片作為主要教學內容,由於缺乏芯片的底層實現細節,往往更側重在如何基於國外芯片廠商封裝好的底層軟件庫進行應用開發。這使得學生缺乏對芯片底層工作機製的瞭解,從而無法對軟硬適配部分進行充分的優化與定製,更不要說參與自主SoC芯片的研發與係統方案設計瞭。這顯然無法滿足技術和産業發展的需求。
基於對於以上問題的認識,東南大學國傢ASIC工程技術研究中心(以下簡稱工程中心)的幾位老師著手編寫瞭《嵌入式係統——從SoC芯片到係統》(第2版)。正如第2版副標題所錶明的,本書將從SoC芯片的視角來分析和介紹嵌入式係統的基礎知識。得益於工程中心十多年來在自主SoC芯片設計方麵積纍的工程經驗與研究成果,本書詳細介紹瞭嵌入式微處理器SoC芯片的架構、CPU、存儲子係統、外圍設備、調試方法、低功耗設計和操作係統基礎,力圖給讀者一個站在SoC芯片設計者的視角瞭解現代嵌入式係統的構成,並真正理解一個復雜的嵌入式係統應用在芯片層麵和軟件層麵是如何運作的。在第2版中,作者將繼續采用工程中心自主研發的SEP4020與SEP6200處理器作為主要案例,其中SEP6200處理器采用瞭國産UniCore2 CPU內核。
與第1版不同,為瞭便於教學,本書為幾乎所有的章節編寫瞭思考題、案例分析和擴展閱讀。當然,這不是一本包羅萬象、解決所有問題的教材,正如作者們所希望的,這是一本嵌入式係統入門教材。通過這本書的閱讀和學習,作者希望為讀者後續進一步的深入學習打下堅實的基礎。
時龍興
2015年10月於東南大學
引 言
關於本書以及如何使用本書
毫無疑問,在大學中講授嵌入式係統相關的課程是一個巨大的挑戰。帶來這種挑戰的根本原因在於:第一,嵌入式係統是一個飛速發展的動態係統,新技術、新産品、新應用、新商業模式層齣不窮,這一點在這一輪的移動互聯網浪潮和物聯網浪潮中錶現得尤為突齣;第二,嵌入式係統技術是一個非常綜閤的學科門類,其內涵涉及電子與微電子、計算機架構、操作係統、中間件、人機交互、計算機網絡、通信甚至整機設計與製造等各領域,很難在有限的課時內將所有的知識點講深講透,這一點對於傳統的電子信息類專業的本科生而言尤其如此,因為傳統的電子信息類專業課程的設置往往很少涉及操作係統等軟件方麵的內容;第三,嵌入式係統技術的兩大基礎是微電子技術(尤其是SoC技術)和以嵌入式操作係統為代錶的嵌入式軟件技術。嵌入式係統對於性能、成本、功耗、實時性與高可靠性的更高要求決定瞭圍繞應用目標開展軟硬件協同設計和軟硬件適配優化是嵌入式係統技術的本質特徵。這就需要對SoC芯片的架構和工作機製有非常深刻的理解;第四,嵌入式係統技術是一門實踐性非常強的課程,如何在有限的課時內加強學生的實踐能力培養也是一個非常大的挑戰。
針對上述這些挑戰,東南大學國傢專用集成電路係統工程技術研究中心依托電子科學與技術國傢重點學科的優勢,將多年來承擔的國傢、省部級科研項目的科研成果應用於教學,開展軟硬件協同的嵌入式係統教學,具體舉措包括:第一,建設瞭以自主SoC芯片為基礎的係列嵌入式係統課程。包括麵嚮本科的《嵌入式係統概論》,麵嚮研究生課程的《嵌入式係統》、《SoC設計》、《嵌入式係統高級C語言編程》、《嵌入式操作係統》、《移動互聯網應用編程》、《嵌入式係統實訓》。課程內容覆蓋從SoC芯片到軟硬協同設計、適配優化再到應用方案設計的各層次;第二,采用自主SoC芯片設計瞭多款教學實驗平颱,並開發瞭相關實驗。在課內有限的學時內重點培養學生基本的實踐技能,通過課外實驗和綜閤實訓課程培養學生的綜閤應用能力,通過連續舉辦多屆嵌入式設計競賽培養學生的創新能力。
本書的寫作目的就是為瞭配閤本科課程《嵌入式係統概論》和研究生課程《嵌入式係統》的教學。因為是用作本科概論課程和研究生基礎課程用書,本書的目的不是也不可能是講授嵌入式係統相關的所有內容。事實上,試圖在一本書、一門課程中將嵌入式係統的所有內容講授清楚是不可能的。因此本書的基本定位是基礎與入門。為後續課程或進一步的學習打下堅實的基礎和掃清概念障礙。我們發現初學者對於現代SoC,尤其是麵嚮移動互聯網終端的SoC中齣現的新概念、新知識的瞭解非常匱乏,而這些對於開展軟硬件協同設計與軟硬件適配優化卻是必不可少的。與以往許多教材不同,本書試圖站在SoC設計者的角度來介紹嵌入式係統的相關基礎知識。這得益於本書作者參與瞭東南大學國傢ASIC工程中心幾款自主SoC芯片設計的全過程,全書中我們也將以自主SoC芯片SEP4020和SEP6200作為案例進行介紹。
為瞭便於教學,本書幾乎在所有的章節中都設置瞭專門的設計案例和思考題。為瞭適應研究生教學的需要,本書在每章都設置瞭提高內容(書中帶*的章節),將最新的技術發展融入教學內容。這些內容涉及到新型的片上互聯架構、高性能CPU架構、異構計算單元、片上存儲架構、多層次低功耗設計等內容,並為研究生和學有餘力的本科生設置瞭擴展閱讀單元,讀者們可以通過這些擴展閱讀進一步深化對相關技術的瞭解。
本書各章節安排如下:
第1章 嵌入式係統概況
概述瞭嵌入式係統的概念、嵌入式係統的應用等。作為兩個最重要也可能是最熱門的兩個應用領域,本章專門對移動互聯網終端和物聯網進行瞭介紹。我們還將在本章介紹嵌入式係統的産業鏈構成,並對學習嵌入式係統的知識體係進行瞭梳理。本章最後通過一個MP3播放器的實例分析引齣問題:按下按鈕後MP3音樂是怎麼播放齣來的?
第2章 嵌入式係統的SoC硬件架構
介紹瞭SoC的硬件架構,由總綫互聯、處理器、中斷控製器、定時器、存儲係統、外設接口等組成,由於本書後麵的章節將詳細闡述處理器、存儲係統、各種接口等部分,因此本章重點介紹瞭SoC芯片的總綫互聯,並分析瞭ARM公司的片上互聯標準——AMBA。本章還專門介紹瞭DMA控製器的工作原理。在案例部分,本章給齣瞭幾款SoC芯片的架構介紹。
第3章 嵌入式係統的開發和調試
本章首先介紹瞭嵌入式係統的一般開發過程,並對各種調試方法進行瞭介紹,包括模擬器、在綫仿真、片上在綫仿真和跟蹤技術,並詳細介紹瞭基於JTAG的調試方法。接著對ARM公司的3款集成開發環境:ADS、MD-5和MDK進行瞭介紹。
第4章 SoC中的CPU內核
介紹瞭CPU的基本概念:CPU的流水綫技術、分支預測技術、亂序執行技術、超標量處理器、VLIW處理器、EPIC處理器、多核處理器等。接下來重點介紹瞭ARM處理器的特點、編程模型、指令係統、匯編語言程序結構、異常處理、編程技巧、ARM係列微處理器等。作為對ARM架構的補充,本章還介紹瞭MIPS、龍芯和眾誌CPU的基本架構。GPU和可重構計算作為新興的計算引擎也在本章進行瞭介紹。
第5章 存儲子係統
本章首先介紹嵌入式係統存儲子係統的金字塔結構,重點分析瞭高速緩存(Cache)與虛擬存儲器技術。接下來介紹瞭常用的存儲器及其時序,包括SRAM、SDRAM、DDR SDRAM、Flash等。SoC中的外部存儲器控製接口EMI及其編程模型,SoC中的SD/MMC控製器及其編程模型也在本章進行瞭講解。最後介紹瞭存儲子係統的性能和功耗優化技術。
第6章 外設接口
本章分彆介紹瞭低速通信接口控製器(異步串行通信UART、同步串行通信SPI),高速通信接口控製器(通用串行總綫USB、10/100M以太網MAC網絡接口),人機界麵控製器(液晶顯示器控製器LCDC、音頻接口I2S控製器)。
第7章 嵌入式係統軟件概述
本章首先介紹嵌入式係統軟件的組成、bootloader引導程序,以及為什麼需要嵌入式操作係統和嵌入式操作係統的一些基本概念。在本章的第二部分,重點介紹瞭與嵌入式操作係統相關的基本原理,包括內核中的任務管理、任務間通信和中斷管理。Android作為當前最流行的手持終端操作係統在本章的第三部分進行瞭介紹。
第8章 嵌入式係統功耗優化
本章首先概述瞭低功耗設計方法。接著分彆介紹瞭SoC級低功耗設計方法和嵌入式係統級低功耗設計方法,並給齣瞭兩個與之對應的設計案例。
相應的課程安排
本書可以作為電子類本科生高年級和研究生低年級的教材。按照2學分(本科32學時、研究生36學時,其中實驗課時按一半摺算)的課程設置,作者給齣的參考課時安排如下(教師可根據實際情況進行調整):
l 本科生《嵌入式係統概 嵌入式係統――從SoC芯片到係統(第2版) 下載 mobi epub pdf txt 電子書 格式
嵌入式係統――從SoC芯片到係統(第2版) 下載 mobi pdf epub txt 電子書 格式 2024
嵌入式係統――從SoC芯片到係統(第2版) 下載 mobi epub pdf 電子書嵌入式係統――從SoC芯片到係統(第2版) mobi epub pdf txt 電子書 格式下載 2024