ARM嵌入式系統(tǒng)基礎(chǔ)教程—嵌入式系統(tǒng)概述+ARM7體系結(jié)構(gòu)與指令系統(tǒng)_第1頁(yè)
ARM嵌入式系統(tǒng)基礎(chǔ)教程—嵌入式系統(tǒng)概述+ARM7體系結(jié)構(gòu)與指令系統(tǒng)_第2頁(yè)
ARM嵌入式系統(tǒng)基礎(chǔ)教程—嵌入式系統(tǒng)概述+ARM7體系結(jié)構(gòu)與指令系統(tǒng)_第3頁(yè)
ARM嵌入式系統(tǒng)基礎(chǔ)教程—嵌入式系統(tǒng)概述+ARM7體系結(jié)構(gòu)與指令系統(tǒng)_第4頁(yè)
ARM嵌入式系統(tǒng)基礎(chǔ)教程—嵌入式系統(tǒng)概述+ARM7體系結(jié)構(gòu)與指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩135頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1ARMARM嵌入式系統(tǒng)嵌入式系統(tǒng)主講主講 李宥謀李宥謀Email:Email:TEL安郵電學(xué)院計(jì)算機(jī)系嵌入式教研室2009.82教材參考書(shū)參考書(shū) ARM嵌入式系統(tǒng)開(kāi)發(fā)嵌入式系統(tǒng)開(kāi)發(fā):軟件設(shè)計(jì)與優(yōu)化軟件設(shè)計(jì)與優(yōu)化 ,作者:作者:Andrew N.Sloss 北京航空航天大學(xué)出版社北京航空航天大學(xué)出版社 ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)基礎(chǔ)教程周立功周立功 等編著等編著北京航空航天大學(xué)出版社北京航空航天大學(xué)出版社3 ARM嵌入式系統(tǒng)實(shí)驗(yàn)指導(dǎo)嵌入式系統(tǒng)實(shí)驗(yàn)指導(dǎo)周立功周立功 等編等編寫(北京航空航天大學(xué)出版社,)寫(北京航空航天大學(xué)出版社,) 實(shí)驗(yàn)地點(diǎn):計(jì)算機(jī)系嵌入式實(shí)驗(yàn)

2、室實(shí)驗(yàn)地點(diǎn):計(jì)算機(jī)系嵌入式實(shí)驗(yàn)室 (2#實(shí)驗(yàn)樓實(shí)驗(yàn)樓3層)層)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)指導(dǎo)計(jì)劃學(xué)時(shí):計(jì)劃學(xué)時(shí):48學(xué)時(shí)學(xué)時(shí)其中:授課其中:授課40學(xué)時(shí):實(shí)驗(yàn)學(xué)時(shí):實(shí)驗(yàn)8學(xué)時(shí),學(xué)時(shí),實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)內(nèi)容,ADS環(huán)境環(huán)境2學(xué)時(shí),學(xué)時(shí),ARM匯編匯編2學(xué)時(shí),學(xué)時(shí),GPIO、定時(shí)器等、定時(shí)器等4 學(xué)時(shí)學(xué)時(shí)課內(nèi)外比例:課內(nèi)課內(nèi)外比例:課內(nèi)1:課外:課外1課程安課程安排排4考核要求l考試成績(jī)(課堂教學(xué)內(nèi)容)70l上機(jī)成績(jī)(上機(jī)出勤及編程情況) 15l平時(shí)成績(jī)(上課出勤及作業(yè)等學(xué)習(xí)情況) 1551.1. 預(yù)備鈴響后必須進(jìn)教室;預(yù)備鈴響后必須進(jìn)教室;2.2. 遲到的學(xué)生坐在第一排;遲到的學(xué)生坐在第一排; 3.3. 曠課曠課

3、4次平時(shí)分扣為零分;次平時(shí)分扣為零分; 4.4. 著裝得體,不得穿拖鞋、背心進(jìn)教室;著裝得體,不得穿拖鞋、背心進(jìn)教室; 5.5. 不準(zhǔn)在教室吃東西,值日生要擦黑板。不準(zhǔn)在教室吃東西,值日生要擦黑板。 6.6. 按時(shí)完成作業(yè)。按時(shí)完成作業(yè)。 課堂要求課堂要求6ARM嵌入式系統(tǒng)嵌入式系統(tǒng)-課程介紹課程介紹嵌入式嵌入式:ARM系列的體系結(jié)構(gòu)系列的體系結(jié)構(gòu)ARM7ARM7指令集及匯編程序設(shè)計(jì)指令集及匯編程序設(shè)計(jì)硬件接口電路原理硬件接口電路原理軟件接口編程方法軟件接口編程方法接口技術(shù)接口技術(shù):7微機(jī)原理及嵌入式系統(tǒng)微機(jī)原理及嵌入式系統(tǒng)-網(wǎng)站資源網(wǎng)站資源lARM公司網(wǎng)站公司網(wǎng)站http:/ (全面了解全面

4、了解) )數(shù)字邏輯數(shù)字邏輯l提供硬件基礎(chǔ)提供硬件基礎(chǔ)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理l確立計(jì)算機(jī)部件功能確立計(jì)算機(jī)部件功能l掌握計(jì)算機(jī)工作原理掌握計(jì)算機(jī)工作原理高級(jí)語(yǔ)言程序設(shè)計(jì)高級(jí)語(yǔ)言程序設(shè)計(jì)l熟悉熟悉C C語(yǔ)言程序設(shè)計(jì)的方法語(yǔ)言程序設(shè)計(jì)的方法l掌握基本程序設(shè)計(jì)思想掌握基本程序設(shè)計(jì)思想10ARM嵌入式系統(tǒng)基礎(chǔ)教程理論教材:ARM嵌入式系統(tǒng)基礎(chǔ)教程(第2版)實(shí)驗(yàn)教材: ARM嵌入式系統(tǒng)實(shí)驗(yàn)教程軟件:ADS1.2、 C/OS-II等本課程主要內(nèi)容:第1章:嵌入式系統(tǒng)概述,概念、組成、處理器以及OS第2章:ARM7體系結(jié)構(gòu)與指令系統(tǒng),RISC、ARM系列、寄存器、中斷以及存儲(chǔ)系統(tǒng),第3章:尋址方式,AR

5、M指令集,嵌入式程序設(shè)計(jì)第4章: ARM硬件結(jié)構(gòu)與接口技術(shù),引腳、存儲(chǔ)器、控制模塊、GPIO、中斷、定時(shí)器及各種接口,總線接口111.嵌入式系統(tǒng)2.嵌入式系統(tǒng)組成3.嵌入式處理器4.嵌入式操作系統(tǒng)嵌入式系統(tǒng)概述121.1 嵌入式系統(tǒng)1.1.1 現(xiàn)實(shí)中的嵌入式系統(tǒng)嵌入式系統(tǒng)的應(yīng)用:工業(yè)自動(dòng)化、國(guó)防、運(yùn)輸和航天領(lǐng)域嵌入式系統(tǒng)的應(yīng)用:工業(yè)自動(dòng)化、國(guó)防、運(yùn)輸和航天領(lǐng)域。 例如例如神州飛船和長(zhǎng)征火箭中嵌入式系統(tǒng),導(dǎo)彈的制導(dǎo)系統(tǒng)中的嵌入式系統(tǒng),高檔汽車中也有多達(dá)幾十個(gè)嵌入式系統(tǒng)。 在日常生活在日常生活中,幾乎所有帶有一點(diǎn)“智能”的家電(全自動(dòng)洗衣機(jī)、電腦電飯煲)都是嵌入式系統(tǒng)。 嵌入式系統(tǒng)廣泛的適應(yīng)能力和

6、多樣性適應(yīng)能力和多樣性,使得視聽(tīng)、工作場(chǎng)所甚至健身設(shè)備中到處都有嵌入式系統(tǒng)。 嵌入式系統(tǒng)的誕生于微型計(jì)算機(jī)時(shí)代,隨其誕生現(xiàn)代計(jì)算機(jī)嵌入式系統(tǒng)的誕生于微型計(jì)算機(jī)時(shí)代,隨其誕生現(xiàn)代計(jì)算機(jī)領(lǐng)域中出現(xiàn)了領(lǐng)域中出現(xiàn)了通用計(jì)算機(jī)通用計(jì)算機(jī)與與嵌入式計(jì)算機(jī)嵌入式計(jì)算機(jī)的兩大分支。的兩大分支。 通用計(jì)算機(jī):通用計(jì)算機(jī):按照高速、海量的技術(shù)發(fā)展;按照高速、海量的技術(shù)發(fā)展; 嵌入式計(jì)算機(jī)系統(tǒng):嵌入式計(jì)算機(jī)系統(tǒng):則為滿足對(duì)象系統(tǒng)嵌入式智能化控制則為滿足對(duì)象系統(tǒng)嵌入式智能化控制要求發(fā)展。要求發(fā)展。13l現(xiàn)實(shí)中的嵌入式系統(tǒng)14 嵌入式技術(shù)無(wú)處不在q處理文檔、進(jìn)行工作管理和生產(chǎn)控制的計(jì)算機(jī)處理文檔、進(jìn)行工作管理和生產(chǎn)控制

7、的計(jì)算機(jī)q嵌入式技術(shù)的電子產(chǎn)品嵌入式技術(shù)的電子產(chǎn)品,如:,如:MP3、PDA、手機(jī)、手機(jī)、智能玩具,網(wǎng)絡(luò)家電、智能家電、車載電子設(shè)備智能玩具,網(wǎng)絡(luò)家電、智能家電、車載電子設(shè)備等等q在工業(yè)和服務(wù)領(lǐng)域中在工業(yè)和服務(wù)領(lǐng)域中,大量嵌入式技術(shù)也已經(jīng)應(yīng),大量嵌入式技術(shù)也已經(jīng)應(yīng)用于工業(yè)控制、數(shù)控機(jī)床、智能工具、工業(yè)機(jī)器用于工業(yè)控制、數(shù)控機(jī)床、智能工具、工業(yè)機(jī)器人、服務(wù)機(jī)器人等各個(gè)行業(yè),正在逐漸改變著傳人、服務(wù)機(jī)器人等各個(gè)行業(yè),正在逐漸改變著傳統(tǒng)的工業(yè)生產(chǎn)和服務(wù)方式統(tǒng)的工業(yè)生產(chǎn)和服務(wù)方式15l嵌入式系統(tǒng)示例汽車控制系統(tǒng)16馬達(dá)控制器車燈l嵌入式系統(tǒng)示例汽車控制系統(tǒng)尾燈控制系統(tǒng)后車門控制系統(tǒng)前車門控制系統(tǒng)座椅控

8、制系統(tǒng)發(fā)動(dòng)器控制系統(tǒng)所有的控制系統(tǒng)都是一個(gè)完整的嵌入式系統(tǒng)17消費(fèi)電子消費(fèi)電子嵌入式應(yīng)用嵌入式應(yīng)用信息家電信息家電智能玩具智能玩具軍事電子軍事電子通信設(shè)備通信設(shè)備移動(dòng)存貯移動(dòng)存貯工控設(shè)備工控設(shè)備智能儀表智能儀表汽車電子汽車電子網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)設(shè)備工業(yè)工業(yè)軍事國(guó)防軍事國(guó)防電子商務(wù)電子商務(wù)網(wǎng)絡(luò)網(wǎng)絡(luò)嵌入式系統(tǒng)的應(yīng)用領(lǐng)域18工業(yè)控制工業(yè)控制 、工業(yè)設(shè)備、工業(yè)設(shè)備q過(guò)去在工業(yè)過(guò)程控制、數(shù)字機(jī)床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設(shè)備監(jiān)測(cè)、石油化工系統(tǒng)等方面,大部分低端型設(shè)備主要采用是位單片機(jī)。 q隨著技術(shù)發(fā)展,目前許多設(shè)備除了進(jìn)行實(shí)時(shí)控制,還須將設(shè)備狀態(tài),傳感器的信息等在顯示屏上實(shí)時(shí)顯示。 需要性能更高的控制系統(tǒng)。1

9、9嵌入式系統(tǒng)應(yīng)用領(lǐng)域信息家電q信息家電將成為嵌入式系統(tǒng)最大的應(yīng)用領(lǐng)信息家電將成為嵌入式系統(tǒng)最大的應(yīng)用領(lǐng)域。域。q只有按鈕、開(kāi)關(guān)的電器顯然已經(jīng)不能滿足只有按鈕、開(kāi)關(guān)的電器顯然已經(jīng)不能滿足人們的日常需求。人們的日常需求。q具有用戶界面,能遠(yuǎn)程控制,智能管理的具有用戶界面,能遠(yuǎn)程控制,智能管理的電器是未來(lái)的發(fā)展趨勢(shì),如冰箱、空調(diào)等電器是未來(lái)的發(fā)展趨勢(shì),如冰箱、空調(diào)等的網(wǎng)絡(luò)化、智能化等。的網(wǎng)絡(luò)化、智能化等。20嵌入式系統(tǒng)應(yīng)用領(lǐng)域消費(fèi)類電子21消費(fèi)類電子智能玩具、手持通訊的核心22智能玩具與機(jī)器人23交通管理、環(huán)境監(jiān)測(cè)q交通管理在車輛導(dǎo)航、流量控制、信息監(jiān)測(cè)與汽車服務(wù)方面,目前GPS設(shè)備已經(jīng)從尖端產(chǎn)品進(jìn)

10、入了普通百姓的家庭q水文資料實(shí)時(shí)監(jiān)測(cè),防洪體系及水土質(zhì)量監(jiān)測(cè)、堤壩安全,地震監(jiān)測(cè)網(wǎng),實(shí)時(shí)氣象信息網(wǎng),水源和空氣污染監(jiān)測(cè)。q加油站、停車場(chǎng)管理24嵌入式在嵌入式在InternetInternet中的應(yīng)用中的應(yīng)用25軍事國(guó)防領(lǐng)域26航天領(lǐng)域27嵌入性嵌入性:嵌入到對(duì)象體系中,有對(duì)象環(huán)境要求:嵌入到對(duì)象體系中,有對(duì)象環(huán)境要求專用性專用性:軟、硬件按對(duì)象要求裁減:軟、硬件按對(duì)象要求裁減計(jì)算機(jī)計(jì)算機(jī):實(shí)現(xiàn)對(duì)象的智能化功能:實(shí)現(xiàn)對(duì)象的智能化功能q三要素:三要素:嵌入、專用、計(jì)算機(jī)嵌入、專用、計(jì)算機(jī)q嵌入式系統(tǒng)的特點(diǎn)嵌入式系統(tǒng)的特點(diǎn):由三要素引出由三要素引出1.1.2 嵌入式系統(tǒng)的定義及特點(diǎn)根據(jù)根據(jù)IEEE

11、(國(guó)際電氣和電子工程師協(xié)會(huì))的定義:國(guó)際電氣和電子工程師協(xié)會(huì))的定義:嵌入式系統(tǒng)是嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機(jī)器用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置和設(shè)備的裝置”(原文為(原文為devices used to control, monitor, or assist the operation of equipment, machinery or plants)。)。簡(jiǎn)單講,就是嵌入到對(duì)象體中的專用計(jì)算機(jī)系統(tǒng)。簡(jiǎn)單講,就是嵌入到對(duì)象體中的專用計(jì)算機(jī)系統(tǒng)。28l嵌入式系統(tǒng)的概念 目前,對(duì)嵌入式系統(tǒng)的定義多種多樣,但沒(méi)有一種定義是全面的。下面給出兩種比較合理定義: 從技術(shù)的角度定

12、義從技術(shù)的角度定義:以應(yīng)用為中心、以計(jì)算機(jī)以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。用計(jì)算機(jī)系統(tǒng)。從系統(tǒng)的角度定義從系統(tǒng)的角度定義:嵌入式系統(tǒng)是設(shè)計(jì)完成復(fù)嵌入式系統(tǒng)是設(shè)計(jì)完成復(fù)雜功能的硬件和軟件,并使其緊密耦合在一起的雜功能的硬件和軟件,并使其緊密耦合在一起的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)。29嵌入式系統(tǒng)的歷史單片機(jī)模式和計(jì)算機(jī)模式30l嵌入式系統(tǒng)的相關(guān)技術(shù)與發(fā)展趨勢(shì)l互聯(lián)網(wǎng)的普及l(fā)半導(dǎo)體技術(shù)的改善l3C(Compute,Communicat

13、ion,ConsumerElectronic )技術(shù)的快速融合l使用者的需求l信息服務(wù)應(yīng)用生活化相關(guān)技術(shù):多學(xué)科交叉, 計(jì)算機(jī)、電子技術(shù)、微電子技術(shù)、集成電路設(shè)計(jì)等31未來(lái)嵌入式系統(tǒng)的發(fā)展趨勢(shì)321.嵌入式系統(tǒng)2. 嵌入式系統(tǒng)組成3.嵌入式處理器4.嵌入式操作系統(tǒng)嵌入式系統(tǒng)概述331.2 嵌入式系統(tǒng)的組成微處理器、外圍硬件、嵌入式操作系統(tǒng)、應(yīng)用程序以及開(kāi)發(fā)環(huán)境(軟件分3層:HW/FM/AP ,HW硬件驅(qū)動(dòng)或接口操作;FM中間層;AP應(yīng)用層)34外圍硬件外圍硬件: 嵌入式系統(tǒng)處理器以外的硬件,為系統(tǒng)提供運(yùn)行嵌入式系統(tǒng)處理器以外的硬件,為系統(tǒng)提供運(yùn)行條件條件(時(shí)鐘和電源部件時(shí)鐘和電源部件)和部分功

14、能和部分功能(內(nèi)存、各種通訊端口等內(nèi)存、各種通訊端口等)。1.2 嵌入式系統(tǒng)的組成微處理器:微處理器:是嵌入式系統(tǒng)的核心。嵌入式微是嵌入式系統(tǒng)的核心。嵌入式微處理器一般都具有較高的集成度。處理器一般都具有較高的集成度。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)::為應(yīng)用程序提供必要運(yùn)行環(huán)境(任務(wù)調(diào)為應(yīng)用程序提供必要運(yùn)行環(huán)境(任務(wù)調(diào)度),附加任務(wù)通訊、內(nèi)存管理等功能。度),附加任務(wù)通訊、內(nèi)存管理等功能。需移植和配置方可需移植和配置方可使用。使用。嵌入式應(yīng)用程序:嵌入式應(yīng)用程序:在沒(méi)有操作系統(tǒng)的情況下,嵌入式的應(yīng)用在沒(méi)有操作系統(tǒng)的情況下,嵌入式的應(yīng)用程序需要直接訪問(wèn)寄存器或者設(shè)備的地址來(lái)操作硬件。程序需要直接訪

15、問(wèn)寄存器或者設(shè)備的地址來(lái)操作硬件。開(kāi)發(fā)環(huán)境:開(kāi)發(fā)環(huán)境:開(kāi)發(fā)過(guò)程中起著至關(guān)重要的作用,并不是嵌入式開(kāi)發(fā)過(guò)程中起著至關(guān)重要的作用,并不是嵌入式系統(tǒng)產(chǎn)品系統(tǒng)產(chǎn)品的一部分,不同嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境不同。的一部分,不同嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境不同。351.3 嵌入式處理器 嵌入式處理器分為以下幾大類:嵌入式微處理器;嵌入式微控制器;嵌入式DSP處理器;嵌入式片上系統(tǒng)(SOC)。嵌入式處理器按應(yīng)用分:注重嵌入式處理器的尺寸、能耗和價(jià)格。應(yīng)用于PDA等不注重計(jì)算的設(shè)備;注重嵌入式處理器的性能。應(yīng)用于路由器等計(jì)算密集型的設(shè)備;注重嵌入式處理器的性能、尺寸、能耗和價(jià)格。應(yīng)用于蜂窩電話等設(shè)備;36l嵌入式微處理器(EMP

16、U) Embeded Microprocessor Unit(EMPU) ,在應(yīng)用中,為了滿足嵌入式應(yīng)用的特殊要求,嵌入式微處理器雖然在功能上和標(biāo)準(zhǔn)微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強(qiáng)。 嵌入式微處理器優(yōu)點(diǎn)嵌入式微處理器優(yōu)點(diǎn):體積小、重量輕、成本低、可靠性高,但是在電路板上必須包括ROM、RAM、總線接口、各種外設(shè)等器件,從而降低了系統(tǒng)的可靠性,技術(shù)保密性也較差。嵌入式微處理器及其存儲(chǔ)器、總線、外設(shè)等安裝在一塊電路板上,稱為單板計(jì)算機(jī)。CPUROMRAM外設(shè)1外設(shè)2單板計(jì)算機(jī)單板計(jì)算機(jī)37l嵌入式微控制器(Microcontroller Unit, M

17、CU) 嵌入式微控制器又稱,一般以某一種微處理器內(nèi)核為核心,芯片內(nèi)部集成ROM/EPROM、RAM、總線、總線邏輯、定時(shí)/計(jì)數(shù)器、WatchDog、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A、Flash RAM、EEPROM等各種必要功能和外設(shè)。 微控制器是目前嵌入式系統(tǒng)工業(yè)的主流。微控制器的片上外設(shè)資源一般比較豐富,適合于控制,因此稱。 嵌入式微控制器種類多,括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、數(shù)目眾多ARM芯片等。目前MCU占嵌入式系統(tǒng)約70的市場(chǎng)份額。復(fù)位部件看門狗部件晶振部件I/O部件

18、中斷部件ROM部件SRAM部件定時(shí)器部件CPU核38l嵌入式DSP處理器(數(shù)字信號(hào)處理) DSP處理器對(duì)系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計(jì),使其適合于執(zhí)行DSP算法,編譯效率較高,指令執(zhí)行速度也較高。在數(shù)字濾波、FFT、譜分析等方面DSP算法正在大量進(jìn)入嵌入式領(lǐng)域,DSP應(yīng)用正從在通用單片機(jī)中以普通指令實(shí)現(xiàn)DSP功能,過(guò)渡到采用嵌入式DSP處理器。 嵌入式DSP處理器比較有代表性的產(chǎn)品是Texas ,如DSP56000,DSP56100,DSP56200和DSP56300等。PHILIPS公司近年也推出了基于可重置嵌入式DSP結(jié)構(gòu)低成本、低功耗技術(shù)上制造的R. E. A. L DSP處理器,39l嵌

19、入式片上系統(tǒng)(System On Chip, SOC )隨著EDA的推廣和VLSI設(shè)計(jì)的普及化及半導(dǎo)體工藝的迅速發(fā)展,在一個(gè)硅片上實(shí)現(xiàn)一個(gè)更為復(fù)雜的系統(tǒng)的時(shí)代已來(lái)臨,即SOC,除個(gè)別無(wú)法集成的器件以外,整個(gè)嵌入式系統(tǒng)大部分均可集成到一塊或幾塊芯片中去。應(yīng)用系統(tǒng)變得簡(jiǎn)潔,對(duì)于減小體積和功耗、提高可靠性非常有利。 SoC可以分為通用和專用兩類。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件等。專用SoC一般專用于某個(gè)或某類系統(tǒng)中,不為一般用戶所知。一個(gè)有代表性的產(chǎn)品是Philips的Smart XA,它將XA單片機(jī)內(nèi)核和支持超過(guò)2048 位復(fù)雜RS

20、A算法的CCU單元制作在一塊硅片上,形成一個(gè)可加載JAVA或C語(yǔ)言的專用的SOC,可用于公眾互聯(lián)網(wǎng)如Internet安全方面。SOC 下一步向片上網(wǎng)絡(luò)(片上網(wǎng)絡(luò)(Network on Chip,NoC)發(fā)展 401.嵌入式系統(tǒng)2.嵌入式系統(tǒng)組成3.嵌入式處理器4.嵌入式操作系統(tǒng)嵌入式系統(tǒng)概述411.4 嵌入式操作系統(tǒng)l概述 計(jì)算機(jī)系統(tǒng)由硬件和軟件組成,初期初期沒(méi)有操作系統(tǒng)這個(gè)概念,用戶使用監(jiān)控程序來(lái)使用計(jì)算機(jī)。 隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)的硬件、軟件資源也愈來(lái)愈豐富,監(jiān)控程序監(jiān)控程序已不能適應(yīng)計(jì)算機(jī)應(yīng)用的要求。 于是在六十年代中期監(jiān)控程序又進(jìn)一步發(fā)展形成了操作系統(tǒng)(Operating S

21、ystem)。發(fā)展到現(xiàn)在,廣泛使用的有三種操作系統(tǒng)三種操作系統(tǒng):多道批處理操作系統(tǒng)分時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)421.4 嵌入式操作系統(tǒng)監(jiān)監(jiān)控控程程序序操操作作系系統(tǒng)統(tǒng)實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)分時(shí)操作系統(tǒng)分時(shí)操作系統(tǒng)多道批處理操作系統(tǒng)多道批處理操作系統(tǒng) 時(shí)時(shí) 間間 先先 后后 適用于多個(gè)用戶共享系統(tǒng)資適用于多個(gè)用戶共享系統(tǒng)資源源適用于計(jì)算中心等較大的計(jì)適用于計(jì)算中心等較大的計(jì)算機(jī)系統(tǒng)算機(jī)系統(tǒng)適用于嵌入式設(shè)備和有實(shí)時(shí)適用于嵌入式設(shè)備和有實(shí)時(shí)性要求的系統(tǒng)中性要求的系統(tǒng)中實(shí)時(shí)操作系統(tǒng)是我們實(shí)時(shí)操作系統(tǒng)是我們介紹的重點(diǎn)介紹的重點(diǎn)431.4 嵌入式操作系統(tǒng)l實(shí)時(shí)操作系統(tǒng)的特點(diǎn) IEEE 的實(shí)時(shí)UNIX分委會(huì)

22、認(rèn)為實(shí)時(shí)操作系統(tǒng)應(yīng)具備以下的幾點(diǎn): 異步的事件響應(yīng) (隨機(jī)性)切換時(shí)間和中斷延遲時(shí)間確定 優(yōu)先級(jí)中斷和調(diào)度 搶占式調(diào)度 (高優(yōu)先級(jí)任務(wù)可搶占CPU)內(nèi)存鎖定 (將程序或部分程序鎖定在內(nèi)存)連續(xù)文件 (把數(shù)據(jù)存儲(chǔ)在連續(xù)的文件上)同步 (協(xié)調(diào)執(zhí)行)44實(shí)時(shí)操作系統(tǒng)的特點(diǎn)實(shí)時(shí)操作系統(tǒng)的特點(diǎn)實(shí)時(shí)操作系統(tǒng)是事件驅(qū)動(dòng)的,能對(duì)來(lái)自外界的作用和信號(hào)在限定的時(shí)間范圍內(nèi)作出響應(yīng)。它強(qiáng)調(diào)的是實(shí)時(shí)性、可靠性和靈活性, 與實(shí)時(shí)應(yīng)用軟件相結(jié)合成為有機(jī)的整體起著核心作用, 由它來(lái)管理和協(xié)調(diào)各項(xiàng)工作,為應(yīng)用軟件提供良好的運(yùn)行軟件環(huán)境及開(kāi)發(fā)環(huán)境。 從實(shí)時(shí)系統(tǒng)的應(yīng)用特點(diǎn)來(lái)看實(shí)時(shí)操作系統(tǒng)可以分為兩種:。 45實(shí)時(shí)操作系統(tǒng)的特點(diǎn)實(shí)時(shí)

23、操作系統(tǒng)的特點(diǎn) 應(yīng)用于實(shí)時(shí)處理系統(tǒng)的上位機(jī)和實(shí)時(shí)查詢系統(tǒng)等實(shí)時(shí)性較弱的實(shí)時(shí)系統(tǒng),并且提供了開(kāi)發(fā)、調(diào)試、運(yùn)用一致的環(huán)境。 應(yīng)用于實(shí)時(shí)性要求高的實(shí)時(shí)控制系統(tǒng),而且應(yīng)用程序的開(kāi)發(fā)過(guò)程是通過(guò)交叉開(kāi)發(fā)來(lái)完成的,即開(kāi)發(fā)環(huán)境與運(yùn)行環(huán)境不一致。嵌入式實(shí)時(shí)操作系統(tǒng)具有規(guī)模小(一般在幾K幾十K 內(nèi))、 可固化使用實(shí)時(shí)性強(qiáng)(在毫秒或微秒數(shù)量級(jí)上)的特點(diǎn) 。461.4 嵌入式操作系統(tǒng)l基本概念對(duì)基于芯片的開(kāi)發(fā)來(lái)說(shuō),應(yīng)用程序一般是一個(gè)無(wú)限的循環(huán),可稱為前后臺(tái)系統(tǒng)或超循環(huán)系統(tǒng)。后臺(tái)系統(tǒng):后臺(tái)系統(tǒng):循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,屬于任務(wù)級(jí);前臺(tái)系統(tǒng):前臺(tái)系統(tǒng):中斷或異步事件,屬于中斷級(jí); 很多基于微處理器的產(chǎn)品采用前

24、后臺(tái)系統(tǒng)設(shè)計(jì),例如微波爐、電話機(jī)、玩具等。在另外一些基于微處理器應(yīng)用中,從省電的角度出發(fā),平時(shí)微處理器處在停機(jī)狀態(tài),所有事都靠中斷服務(wù)來(lái)完成。前后臺(tái)系統(tǒng)前后臺(tái)系統(tǒng)47l基本概念 中斷服務(wù)程中斷服務(wù)程序處理異步事件,序處理異步事件,這部分可以看成這部分可以看成前臺(tái)行為前臺(tái)行為,前臺(tái),前臺(tái)也叫中斷級(jí)。時(shí)也叫中斷級(jí)。時(shí)間相關(guān)性很強(qiáng)的間相關(guān)性很強(qiáng)的關(guān)鍵操作一定是關(guān)鍵操作一定是靠中斷服務(wù)程序靠中斷服務(wù)程序來(lái)保證的。來(lái)保證的。 循環(huán)中調(diào)用循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的函數(shù)完成相應(yīng)的操作,這相應(yīng)的操作,這部分可以看成部分可以看成后后臺(tái)行為臺(tái)行為,后臺(tái)也,后臺(tái)也可以叫做任務(wù)級(jí)??梢越凶鋈蝿?wù)級(jí)。這種系統(tǒng)在處理這

25、種系統(tǒng)在處理的及時(shí)性上比實(shí)的及時(shí)性上比實(shí)際可以做到的要際可以做到的要差。差。 ISRISRISRISR后臺(tái)后臺(tái)前臺(tái)前臺(tái)中斷服務(wù)程序中斷服務(wù)程序時(shí)時(shí)間間前后臺(tái)系統(tǒng)481.4 嵌入式操作系統(tǒng)l基本概念操作系統(tǒng)是計(jì)算機(jī)中最基本的程序。操作系統(tǒng)負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中全部軟硬資源的分配與回收、控制與協(xié)調(diào)等并發(fā)的活動(dòng),提高資源利用率;提高資源利用率;操作系統(tǒng)提供用戶接口,方便用戶使用;方便用戶使用;操作系統(tǒng)為用戶擴(kuò)展新的系統(tǒng)功能提供軟件平臺(tái)。 操作系統(tǒng)硬件硬件驅(qū)動(dòng)操作系統(tǒng)用戶程序491.4 嵌入式操作系統(tǒng)l基本概念實(shí)時(shí)操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動(dòng)后首先執(zhí)行的背景程序,用戶的應(yīng)用程序是運(yùn)行于RTOS之上的各個(gè)任

26、務(wù),RTOS根據(jù)各個(gè)任務(wù)的要求,進(jìn)進(jìn)行資源管理行資源管理(包括包括CPU、存儲(chǔ)器、外設(shè)等、存儲(chǔ)器、外設(shè)等) 、消息管、消息管理、任務(wù)調(diào)度、異常處理等工作。理、任務(wù)調(diào)度、異常處理等工作。在RTOS支持的系統(tǒng)中, 每個(gè)任務(wù)均有一個(gè)優(yōu)先級(jí),RTOS根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),動(dòng)態(tài)地切換各個(gè)任務(wù),保證對(duì)實(shí)時(shí)性的要求。 實(shí)時(shí)操作系統(tǒng)(實(shí)時(shí)操作系統(tǒng)(Real Time Operating System, RTOS)501.4 嵌入式操作系統(tǒng)l基本概念多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),為每個(gè)任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通信。內(nèi)核提供的基本服務(wù)是任務(wù)切換。使用實(shí)時(shí)內(nèi)核可以大大簡(jiǎn)化應(yīng)

27、用系統(tǒng)的設(shè)計(jì),是因?yàn)閷?shí)時(shí)內(nèi)核允許將應(yīng)用分成若干個(gè)任務(wù),由實(shí)時(shí)內(nèi)核來(lái)管理它們。內(nèi)核需要消耗一定的系統(tǒng)資源,比如25的CPU運(yùn)行時(shí)間、RAM和ROM等。 內(nèi)核提供必不可少的系統(tǒng)服務(wù),如信號(hào)量、消息隊(duì)列、延時(shí)等。內(nèi)核511.4 嵌入式操作系統(tǒng)l基本概念調(diào)度是內(nèi)核的主要職責(zé)之一。調(diào)度就是決定該輪到哪個(gè)任務(wù)運(yùn)行了。多數(shù)實(shí)時(shí)內(nèi)核是基于優(yōu)先級(jí)調(diào)度法的。多數(shù)實(shí)時(shí)內(nèi)核是基于優(yōu)先級(jí)調(diào)度法的。每個(gè)任務(wù)根據(jù)其重要程序的不同被賦予一定的優(yōu)先級(jí)。基于優(yōu)先級(jí)的調(diào)度法基于優(yōu)先級(jí)的調(diào)度法指CPU總是讓處在就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)先運(yùn)行。然而究竟何時(shí)讓高優(yōu)先級(jí)任務(wù)掌握CPU的使用權(quán),有兩種不同的情況,這要看用的是什么類型的內(nèi)核,

28、是非占先式的還是占先式的內(nèi)核。 調(diào)度521.4 嵌入式操作系統(tǒng)非占先式內(nèi)核要求每個(gè)任務(wù)自我放棄非占先式內(nèi)核要求每個(gè)任務(wù)自我放棄CPU 的的所有權(quán)。所有權(quán)。非占先式調(diào)度法也稱作合作型多任務(wù),各個(gè)任務(wù)彼此合作共享一個(gè)CPU。不按優(yōu)先級(jí)安排。非占先式內(nèi)核當(dāng)系統(tǒng)響應(yīng)時(shí)間很重要時(shí),要使用占先式內(nèi)核。因此絕大多數(shù)商業(yè)上銷售的實(shí)時(shí)內(nèi)核都是占先式內(nèi)核。最高優(yōu)先級(jí)的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。按優(yōu)先級(jí)安排。占先式內(nèi)核531.4 嵌入式操作系統(tǒng)任務(wù)的優(yōu)先級(jí)是表示任務(wù)被調(diào)度的優(yōu)先程度。每個(gè)任務(wù)都具有優(yōu)先級(jí)。任務(wù)越重要,賦予的優(yōu)先級(jí)應(yīng)越高,越容易被調(diào)度而進(jìn)入運(yùn)行態(tài)。 任務(wù)優(yōu)先級(jí)中斷是一種硬件機(jī)制,用于通知C

29、PU有個(gè)異步事件發(fā)生了。中斷一旦被識(shí)別,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳轉(zhuǎn)到專門的子程序,稱為中斷服務(wù)子程序(ISR)。中斷服務(wù)子程序做事件處理,處理完成后,程序回到:1. 在前后臺(tái)系統(tǒng)中,程序回到后臺(tái)程序;2. 對(duì)非占先式內(nèi)核而言,程序回到被中斷了的任務(wù);3. 對(duì)占先式內(nèi)核而言,讓進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)開(kāi)始運(yùn)行。中斷54前后臺(tái)系統(tǒng)1.4 嵌入式操作系統(tǒng)中斷ISR任務(wù)ISR非占先操作系統(tǒng)任務(wù)A任務(wù)B任務(wù)CISR占先操作系統(tǒng)任務(wù)A任務(wù)B任務(wù)C551.4 嵌入式操作系統(tǒng)時(shí)鐘節(jié)拍是特定的周期性中斷。可看作是系統(tǒng)心臟的脈動(dòng)。中斷之間的時(shí)間間隔取決于不同應(yīng)用,一般在10ms

30、到200ms之間。時(shí)鐘節(jié)拍率越快,系統(tǒng)的額外開(kāi)銷就越大。時(shí)鐘節(jié)拍l使用實(shí)時(shí)操作系統(tǒng)的必要性嵌入式實(shí)時(shí)操作系統(tǒng)在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得愈來(lái)愈重要。在嵌入式應(yīng)用中,只有把CPU嵌入到系統(tǒng)中,同時(shí)又把操作系統(tǒng)嵌入進(jìn)去,才是真正的計(jì)算機(jī)嵌入式應(yīng)用。使用實(shí)時(shí)操作系統(tǒng)主要有以下幾個(gè)因素:嵌入式實(shí)時(shí)操作系統(tǒng)提高了系統(tǒng)的可靠性。 提高了開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期。 嵌入式實(shí)時(shí)操作系統(tǒng)發(fā)揮了32位CPU的多任務(wù)潛力。 561.4 嵌入式操作系統(tǒng)l實(shí)時(shí)操作系統(tǒng)的優(yōu)缺點(diǎn):在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下開(kāi)發(fā)實(shí)時(shí)應(yīng)用程序使程序的設(shè)計(jì)和擴(kuò)展變得容易,不需要大的改動(dòng)就可以增加新的功能。通過(guò)將應(yīng)用程序分割成若干獨(dú)立的任務(wù)模

31、塊,簡(jiǎn)化了設(shè)計(jì);對(duì)實(shí)時(shí)性要求苛刻的事件都得到了快速、可靠的處理。通過(guò)有效的系統(tǒng)服務(wù),嵌入式實(shí)時(shí)操作系統(tǒng)使得系統(tǒng)資源得到更好的利用。:但是,使用嵌入式實(shí)時(shí)操作系統(tǒng)還需要額外的ROM/RAM開(kāi)銷,25%的CPU額外負(fù)荷,以及內(nèi)核的費(fèi)用。 57 uClinux是一個(gè)完全符合GNU/GPL公約的操作系統(tǒng),完全開(kāi)放代碼。uClinux從Linux 2.0/2.4內(nèi)核派生而來(lái),沿襲了主流Linux的絕大部分特性。它是專門針對(duì)沒(méi)有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作。適用于沒(méi)有虛擬內(nèi)存或內(nèi)存管理單元(Memory Manage Unit, MMU)的處理器,例如ARM7TDMI。它通常用于具

32、有很少內(nèi)存或Flash的嵌入式系統(tǒng)。它保留了Linux的大部分優(yōu)點(diǎn):。 1.4 嵌入式操作系統(tǒng)l常見(jiàn)的嵌入式操作系統(tǒng)嵌入式Linux581.4 嵌入式操作系統(tǒng)l常見(jiàn)的嵌入式操作系統(tǒng) 是微軟開(kāi)發(fā)的一個(gè)開(kāi)放的、可升級(jí)的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作,它是精簡(jiǎn)的Windows 95。Windows CE的圖形用戶界面相當(dāng)出色。Win CE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接口以及與處理器無(wú)關(guān)等特點(diǎn)。Win CE不僅繼承了傳統(tǒng)的Windows圖形界面,并且在Win CE平臺(tái)上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C+等

33、)、 Win CE591.4 嵌入式操作系統(tǒng)l常見(jiàn)的嵌入式操作系統(tǒng)VxWorks VxWorks操作系統(tǒng)是美國(guó) 公司于1983年設(shè)計(jì)開(kāi)發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),是嵌入式開(kāi)發(fā)環(huán)境的關(guān)鍵組成部分。良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開(kāi)發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占據(jù)一席之地。它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等,甚至在1997年4月登陸火星表面的火星探測(cè)器上也使用到了VxWorks。該系統(tǒng)價(jià)格較貴。601.4 嵌入式操作系統(tǒng)l常見(jiàn)的嵌入式操作系統(tǒng) C/OS-I

34、I是一個(gè)源碼公開(kāi)、可移植、可固化、源碼公開(kāi)、可移植、可固化、可裁剪、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。可裁剪、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。其絕大部分源碼是用ANSI C寫的,使其可以方便的移植并支持大多數(shù)類型的處理器。C/OS-II通過(guò)了聯(lián)邦航空局(FAA)商用航行器認(rèn)證。自1992年問(wèn)世以來(lái),C/OS-II已經(jīng)被應(yīng)用到數(shù)以百計(jì)的產(chǎn)品中。C/OS-II占用很少的系統(tǒng)資源,并且在高校教學(xué)使用是不需要申請(qǐng)?jiān)S可證。C/OS-II作業(yè):第一章 思考與練習(xí) 2,3,461 嵌入式系統(tǒng)軟硬件基本結(jié)構(gòu)應(yīng)用程序?qū)崟r(shí)操作系統(tǒng)(RTOS)輸入輸出接口處理器/ARM核MMU/CacheSOC/SOPCUSBGPIOIIS

35、LCDUART和IrDAADC/DACFPGA/CPLDDSP/浮點(diǎn)運(yùn)算協(xié)處理器DMA電源管理 典型的嵌入式系統(tǒng)組成典型的嵌入式系統(tǒng)組成人機(jī)交互接口LCD/觸摸屏、鍵盤、鼠標(biāo)設(shè)備驅(qū)動(dòng)程序、HAL、BSP文件系統(tǒng)/圖形用戶應(yīng)用程序接口驅(qū)動(dòng)層OS層應(yīng)用層軟件硬件以太網(wǎng)看門狗及復(fù)位電路Timer/RTCCANFlashEEPROMSDRAMSRAM內(nèi)存返回返回62嵌入式系統(tǒng)組成對(duì)比計(jì)算機(jī)組成lEmbedded system嵌入式系統(tǒng)lHardware硬件l處理器:MCUMPUDSPSOCl保存固件的ROMFLASHl運(yùn)行程序時(shí)保存數(shù)據(jù)的RAMl外設(shè)(顯示LCD簡(jiǎn)易鍵盤傳感器ADDA擴(kuò)展卡)lSoft

36、warel固件(硬件和上層操作系統(tǒng) 及程序的接口)lBSP(Board Support Packet亦為bootloader)lOperate system (linuxwinceucossymbianVxworks)l應(yīng)用軟件(tcp/ip協(xié)議棧)lComputer systeml硬件lIntelAMDl硬盤l內(nèi)存l顯示器鍵盤聲卡顯卡lSoftwarelBIOSlWindowsLunixl應(yīng)用軟件(如office)63嵌入式系統(tǒng)主要特點(diǎn)l在硬件上,嵌入式系統(tǒng)至少擁有一個(gè)高性能處理器作為硬件平臺(tái)(目前以32位處理器為主流),如ARM、MIPS等處理器。l在軟件上,嵌入式系統(tǒng)擁有一個(gè)多任務(wù)操作系

37、統(tǒng)為軟件系統(tǒng)平臺(tái),如Linux、WinCE、c/osII、VxWork、 palm OS、Windows Mobile 、Symbian等。 Symbian OS(中文譯音“塞班系統(tǒng)”)由諾基亞、索尼愛(ài)立信、摩托羅拉、西門子等幾家大型移動(dòng)通訊設(shè)備商共同出資組建的一個(gè)合資公司,專門研發(fā)手機(jī)操作系統(tǒng)?,F(xiàn)已被NOKIA全額收購(gòu)。 641.ARM簡(jiǎn)介2.ARM7TDMI3.ARM的模塊、內(nèi)核和功能框圖4.ARM處理器狀態(tài)5.ARM處理器模式ARM7體系結(jié)構(gòu)6.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)65馮馮諾依曼體系結(jié)構(gòu)模型諾依曼體系結(jié)構(gòu)模型指

38、令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器存儲(chǔ)器存儲(chǔ)器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)0 0數(shù)據(jù)數(shù)據(jù)1 1數(shù)據(jù)數(shù)據(jù)2 266哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu)指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器程序存儲(chǔ)器程序存儲(chǔ)器指令指令0指令指令1指令指令2數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2地址地址指令指令地址地址數(shù)據(jù)數(shù)據(jù)67CISC和和RISCCISCCISC:復(fù)雜指令集(:復(fù)雜指令集(Complex Instruction Set ComputerC

39、omplex Instruction Set Computer)具有大量的指令和尋址方式具有大量的指令和尋址方式8/28/2原則:原則:80%80%的程序只使用的程序只使用20%20%的指令的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISCRISC:精簡(jiǎn)指令集(:精簡(jiǎn)指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使使CPUCPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單

40、硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單 682.1 ARM簡(jiǎn)介lARM公司簡(jiǎn)介 ARM是Advanced RISC Machines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC 處理器。ARM公司的特點(diǎn)是只設(shè)計(jì)芯片,而不生產(chǎn)。它將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM(Original Equipment Manufacturer,原始設(shè)備生產(chǎn)商)廠商,并提供服務(wù)。OEM:定牌生產(chǎn)合作,俗稱“貼牌”。 這種委托他人生產(chǎn)的合作方式即為OEM,承接這加工任務(wù)的制造商就被稱為OEM廠商,其生產(chǎn)的產(chǎn)品就是OEM產(chǎn)品。 69ARM授權(quán)費(fèi)IPARM 創(chuàng)造和設(shè)計(jì)IPPar

41、tner產(chǎn)品,例如:芯片Partner把ARM IP 和其他 IP 集成進(jìn)產(chǎn)品OEM Customer版權(quán)費(fèi)單價(jià)OEM 用來(lái)自ARM Partner的芯片設(shè)計(jì)制造最終用戶產(chǎn)品業(yè)務(wù)拓展 / 市場(chǎng)格局ARMARM的業(yè)務(wù)模型的業(yè)務(wù)模型702.1 ARM簡(jiǎn)介lARM公司簡(jiǎn)介將技術(shù)授權(quán)給其它芯片廠商形成各具特色的形成各具特色的ARMARM芯片芯片. . .712.1 ARM簡(jiǎn)介lRISC結(jié)構(gòu)特性兩種體系結(jié)構(gòu):CISC (Complex Instruction Set Computer),即“復(fù)雜指令系統(tǒng)計(jì)算機(jī) PC機(jī)系列; RISCRISC (reduced instruction set comput

42、er)是精簡(jiǎn)指令集計(jì)算機(jī)的縮寫,其目標(biāo)是設(shè)計(jì)出在高時(shí)鐘頻率下設(shè)計(jì)出在高時(shí)鐘頻率下單周期執(zhí)行,簡(jiǎn)單而有效的指令集單周期執(zhí)行,簡(jiǎn)單而有效的指令集。ARM內(nèi)核采用RISC體系結(jié)構(gòu),因此具有RISC的結(jié)構(gòu)特點(diǎn):具有大量的通用存儲(chǔ)器;具有大量的通用存儲(chǔ)器;獨(dú)特的裝載獨(dú)特的裝載/ /保存(保存(load-storeload-store)結(jié)構(gòu);)結(jié)構(gòu);簡(jiǎn)單的尋址模式簡(jiǎn)單的尋址模式; ;統(tǒng)一和固定長(zhǎng)度的指令格式。統(tǒng)一和固定長(zhǎng)度的指令格式。722.1 ARM簡(jiǎn)介 為了使ARM能夠更好地滿足嵌入式應(yīng)用的需要,ARM體系結(jié)構(gòu)還有以下特點(diǎn):每條數(shù)據(jù)處理指令可同時(shí)包含算術(shù)邏輯單元(ALU)的運(yùn)算和移位處理,實(shí)現(xiàn)ALU和

43、移位器的最大利用;使用地址自增和自減地址自增和自減的尋址方式優(yōu)化程序循環(huán);裝載裝載/ /保存保存指令對(duì)數(shù)據(jù)的批量傳輸,實(shí)現(xiàn)最大數(shù)據(jù)吞吐量;多數(shù)指令的依條件執(zhí)行,實(shí)現(xiàn)最快速的代碼執(zhí)行。lARM體系結(jié)構(gòu)732.1 ARM簡(jiǎn)介l常用ARM處理器系列 ARM公司開(kāi)發(fā)了很多系列的ARM處理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已經(jīng)很罕見(jiàn)了。當(dāng)前應(yīng)用比較多的ARM處理器核系列有:ARM7ARM9ARM10EXscaleARM11CortexARM9E本課程主要介紹ARM7系列。74ARM內(nèi)核分類與系列1994-2004年發(fā)布的年發(fā)布的ARM內(nèi)核內(nèi)核752.1 ARM簡(jiǎn)介分類處理器內(nèi)

44、核處理器內(nèi)核 內(nèi)核分類內(nèi)核分類ARM7 ARM7DMI(-S) ARM720T ARM7EJ-SARM9 ARM920T ARM922TARM9E ARM926EJ-S ARM946E-S ARM966E-S ARM968E-SARM10E ARM1020E ARM1022E ARM1026EJ-S處理器內(nèi)核處理器內(nèi)核內(nèi)核分類內(nèi)核分類ARM11 ARM1136J(F)-S ARM1156T2(F)-S ARM1176JZ(F)-SSecurCore SC100 SC110 SC200 SC210Strong ARMXscale762.1 ARM簡(jiǎn)介lARM Cortex系列簡(jiǎn)介 基于ARMv7

45、版本的ARM Cortex系列產(chǎn)品由A、R、M三個(gè)系列組成,具體分類延續(xù)了一直以來(lái)ARM面向具體應(yīng)用設(shè)計(jì)CPU的思路。 ARM CortexA應(yīng)用處理器(Application Processor)系列 R實(shí)時(shí)控制處理(Real Time Control )系列M微控制器(Micro Controller )系列772.1 ARM簡(jiǎn)介lCortexTM-M3處理器簡(jiǎn)介(針對(duì)低端市場(chǎng)) 該處理器是首款基于ARMv7-M架構(gòu)的處理器,采用了純Thumb2指令的執(zhí)行方式,具有極高的運(yùn)算能力和中斷相應(yīng)能力。 Cortex-M3主要應(yīng)用于汽車車身系統(tǒng),工業(yè)控制系統(tǒng)和無(wú)線網(wǎng)絡(luò)等對(duì)功耗和成本敏感的嵌入式應(yīng)用

46、領(lǐng)域。lCortexTM-R4處理器簡(jiǎn)介 該處理器是首款基于ARMv7架構(gòu)的高級(jí)嵌入式處理器,其主要目標(biāo)為產(chǎn)量巨大的高級(jí)嵌入式應(yīng)用系統(tǒng),如硬盤,噴墨式打印機(jī),以及汽車安全系統(tǒng)等等。lCortexTM-R4F處理器簡(jiǎn)介 該處理器在CortexTM-R4處理器的基礎(chǔ)上加入了代碼錯(cuò)誤校正(ECC)技術(shù),浮點(diǎn)運(yùn)算單元(FPU)以及DMA綜合配置的能力,增強(qiáng)了處理器在存儲(chǔ)器保護(hù)單元、緩存、緊密耦合存儲(chǔ)器、DMA訪問(wèn)以及調(diào)試方面的能力。782.1 ARM簡(jiǎn)介lCortexTM-A8處理器簡(jiǎn)介 該處理器是ARM公司所開(kāi)發(fā)的基于基于ARMv7ARMv7架構(gòu)架構(gòu)的首款應(yīng)用級(jí)處理器,其特色是運(yùn)用了可增加代碼密度和

47、加強(qiáng)性能的技術(shù)、可支持多媒體以及信號(hào)處理能力的NEONTM技術(shù)、以及能夠支持Java和其他文字代碼語(yǔ)言的提前和即時(shí)編譯的JazelleRTC技術(shù)。眾多先進(jìn)的技術(shù)使其適用于家電以及電子行業(yè)等各種高端的應(yīng)用領(lǐng)域。lARM7系列簡(jiǎn)介 該系列包括ARM7TDMI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T和擴(kuò)充了Jazelle(Java加速器)的ARM7EJ-S。該系列處理器提供Thumb 16位壓縮指令集和EmbededICE軟件調(diào)試方式,適用于更大規(guī)模的SoC設(shè)計(jì)中。ARM7系列廣泛應(yīng)用于多媒體和嵌入式設(shè)備,包括Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備,以及移動(dòng)電話、PDA等

48、無(wú)線設(shè)備。792.1 ARM簡(jiǎn)介 該系列包括ARM9TDMI、ARM920T和帶有高速緩存處理器宏單元的ARM940T。除了兼容ARM7系列,而且能夠更加靈活的設(shè)計(jì)。ARM9系列主要應(yīng)用于引擎管理、儀器儀表、安全系統(tǒng)和機(jī)頂盒等領(lǐng)域。lARM9系列簡(jiǎn)介 該系列為含有DSP指令集的綜合處理器,包括ARM926EJ-S、帶有高速緩存處理器宏單元的ARM966E-S/ARM946E-S。其內(nèi)核在ARM7處理器內(nèi)核的基礎(chǔ)上使用了Jazelle增強(qiáng)技術(shù),該技術(shù)支持一種新的Java操作狀態(tài),允許在硬件中執(zhí)行Java字節(jié)碼。ARM9E系列主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)

49、設(shè)備等領(lǐng)域。lARM9E系列簡(jiǎn)介802.1 ARM簡(jiǎn)介lARM10E系列簡(jiǎn)介 該系列包括ARM1020E和ARM1020E處理器核,其核心在于使用向量浮點(diǎn)(VFP)單元VFP10提供高性能的浮點(diǎn)解決方案,從而極大提高了處理器的整型和浮點(diǎn)運(yùn)算性能。 可以用于視頻游戲機(jī)和高性能打印機(jī)等場(chǎng)合。lXscale簡(jiǎn)介 Intel Xscale微控制器則提供全性能、高性價(jià)比、低功耗的解決方案,支持16位Thumb指令并集成數(shù)字信號(hào)處理(DSP)指令。 主要應(yīng)用于手提式通訊和消費(fèi)電子類設(shè)備。811.ARM簡(jiǎn)介2.ARM7TDMI3.ARM的模塊、內(nèi)核和功能框圖4.ARM處理器狀態(tài)5.ARM處理器模式ARM7體

50、系結(jié)構(gòu)6.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)822.2 ARM7TDMIl簡(jiǎn)介 ARM7TDMI是基于ARM體系結(jié)構(gòu)V4版本的低端ARM核。 其彌補(bǔ)了ARM6很難在低于5V電壓下穩(wěn)定工作的不足,還增加了后綴所對(duì)應(yīng)的功能:注意:“ARM核”并非芯片,ARM核與其它部件如RAM、ROM、片內(nèi)外設(shè)組合在一起才能構(gòu)成現(xiàn)實(shí)的芯片。ARM7TDMI-S支持高密度16位的Thumb指令集;支持片上調(diào)試;支持64位乘法;支持EmbededICE觀察硬件;ARM7TDMI 的可綜合(synthesizable)版本(軟核),對(duì)應(yīng)用工程師來(lái)說(shuō)其編程模

51、型與ARM7TDMI 一致;83命名的含義標(biāo)志含義說(shuō)明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上調(diào)試M支持長(zhǎng)乘法32位乘32位得到64位,32位的乘加得到64位IEmbedded ICEEDSP指令增加了DSP算法處理器指令:16位乘加指令,飽和的帶符號(hào)數(shù)的加減法,雙字?jǐn)?shù)據(jù)操作,cache預(yù)取指令JJava加速器Jazelle提高java代碼的運(yùn)行速度S可綜合提供VHDL或Verilog語(yǔ)言設(shè)計(jì)文件842.2 ARM7TDMIl存儲(chǔ)器的字與半字從偶數(shù)地址開(kāi)始的連續(xù)2個(gè)字節(jié)構(gòu)成一個(gè)半字;以能被4整除的地址開(kāi)始的

52、連續(xù)4個(gè)字節(jié)構(gòu)成一個(gè)字;ARM指令的長(zhǎng)度剛好是一個(gè)字,Thumb指令的長(zhǎng)度剛好是一個(gè)半字。852.2 ARM7TDMI 如果一個(gè)數(shù)據(jù)是從偶地址開(kāi)始的連續(xù)存儲(chǔ),那么它就是半字對(duì)齊,否則就是非半字對(duì)齊; 如果一個(gè)數(shù)據(jù)是以能被4整除的地址開(kāi)始的連續(xù)存儲(chǔ),那么它就是字對(duì)齊,否則就是非字對(duì)齊。方式方式半字對(duì)齊半字對(duì)齊字對(duì)齊字對(duì)齊地址地址0 x40020 x40020 x40040 x40040 x40040 x40040 x40080 x4008特征特征Bit0=0Bit0=0其他位為任意值其他位為任意值Bit1=0,Bit0=0Bit1=0,Bit0=0其他位為任意值其他位為任意值l存儲(chǔ)器的存儲(chǔ)方式8

53、62.2 ARM7TDMIl三級(jí)流水線 ARM處理器使用流水線來(lái)增加處理器指令流的速度,這樣可使幾個(gè)操作同時(shí)進(jìn)行,并使處理和存儲(chǔ)器系統(tǒng)連續(xù)操作,能提供0.9MIPS/MHz的指令執(zhí)行速度。 ARM7TDMI的流水線分3級(jí),分別為:取指譯碼執(zhí)行取指譯碼執(zhí)行處理指令并將結(jié)果寫回寄存器識(shí)別將要被執(zhí)行的指令從寄存器裝載一條指令正常操作過(guò)程中,在執(zhí)行一條指令的同時(shí)對(duì)下一條(第二條)指令進(jìn)行譯碼,并將第三條指令從存儲(chǔ)器中取出。 在ARM狀態(tài)下,流水線上各指令的地址為: 在Thumb狀態(tài)下,流水線上各指令的地址為:PCPC-4PC-8PCPC-2PC-4872.2 ARM7TDMIl三級(jí)流水線結(jié)構(gòu)的指令執(zhí)行

54、順序PC指令1指令2指令3指令4程序存儲(chǔ)器PC-4PC-8PC+4周期1周期2周期3周期4周期5周期6取指 譯碼 執(zhí)行取指 譯碼 執(zhí)行取指 譯碼 執(zhí)行取指 譯碼 執(zhí)行周期周期2周期周期1周期周期3周期周期4 在第1個(gè)周期,PC指向指令1,此時(shí)指令1進(jìn)入三級(jí)流水線的取指階段。1 在第2個(gè)周期,PC指向指令2,此時(shí)指令1進(jìn)入三級(jí)流水線的譯碼階段,同時(shí)取出指令2。2 在第3個(gè)周期,PC指向指令3,此時(shí)指令1進(jìn)入三級(jí)流水線的執(zhí)行階段,指令2進(jìn)入譯碼階段,取出指令3。3 在第4個(gè)周期,指令1執(zhí)行完成,指令2和指令3流水線推進(jìn)一級(jí),同時(shí)開(kāi)始指令4的取指處理。4處理器執(zhí)行一條指令的三個(gè)階段88 執(zhí)行ADD

55、PC,PC,#4指令后,PC的值為多少?2.2 ARM7TDMIl思考題ADD PC,PC,#40 x40000 x40040 x40080 x400C地址指令PC取指譯碼執(zhí)行PCPC-4PC-8ARM7的3級(jí)流水線ADD 程序計(jì)數(shù)器R15(PC)總是指向“正在取指”的指令,而不是指向“正在執(zhí)行”的指令或“正在譯碼”的指令。 一般來(lái)說(shuō),人們習(xí)慣性約定將“正在執(zhí)行”的指令作為參考點(diǎn),則:PC值當(dāng)前程序執(zhí)行位置8 注:ARM狀態(tài)時(shí),每條指令為4字節(jié)長(zhǎng)。 PC指向0 x4000地址,取指ADD指令。 PC指向0 x4004地址,譯碼ADD指令。 PC指向0 x4008地址,執(zhí)行ADD指令,所以指令執(zhí)

56、行的結(jié)果為: PC=PC+40 x400840 x400C。891.ARM簡(jiǎn)介2.ARM7TDMI3.ARM的模塊、內(nèi)核和功能框圖4.ARM處理器狀態(tài)5.ARM處理器模式ARM7體系結(jié)構(gòu)6.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)90CPU掃描鏈1掃描鏈1數(shù)據(jù)總線數(shù)據(jù)總線掃描鏈1掃描鏈2協(xié)處理器信號(hào)接口EmbeddedICE-RTTAP 控制器EmbeddedICE-RT宏單元DBGTCKENDBGTMSDBGnTRSTDBGTDIDBGTDORDATA31:0WDATA31:0ADDR31:0TRANS1:0PROT1:0SIZE1:

57、0WRITELOCKDBGRNG(0)DBGRNG(1)DBGEXT(1)DBGEXT(0)2.3 ARM模塊框圖CPU協(xié)處理接口信號(hào)EmbedICE硬件仿真功能模塊片上調(diào)試系統(tǒng)讀寫總線912.3 ARM內(nèi)核框圖地址寄存器寄存器組31*32位寄存器(6個(gè)狀態(tài)寄存器)地址增加器乘法器桶形移位器32位ALU寫數(shù)據(jù)寄存器指令管線讀數(shù)據(jù)寄存器Thumb指令譯碼器指令譯碼和控制邏輯ADDR31:0CLKCLENCFGBIGENDnIRQnFIQnRESETABORTLOCKWRITESIZE1:0PROT1:0TRANS1:0DBG輸出DBG輸入CP控制CP握手WDATA31:0RDATA31:0掃描調(diào)

58、試控制922.3 ARM功能框圖ARM7TDMI-S處理器LOCKCLKCLKENnIRQnFIQnRESETCFGBIGENDDBGRQDMOREDBGINSTRVAILDDBGBREAKDBGACKDBGnEXECDBGEXT1DBGEXT0DBGENDBGCOMMTXDBGCOMMRXDBGRNG0DBGRNG1DBGTCKENDBGTMSDBGTDIDBGnTRSTDBGTDODBGnTDOENADDR31:0WDATA31:0RDATA31:0ABORTWRITESIZE1:0PROT1:0TRANS1:0CPnTRANSCPnOPCCPnMREQCPSEQCPTBITCPnICPA

59、CPB同步的掃描調(diào)試訪問(wèn)接口存儲(chǔ)器接口存儲(chǔ)器管理接口協(xié)處理器接口時(shí)鐘中斷總線控制仲裁調(diào)試931.ARM簡(jiǎn)介2.ARM7TDMI3.ARM的模塊、內(nèi)核和功能框圖4.ARM處理器狀態(tài)5.ARM處理器模式ARM7體系結(jié)構(gòu)6.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)942.4 ARM處理器狀態(tài)l處理器狀態(tài) ARM7TDMI處理器內(nèi)核包含2套指令系統(tǒng),分別為ARM指令集和Thumb指令,并且各自對(duì)應(yīng)1種處理器的狀態(tài):ARM狀態(tài):32位,處理器執(zhí)行字方式的ARM指令,處理器默認(rèn)為此狀態(tài);Thumb狀態(tài):16位,處理器執(zhí)行半字方式的Thumb指令。注

60、意:注意:兩個(gè)狀態(tài)之間的切換并不影響處理器模式或寄存器內(nèi)容。952.4 ARM處理器狀態(tài)l狀態(tài)切換的一個(gè)例子地址最低位為0,表示切換到ARM狀態(tài) 使用BX指令將ARM內(nèi)核的操作狀態(tài)在ARM狀態(tài)和Thumb狀態(tài)之間進(jìn)行切換。ARM指令集Thumb指令集CODE32LDRR0, =Lable+1BX R0CODE16Lable MOV R1, #12CODE16LDR R0, =LableBX R0CODE32LableMOV R1, #10地址最低位為1,表示切換到Thumb狀態(tài)跳轉(zhuǎn)地址標(biāo)號(hào)執(zhí)行完BX指令,處理器切換到Thumb狀態(tài),開(kāi)始執(zhí)行Thumb指令程序代碼指令集關(guān)系 從ARM狀態(tài)切換到T

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論