嵌入式系统原理与技术课件_第1页
嵌入式系统原理与技术课件_第2页
嵌入式系统原理与技术课件_第3页
嵌入式系统原理与技术课件_第4页
嵌入式系统原理与技术课件_第5页
已阅读5页,还剩575页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系統

嵌入式系統簡介定義:以應用為中心,以電腦技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用電腦系統◆嵌入式系統是將先進的電腦技術、半導體技術和電子技術和各個行業的具體應用相結合後的產物,它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。嵌入式系統組成嵌入式系統的構架可以分成四個部分:處理器、記憶體、輸入輸出(I/O)和軟體(由於多數嵌入式設備的應用軟體和操作系統都是緊密結合)嵌入式系統必須根據應用需求對軟硬體進行裁剪,滿足應用系統的功能、可靠性、成本、體積等要求。如果能建立相對通用的軟硬體基礎,然後在其上開發出適應各種需要的系統,是一個比較好的發展模式。嵌入式系統簡介

微處理器(MicroprocessorUnit,MPU)微控制器(MicrocontrollerUnit,MCU)嵌入式DSP(EmbeddedDigitalSignalProcessor,EDSP)片上系統(SystemOnChip)嵌入式處理器分類微處理器(MicroprocessorUnit,MPU)微控制器(MicrocontrollerUnit,MCU)嵌入式DSP(EmbeddedDigitalSignalProcessor,EDSP)片上系統(SystemOnChip)嵌入式微處理器目前主要的嵌入式處理器類型有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM/StrongARM系列等嵌入式微處理器嵌入式微控制器又稱單片機晶片內部集成ROM/EPROM、RAM、匯流排、匯流排邏輯、定時/計數器、看門狗、I/O、串行口、脈寬調製輸出、A/D、D/A、FlashRAM、EEPROM等各種必要功能和外設。代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。嵌入式微控制器微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上外設資源一般比較豐富,適合於控制,因此稱為微控制器。嵌入式DSP處理器DSP處理器是專門用於信號處理方面的處理器,其在系統結構和指令演算法方面進行了特殊設計,在數字濾波、FFT、譜分析等各種儀器上DSP獲得了大規模的應用。DSP處理器對系統結構和指令進行了特殊設計,使其適合於執行DSP演算法,編譯效率較高,指令執行速度也較高。嵌入式DSP處理器有代表性的產品是TexasInstruments的

TMS320系列和Motorola的DSP56000系列。Motorola公司的DSP56000已經發展成為DSP56000,DSP56100,DSP56200和DSP56300等幾個不同系列的處理器。PHILIPS公司今年來也推出了基於可重置嵌入式DSP結構低成本、低功耗技術上製造的DSP處理器,特點是具備雙Harvard結構和雙乘/累加器單元,應用目標是大批量消費類電子產品。SoC就是SystemonChip,SoC是一種基於IP(IntellectualProperty)核嵌入式系統設計技術。

它結合了許多功能區塊,將功能做在一個晶片上,ARMRISC、MIPSRISC、DSP或是其他的微處理器核心,加上通信的介面單元,例如通用串行端口(USB)、TCP/IP通信單元、GPRS通信介面、GSM通信介面、IEEE1394、藍牙模組介面等等,這些單元以往都是依照各單元的功能做成一個個獨立的處理晶片。嵌入式片上系統(SoC)SOC體系結構ASICCoreMemoryEmbeddedProcessorCoreAnalogFunctionsCommunicationSensorInterfaceSOC體系結構在一個矽片上實現一個複雜的系統各種通用處理器內核將作為標準庫,和許多其他嵌入式系統外設一樣,成為VLSI設計中一種標準的器件,用標準的VHDL等語言描述,存儲在器件庫中。用戶只需定義出其整個應用系統,仿真通過後就可以將設計圖交給半導體工廠製作樣品。大部分均可集成到一塊或幾塊晶片中去,應用系統電路板將變得很簡潔,對於減小體積和功耗、提高可靠性非常有利。知識產權主要內容1324嵌入式系統簡介嵌入式處理器嵌入式操作系統嵌入式系統的典型應用5嵌入式系統的基本設計過程嵌入式系統的應用領域嵌入式應用資訊家電智能玩具軍事電子通信設備移動存貯工控設備智能儀錶汽車電子網路設備消費電子軍事國防電子商務網路工業控制goReaderInterneteBookSamsungAnyWebInternetScreenPhoneeRemoteIntelligentHomeControllerTektronixTDS7000DigitalOscilloscopesNixvueDigitalAlbumDigitalPhotoAlbum一些典型的嵌入式系統應用實例嵌入式系統的應用家用方面:數字電視、資訊家電、智能玩具、手持通訊、存儲設備的核心。嵌入式視頻伺服器現代化家庭嵌入式Internet應用嵌入式系統在資訊家電中的應用資訊家電(InformationAppliance)一般可認為,那些低單價、操作簡單、可通過因特網發送或獲取資訊,將逐步分割或替代PC的某些功能,並能與其它資訊產品交換資料或訊息的產品可統稱為資訊家電。資訊家電的分類及特點資訊家電的分類網路電視(NetTV)網上遊戲機(Internetgamingdevice)智能掌上型設備(Internetsmarthandhelddevice)網路電話(InternetscreenPhone)ConsumerNCclient等。資訊家電技術特點處理器發展趨向低成本、高整合性與低耗能。整合數字與模擬處理的技術。較PC更強調通訊能力。利用軟體增加產品的差異性(高附加價值的關鍵)典型的資訊家電產品資訊家電定義代表性產品網路電視具有機頂盒或內建網絡連接的電視MicrosoftWebTV網路可視電話具有集成網路接入的螢幕電話InfoGeariPhone網路遊戲機具有集成網路接入的遊戲操縱臺SegaDreamcast網路智能手持器件蜂窩電話、個人數據助理(PDA)和其他集成網路接入的可攜式器件3ComPalmAT&TPocketNetPhoneNokia9000,9000I,9110,7110NC委託(clients)提供網路接入以及能下載應用軟體的器件IBMNetStationPC-中間器件通過PC接入網絡以下載內容的器件DIAMONMultimediaRioPlayerNuvomediaRockete-BookAudibleMobilePlayerSource:IDC,Hambrecht&Quist資訊家電——數字機頂盒VOLVOS80汽車的CAN匯流排網路

嵌入式應用——汽車電子智能玩具與機器人嵌入式技術應用——工業控制工業方面:機床、冶金、電子、交通、航空航太等行業技術升級的重要基礎阿富汗參加反恐作戰的“赫耳墨斯”價值4萬美元,可攜帶2架攝像機,發揮了很好作用。軍事偵察反恐防暴微型飛行器“黑寡婦”空中飛行器基於WinCE的移動機器人平臺基於RTLinux的仿人機器人高48cm

重:6kg

灵活性:20DOF操作系統:RT-Linux

介面形式:USB1.0(12Mbps)响应周期:1ms

能源:DC24Vx6.2A(150W)製造:富士通基於VXworks的火星探路者2004年“勇氣號”再次登陸火星1.5嵌入式操作系統概述

電腦由硬體和軟體兩部分組成,操作系統OS是配置在電腦硬體上的第一層軟體。操作系統可解釋或理解為補平硬體差異的介面或者說隱藏硬體,讓應用程式可以在上面運行。通過由操作系統統一提供出來的系統介面來寫應用程式,無須考慮不同硬體所造成的差異,讓程式設計人員能夠專注於所擅長領域的開發。從用戶的觀點看,OS是用戶與電腦硬體系統之間的介面,用戶在OS的幫助下能夠方便,快捷,安全,可靠地操縱電腦硬體和運行自己的程式;從資源管理的觀點看,可以把OS視為電腦系統資源的管理者。1.5嵌入式操作系統概述監控程序在電腦技術發展的初期,為了給用戶提供一個與電腦的介面,同時提高電腦的資源利用率,便出現了電腦監控程序,使用戶能通過監控程序來使用電腦。隨著電腦技術的發展,電腦系統的硬體,軟體資源也又進一步發展形成了操作系統,發展到現在,廣泛使用的有三種操作系統,即多道批處理操作系統,分時操作系統以及即時操作系統。1.5嵌入式操作系統發展監控程序操作系統即時操作系統分時操作系統多道批處理操作系統

時間先後適用於多個用戶共用系統資源適用於計算中心等較大的電腦系統適用於嵌入式設備和有即時性要求的系統中1.5嵌入式操作系統即時操作系統

即時操作系統,指一個優先順序高的任務能夠獲得立即的,沒有延遲的服務,它不需要等候任何其他任務,而且在得到CPU的使用權後,可一直執行到工作結束或者有更高級的進程出現為止。嵌入式操作系統的體系結構圖應用程式檔系統/圖形用戶介面應用層OS層驅動層驅動程式、硬體抽象層、板級支持包硬體基本模組記憶體管理檔管理OS核進程調度擴展模組網路模組圖形驅動資料庫模組1.5嵌入式操作系統基本概念

對基於晶片的開發來說,應用程式一般是一個無限的迴圈,可稱為前後臺系統或超循環系統。迴圈中調用相應的函數完成相應的操作,這部分可以看成後臺行為。中斷服務程式處理非同步事件,這部分可以看成前臺行為。

——前後臺系統基本概念

中斷服務程式處理非同步事件,這部分可以看成前臺行為,前臺也叫中斷級。時間相關性很強的關鍵操作一定是靠中斷服務程式來保證的。

迴圈中調用相應的函數完成相應的操作,這部分可以看成後臺行為,後臺也可以叫做任務級。這種系統在處理的及時性上比實際可以做到的要差。ISRISRISRISR後臺前臺中斷服務程式時間——前後臺系統1.5嵌入式操作系統基本概念

代碼的臨界區也稱為臨界區,指處理時不可分割的代碼,運行這些代碼不允許被打斷。一旦這部分代碼開始執行,則不允許任何中斷打入(這不是絕對的,如果中斷不調用任何包含臨界區的代碼,也不訪問任何臨界區使用的共用資源,這個中斷可能可以執行)。

為確保臨界區代碼的執行,在進入臨界區之前要關中斷,而臨界區代碼執行完成以後要立即開中斷。

——代碼的臨界區1.5嵌入式操作系統基本概念

程式運行時可使用的軟、硬體環境統稱為資源。資源可以是輸入輸出設備,例如印表機、鍵盤、顯示器。資源也可以是一個變數、一個結構或一個數組等。——資源任務A共用資源任務B任務C信號量1.5嵌入式操作系統基本概念

可以被一個以上任務使用的資源叫做共用資源。為了防止數據被破壞,每個任務在與共享資源打交道時,必須獨佔該資源,這叫做互斥。——共用資源訪問共用資源之前申請信號量其他任務訪問受阻而不能使用共用資源得到允許後,才能使用共用資源1.5嵌入式操作系統基本概念

一個任務,也稱作一個線程,是一個簡單的程式,該程式可以認為CPU完全屬於該程式自己。每個任務都是整個應用的某一部分,每個任務被賦予一定的優先順序,有它自己的一套CPU寄存器和自己的棧空間。——任務1.5嵌入式操作系統基本概念

當多任務內核決定運行另外的任務時,它保存正在運行任務的當前狀態,即CPU寄存器中的全部內容。這些內容保存在任務的當前狀態保存區,也就是任務自已的棧區之中。入棧工作完成以後,就把下一個將要運行的任務的當前狀態從任務的棧中重新裝入CPU的寄予存器,並開始下一個任務的運行。這個過程就稱為任務切換。——任務切換1.5嵌入式操作系統基本概念

多任務系統中,內核負責管理各個任務,或者說為每個任務分配CPU時間,並且負責任務之間的通信。內核提供的基本服務是任務切換。內核提供必不可少的系統服務,如信號量、消息佇列、延時等。——內核1.5嵌入式操作系統基本概念

調度是內核的主要職責之一。調度就是決定該輪到哪個任務運行。多數即時內核是基於優先順序調度法的。每個任務根據其重要程式的不同被賦予一定的優先順序。基於優先順序的調度法指CPU總是讓處在就緒態的優先順序最高的任務先運行。然而究竟何時讓高優先順序任務掌握CPU的使用權,有兩種不同的情況,這要看用的是什麼類型的內核,是非佔先式的還是搶佔式的內核。——調度1.5嵌入式操作系統基本概念

非佔先式內核要求每個任務自我放棄CPU的所有權。非佔先式調度法也稱作合作型多任務,各個任務彼此合作共用一個CPU。

异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用權時,那個高優先順序的任務才能獲得CPU的使用權。——非搶佔式內核1.5嵌入式操作系統基本概念

當系統回應時間很重要時,要使用搶佔式內核。最高優先順序的任務一旦就緒,總能得到CPU的控制權。當一個運行著的任務使一個比它優先順序高的任務進入了就緒狀態,當前任務的CPU使用權就被剝奪了,或者說被掛起了,那個高優先順序的任務立刻得到了CPU的控制權。如果是中斷服務副程式使一個高優先順序的任務進入就緒態,中斷完成時,中斷了的任務被掛起,優先順序高的那個任務開始運行。——可搶佔式內核1.5嵌入式操作系統基本概念

任務的優先順序是表示任務被調度的優先程度。每個任務都具有優先順序。任務越重要,賦予的優先順序應越高,越容易被調度而進入運行態。——任務優先順序1.5嵌入式操作系統基本概念

中斷是一種硬體機制,用於通知CPU有非同步事件發生。中斷一旦被識別,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳轉到專門的副程式,稱為中斷服務副程式(ISR)。中斷服務副程式做事件處理,處理完成後,程式回到:1.在前後臺系統中,程式回到後臺程式;2.對非搶佔式內核而言,程式回到被中斷了的任務;3.對搶佔式內核而言,讓進入就緒態的優先順序最高的任務開始運行。——中斷前後臺系統1.5嵌入式操作系統基本概念——中斷ISR任務ISR非佔先操作系統任務A任務B任務CISR佔先操作系統任務A任務B任務C1.5嵌入式操作系統基本概念

時鐘節拍是特定的週期性中斷。這個中斷可以看作是系統心臟的脈動。中斷之間的時間間隔取決於不同應用,一般在10ms到200ms之間。時鐘的節拍式中斷使得內核可以將任務延時若干個整數時鐘節拍,以及當任務等待事件發生時,提供等待超時的依據。時鐘節拍率越快,系統的額外開銷就越大。——時鐘節拍1.5嵌入式操作系統基本概念

所有嵌入式操作系統都是多任務的。目前所說的多任務大都是多線程方式或多進程方式。和一般的操作系統一樣,嵌入式操作系統的作用也是決定在特定的某一時刻系統應該運行哪一個進程。現在許多CPU都已提供多組寄存器來輔助執行模式的切換,有比較便捷的指令來紀錄每個執行程式的情況,操作系統主要是提供調度機制來控制這些執行程式的起始,執行,暫停和結束。——多任務管理1.5嵌入式操作系統基本概念

嵌入式操作系統中的進程狀態有3種:運行狀態,就緒狀態,等待狀態。3種狀態之間的關係如圖,其中進程狀態轉換的條件與一般操作系統中轉換條件類似。——多任務管理運行就緒等待新進程結束1.5嵌入式操作系統基本概念——存儲管理

與一般操作系統的存儲管理相比,嵌入式操作系統的存儲管理要相對簡單一些。由於虛擬存儲中經常要對頁進行換入/換出操作,所以記憶體中頁命中率和換入/換出所耗費的時間嚴重破壞了整個系統的確定性,而且虛擬系統中需要地址轉換表和其他一些數據結構,這樣留給程式的記憶體空間就減少了。總之,虛擬記憶體管理佔用了相當一部分系統資源,因此在系統資源非常有限的嵌入式系統中,一般不採用虛擬記憶體管理,而採用動態記憶體管理方式,即當程式的某一部分需要使用記憶體時,利用操作系統提供的分配函數來處理,一旦使用完畢,可通過釋放函數來釋放所佔用的記憶體,這樣記憶體可以重複使用。1.5嵌入式操作系統即時操作系統的優缺點

優點:程式的設計和擴展變得容易。對即時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統服務,嵌入式即時操作系統使得系統資源得到更好的利用。缺點:但是,使用嵌入式即時操作系統還需要額外的ROM/RAM開銷,2~5%的CPU額外負荷,以及內核的費用。uClinux是一個完全符合GNU/GPL公約的操作系統,完全開放代碼。uClinux從Linux

2.0/2.4內核派生而來,沿襲了主流Linux的絕大部分特性。它是專門針對沒有MMU的CPU,並且為嵌入式系統做了許多小型化的工作。適用於沒有虛擬記憶體或記憶體管理單元(MMU)的處理器,例如ARM7TDMI。它通常用於具有很少記憶體或Flash的嵌入式系統。它保留了Linux的大部分優點:穩定、良好的移植性、優秀的網路功能、完備的對各種檔系統的支持、以及標準豐富的API等。

1.5嵌入式操作系統常見的嵌入式操作系統——

uCLinux1.5嵌入式操作系統常見的嵌入式操作系統

WindowsCE是微軟開發的一個開放的、可升級的32位嵌入式操作系統,是基於掌上型電腦類的電子設備操作。WinCE具有模組化、結構化和基於Win32應用程式介面以及與處理器無關等特點,出色的圖形用戶介面。在WinCE平臺上可以使用Windows2K/XP上的編程工具(如VisualBasic、VisualC++等)、使絕大多數的應用軟體只需簡單的修改和移植就可以在WindowsCE平臺上繼續使用。

WindowsCE.NET——WinCE1.5嵌入式操作系統常見的嵌入式操作系統——VxWorksVxWorks操作系統是美國公司於1983年設計開發的一種嵌入式即時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式即時操作系統領域佔據一席之地。它以其良好的可靠性和卓越的即時性被廣泛地應用在通信、軍事、航空、航太等高精尖技術及即時性要求極高的領域中。1.5嵌入式操作系統常見的嵌入式操作系統

OSE主要是由ENEADataAB下屬的ENEAOSESystemsAB負責開發和技術服務的,一直以來都充當著實時操作系統以及分佈式和容錯性應用的先鋒,並保持良好的發展態勢。

OSE的客戶深入到電信,數據,工控,航空等領域,尤其在電信方面,該公司已經有了十餘年的開發經驗,同諸如愛立信,諾基亞,西門子等知名公司確定了良好的關係。——OSE1.5嵌入式操作系統常見的嵌入式操作系統

NucleusPLUS是為即時嵌入式應用而設計的一個搶先式多任務操作系統內核,其95%的代碼是用ANSIC寫成的,因此非常便於移植並能夠支持大多數類型的處理器。

NucleusPLUS採用了軟體組件的方法。每個組件具有單一而明確的目的,通常由幾個C及組合語言模組構成,提供清晰的外部介面,對組件的引用就是通過這些介面完成的。由於採用了軟體組件的方法,使NucleusPLUS的各個組件非常易於替換和複用。——Nucleus1.5嵌入式操作系統常見的嵌入式操作系統

eCos是RedHat公司開發的源代碼開放的嵌入式RTOS產品,是一個可配置、可移植的嵌入式即時操作系統,設計的運行環境為RedHat的GNUPro和GNU開發環境。

eCOS的關鍵技術是操作系統可配置性,允許用戶組和自己的即時組件和函數以及實現方式,特別允許eCOS的開發則定制自己的面向應用的操作系統,使eCos能有更廣泛的應用範圍。——eCos1.5嵌入式操作系統常見的嵌入式操作系統μC/OS-II是一個源碼公開、可移植、可固化、可裁剪、佔先式的即時多任務操作系統。其絕大部分源碼是用ANSIC寫的,使其可以方便的移植並支持大多數類型的處理器。μC/OS-II通過了聯邦航空局(FAA)商用航行器認證。μC/OS-II佔用很少的系統資源,並且在高校教學使用是不需要申請許可證。——μC/OS-II1.5嵌入式操作系統常見的嵌入式操作系統TRON是指“即時操作系統內核(TheReal-timeOperatingsystemNucleux)”,它是在1984年由東京大學的Sakamura博士提出的,目的是為了建立一個理想的電腦體系結構。通過工業界和大學院校的合作,TRON方案正被逐步用到全新概念的電腦體系結構中。

uITRON是TRON的一個子方案,它具有標準的即時內核,適用於任何小規模的嵌入式系統,日本國內現有很多基於該內核的產品,其中消費電器較多。目前已成為日本事實上的工業標準。——uITRON1.5嵌入式操作系統常見的嵌入式操作系統TRON明確的設計目標使其甚至比Linux更適合於做嵌入式應用,內核小,啟動速度快,即時性能好,也很適合漢字系統的開發。另外,TRON的成功還來源於如下兩個重要的條件:

1.它是免費的

2.它已經建立了開放的標準,形成了較完善的軟硬體配套開發環境,較好地形成了產業化。——uITRON

嵌入式系統的設計方法

3.1嵌入式系統的總體結構3.2嵌入式系統開發過程第3章嵌入式系統的設計方法743.1嵌入式系統的總體結構嵌入式系統一般都由嵌入式微處理器系統和被控對象組成。嵌入式微處理器系統由硬體層、中間層、軟體層和功能層組成。第3章嵌入式系統的設計方法75硬體層由嵌入式微處理器、週邊電路和外設組成。在嵌入式微處理器基礎上增加電源電路、複位電路、調試介面和記憶體電路,就構成一個嵌入式核心控制模組。其中操作系統和應用程式都可以固化在ROM或者Flash中。可在此基礎上增加了LCD、鍵盤、USB介面,以及其他一些功能的擴展電路。第3章嵌入式系統的設計方法76BSP(BoardSupportPackage,板級支持包)硬體層與軟體層之間為中間層,也稱為BSP將系統軟體與底層硬體部分隔離,使得系統的底層設備驅動程式與硬體無關。BSP是主板硬體環境和操作系統的中間介面,是軟體平臺中具有硬體依賴性的那一部分,一般具有相關硬體的初始化、數據的輸入/輸出操作和硬體設備的配置等功能。純粹的BSP一般包含的內容是與系統有關的驅動程式,第3章嵌入式系統的設計方法77軟體層主要是操作系統,有的還包括檔系統、圖形用戶介面和網路系統等。功能層由基於操作系統開發的應用程式組成,用來完成對被控對象的控制功能。功能層是面向被控對象和用戶的,為了方便用戶操作,往往需要具有友好的人機介面。第3章嵌入式系統的設計方法783.2嵌入式系統開發過程嵌入式軟體的開發與傳統的軟體有許多共同點,它繼承了許多傳統軟體開發的開發習慣。但由於嵌入式軟體運行於特定的目標環境,與傳統軟體的開發又有著很大的不同。3.2.1嵌入式系統的開發特點3.2.2嵌入式系統的開發流程3.2.3調試嵌入式系統第3章嵌入式系統的設計方法79嵌入式系統的開發特點1.交叉開發環境嵌入式軟體以宿主機/目標機模式開發,所需要的開發環境稱為交叉開發環境。交叉開發環境分為宿主機部分和目標機部分,兩者以統一的通信協議進行通信,宿主機向目標機發送命令,目標機接收、執行命令並將結果返回宿主機,從而實現兩機之間的交互控制。第3章嵌入式系統的設計方法80宿主機(Host)通用電腦(PC),通過串口或網路連接與目標機進行通信。

目標機(Target)嵌入式系統實際運行環境,也可以是能替代實際環境的仿真系統。第3章嵌入式系統的設計方法812.為了保證穩定性和即時性,選用RTOS開發平臺對簡單系統可以用傳統方法,從底層用組合語言編寫程式,利用線上仿真器(ICE)、線上調試器(ICD)等開發工具進行軟體的調試。對於那些複雜的嵌入式系統,為了合理地調度多任務、利用系統資源,用戶選配RTOS開發平臺,這樣才能保證程式執行的即時性、可靠性,並減少開發時間,保證軟體品質。3.生成代碼需要固態化存儲嵌入式應用程式開發環境是PC機,但運行的目標環境卻千差萬別,可以是PDA,也可以是儀器設備。而且應用軟體在目標環境下必須存儲在非易失性記憶體中,保證系統在掉電重啟後仍能正常使用。所以,應用軟體在開發完成以後,應生成固化版本,都固化在單片機本身或燒寫到目標環境的Flash中運行。4.軟體代碼具有高質量、高可靠性第3章嵌入式系統的設計方法82嵌入式系統的開發流程各個階段之間往往要求不斷地反復和修改,直到完成最終完成設計目標。第3章嵌入式系統的設計方法831.需求分析階段分析系統的需求,。根據系統的需求,確定設計任務和設計目標,提煉出設計規格說明,作為正式指導設計和驗收的標準。2.體系結構設計根據設計規格說明書,進行體系結構的設計。即如何實現所述的功能和非功能需求,包括對硬體、軟體的功能劃分,以及系統的軟體、硬體和操作系統的選型等。第3章嵌入式系統的設計方法843.硬體/軟體設計基於體系結構,對系統的軟、硬體進行詳細設計和實現。4.系統集成和測試系統軟體、硬體集成,進行調試,發現並改進單元設計的錯誤。5.代碼固化程式寫入到非易失性記憶體,如Flash固化。第3章嵌入式系統的設計方法85調試嵌入式系統嵌入式系統的調試有多種方法,可分為模擬器方式、ICE(In-CircuitEmulator,線上仿真器)方式、ICD(In-CircuitDebugger,線上調試器)方式和監控器方式。1.模擬器方式調試工具和待調試的嵌入式軟體都在主機上運行,通過軟體手段模擬執行為某種嵌入式處理器編寫的根源程式。簡單的模擬器可以通過指令解釋方式逐條執行根源程式,分配虛擬存儲空間和外設,進行語法和邏輯上的調試。如:skyeye第3章嵌入式系統的設計方法862.線上仿真器方式線上仿真器ICE是一種完全仿造調試目標CPU設計的儀器。仿真器與目標板通過仿真頭連接,與主機有串口、並口、以太網口或USB口等連接方式。仿真器運行所有的CPU動作,並且可以在其使用的記憶體中設置非常多的硬體中斷點,可以即時查看所有需要的數據,從而給調試過程帶來很多便利。由於仿真器自成體系,調試時可以連接目標板,也可以不接目標板。第3章嵌入式系統的設計方法87。3.監控器方式主機和目標板通過某種介面(通常是串口)連接,主機上提供調試介面,被調試程式下載到目標板上運行監控程序是一段運行於目標機上的可執行程式,主要負責監控目標機上被調試程式的運行情況,與宿主機端的調試器一起完成對應用程式的調試。監控程序包含基本功能的啟動代碼,並完成必要的硬體初始化,等待宿主機的命令。

被調試程式通過監控程序下載到目標機,就可以開始進行調試。監控器方式操作簡單易行,功能強大,不需要專門的調試硬體,適用面廣,能提高調試的效率,縮短產品的開發週期,降低開發成本。正因為以上原因,監控器方式才能夠廣泛應用於嵌入式系統的開發之中。第3章嵌入式系統的設計方法884.線上調試器方式使用ICD和目標板的調試端口連接,發送調試命令和接收調試資訊,可以完成必要的調試功能。一般情況下,在ARM晶片的開發板上採用JTAG邊界掃描口進行調試。摩托羅拉公司採用專用的BDM調試介面。使用合適的開發工具可以利用這些介面。例如,ARM開發板,可以將JTAG調試器接在開發板的JTAG口上,通過JTAG口與ARM處理器核進行通信。由於JTAG調試的目標程式是在目標板上執行,仿真更接近於目標硬體,因此許多介面問題,如高頻操作限制、電線長度的限制等被最小化了。該方式是目前採用最多的一種調試方式。89統一建模語言UML概述

統一建模語言UML是可視化面向對象建模語言。用標準圖形元素直觀地表示模型中的資訊,便於人員交流。採用UML進行設計具有以下特點和優勢:1)UML語言簡單,易學、易用;形象直觀,可視化的圖形描述2)不同技術背景的開發人員和設計人員很容易的相互交流;3)採用圖形化的設計,將系統的核心部分描述出來,可以供以後系統開發使用;4)有利於專案的回溯和測試。90

UML的組成部分

UML採用圖形表示法,它的重要內容是由一些圖來定義的。設計人員就是用這些圖來描述整個系統的功能和設計。(1)視圖(View)(2)圖(Diagram)(3)模型元素(ModelElement)(4)通用機制(GeneralMechanism)91UML中的視圖

UML中提供的視圖共有五種:用例視圖:描述系統應該交付的功能,也就是外部參與者(Actor)觀察到的系統功能。邏輯視圖:從系統的靜態結構和動態行為角度顯示如何實現系統的功能。

組件視圖:顯示的是代碼組件的組織結構。

併發視圖:顯示的是系統的併發性,解決在併發系統中存在的通信和同步問題。

部署視圖:顯示的是系統的具體部署。

92UML中的模型元素Ⅰ在UML各種圖中使用的概念都稱為模型元素。模型元素是用語義、該元素的正式定義或者用明確的語句中該元素所代表的準確意義來定義的。模型元素有一個與之相對應的視圖元素,這些視圖元素是模型元素的圖形表示或者在UML圖中表示元素的圖形符號。常用的模型元素有:類、對象、狀態、節點、包和組件等等。

93UML中的模型元素Ⅱ常用的模型元素94UML中的模型元素Ⅲ模型元素中包括關係。關係用於其他模型元素之間的相互連接。UML中定義的關係:1)泛化(Generalization):這種關係的意思是一個元素是另一個元素的特化,也稱為繼承關係。2)關聯(Association):就是類實例之間連接的描述。3)聚合(Aggregation):這是一種關聯的形式,意思是一個元素包含其他一些元素。4)依賴(Dependency):兩模型之間的關係,用於顯示一個元素在某種程度上依賴於另一元素。95UML中的模型元素Ⅳ關係圖示:96UML中的通用機制UML在所有的圖形中都使用一些通用機制來描述圖的附加資訊。通用機制通常包括三個方面的內容:修飾、注解、規格說明。UML提供的這些視圖和圖為系統的分析、設計、建模提供了多種圖形表達形式,可應用於開發的不同階段,它們的有機結合可以構建一個完整而一致的系統。97車載GPS終端系統簡介GPS是指全球定位系統(GlobalPositionSystem)。車載GPS終端是置於機動車內的即時定位裝置,它的應用對象是需要定位、調度的車隊。車輛可以通過終端和GPS衛星進行即時、準確的定位,並能夠通過無線通訊網絡上報遠程的車輛控制中心系統。

98車載GPS終端系統的設計Ⅰ1.需求分析在對系統進行需求分析時,可以使用用例圖進行功能上的需求分析。用例圖分角色(Actor)和案例(Case)兩部分。對於車載GPS終端系統來說,主要的角色有兩個:車輛調度中心用戶和車載終端用戶。99車載GPS終端系統的設計Ⅱ(1)2.規格說明規格說明要求比需求分析更加詳細,通過UML設計可以使規格說明更直觀、更清晰。1)使用類圖描述系統所要處理的數據結構。100車載GPS終端系統的設計Ⅱ(2)2)還需要識別系統的對象。首先以功能塊劃分,廣泛地找出系統的主要對象;然後使用協作圖描述它們之間的關係。車載終端系統的主要對象(模組)101車載GPS終端系統的設計Ⅱ(3)3)系統的業務描述。即規範系統完成一定功能的主要流程。這可以利用活動圖進行。

GPS數據到達時的活動圖102車載GPS終端系統的設計Ⅲ(1)3.系統體系結構規格說明完成後,需要對系統的各個模組及模組之間的關係仔細地分析,從而確定哪些部分使用硬體完成,哪些部分使用軟體實現。在本例中,需要硬體實現的模組有:電源模組、GPS接收模組、LCD顯示模組、用戶控制模組和GSM通訊模組。所有的控制邏輯和數據計算全部由主控制器模組的軟體實現。隨後,系統設計分為兩個部分:硬體設計和軟體設計。使UML的協作圖(CollaborationDiagram)和組件圖(ComponentDiagram)對系統的硬、軟體分別進行系統設計。103車載GPS終端系統的設計Ⅲ(2)車載GPS終端系統的軟體系統架構:

104車載GPS終端系統的設計Ⅳ(1)4.構件設計與測試:在構件設計中,以使用通常需要使用狀態圖、順序圖這兩種圖描述具體的系統流程細節。1)在本例中,GSM模組共有四個狀態:通話當中、有問題、待命、短消息通訊中。使用狀態圖描述它們之間的轉換關係。105車載GPS終端系統的設計Ⅳ(2)2)順序圖從時間順序上顯示了一個特定對象進行特定操作時所遇到的流程。車載終端用戶在遇到特殊情況下通過車載電話或按鍵與調度中心保持通訊的系統的處理過程。106車載GPS終端系統的設計Ⅴ5.系統集成與測試:系統的構件建立起來之後,在系統集成測試時,可以將以上所有的UML框圖綜合起來,認真分析每個構件的原理和結構,針對每一個系統功能、每一個可能發生錯誤的過程寫出相應的測試程式,進行完整而可靠的程式測試。

ARM7體系結構3.1ARM簡介ARM公司簡介ARM是AdvancedRISCMachines的縮寫,它是一家微處理器行業的知名企業,該企業設計了大量高性能、廉價、耗能低的RISC(精簡指令集)處理器。公司的特點是只設計晶片,而不生產。它將技術授權給世界上許多著名的半導體、軟體和OEM廠商,並提供服務。3.1ARM簡介ARM公司簡介將技術授權給其他晶片廠商形成各具特色的ARM晶片...3.1ARM簡介微處理器是整個系統的核心,通常由3大部分組成:控制單元、算術邏輯單元和寄存器。

算術邏輯單元寄存器控制單元微處理器記憶體輸入輸出3.1ARM簡介ARM處理器的應用當前主要應用於消費類電子領域;到目前為止,基於ARM技術的微處理器應用約佔據了32位嵌入式微處理器75%以上的市場份額全球80%的GSM/3G手機、99%的CDMA手機以及絕大多數PDA產品均採用ARM體系的嵌入式處理器,“掌上計算”相關的所有領域皆為其所主宰。ARM技術正在逐步滲入到我們生活的各個方面。3.1ARM簡介ARM體系結構ARM處理器為RISC晶片,其簡單的結構使ARM內核非常小,這使得器件的功耗也非常低。它具有經典RISC的特點:大的、統一的寄存器檔;裝載/保存結構,數據處理操作只針對寄存器的內容,而不直接對記憶體進行操作;簡單的尋址模式;統一和固定長度的指令域,簡化了指令的解碼,便於指令流水線設計。3.1ARM簡介ARM體系結構ARM體系結構的特點:每條數據處理指令都對算術邏輯單元和移位器控制,實現了ALU和移位器的最大利用;地址自動增加和減少尋址模式,優化程式迴圈;多寄存器裝載和存儲指令實現最大數據吞吐量;所有指令的條件執行實現最快速的代碼執行。3.1ARM簡介各ARM體系結構版本ARM體系結構從最初開發到現在有了很大的改進,並仍在完善和發展。為了清楚的表達每個ARM應用實例所使用的指令集,ARM公司定義了6種主要的ARM指令集體系結構版本,以版本號V1~V6表示。3.1ARM簡介各ARM體系結構版本——V1

該版本的ARM體系結構,只有26位的尋址空間,沒有商業化,其特點為:基本的數據處理指令(不包括乘法);位元組、字和半字加載/存儲指令;具有分支指令,包括在副程式調用中使用的分支和鏈接指令;在操作系統調用中使用的軟體中斷指令。3.1ARM簡介各ARM體系結構版本——V2

同樣為26位尋址空間,現在已經廢棄不再使用,它相對V1版本有以下改進:具有乘法和乘加指令;支持協處理器;快速中斷模式中的兩個以上的分組寄存器;具有原子性加載/存儲指令SWP和SWPB。3.1ARM簡介各ARM體系結構版本——V3

尋址範圍擴展到32位(目前已廢棄),具有獨立的程式:具有乘法和乘加指令;支持協處理器;快速中斷模式中具有的兩個以上的分組寄存器;具有原子性加載/存儲指令SWP和SWPB。3.1ARM簡介各ARM體系結構版本——V4

不在為了與以前的版本相容而支持26位體系結構,並明確了哪些指令會引起未定義指令異常發生,它相對V3版本作了以下的改進:半字加載/存儲指令;位元組和半字的加載和符號擴展指令;具有可以轉換到Thumb狀態的指令(BX);增加了用戶模式寄存器的新的特權處理器模式。3.1ARM簡介各ARM體系結構版本——V5

在V4版本的基礎上,對現在指令的定義進行了必要的修正,對V4版本的體系結構進行了擴展並並增加了指令,具體如下:改進了ARM/Thumb狀態之間的切換效率;E增強型DSP指令集,包括全部演算法操作和16位乘法操作;J支持新的JAVA,提供位元組代碼執行的硬體和優化軟體加速功能。3.1ARM簡介ARM處理器核簡介ARM公司開發了很多系列的ARM處理器核,目前最新的系列已經是ARM11了,而ARM6核以及更早的系列已經很罕見了。目前應用比較廣泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscaleARM11Cortex預取(Fetch)解碼(Decode)執行(Execute)預取(Fetch)解碼(Decode)執行(Execute)訪存(Memory)寫入(Write)預取(Fetch)解碼(Decode)發送(Issue)預取(Fetch)預取(Fetch)執行(Execute)訪存(Memory)寫入(Write)解碼(Decode)發送(Issue)執行(Execute)轉換(Snny)訪存(Memory)寫入(Write)ARM7ARM9ARM10ARM113.1ARM簡介專案ARM7ARM9ARM10ARM11流水線3568典型頻率(MHz)80150260335功耗(mW/MHz)0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS**/MHz0.971.11.31.2架構馮

諾伊曼哈佛哈佛哈佛3.1ARM簡介ARM系列微處理器核特點ARM7ARM7TDMI:整數處理核ARM7TDMI處理器的可綜合版本;ARM720T:帶MMU的處理器核心,支持操作系統;ARM7EJ-S:帶有DSP和JazelleTM

技術,能夠實現Java加速功能馮

諾伊曼體系結構;ARMTDMI是目前應用最廣的微處理器核ARM720T帶有MMU和8KB的指令數據混合cache;ARM7EJ-執行ARMv5TEJ指令,5級流水線,提供Java加速指令,沒有記憶體保護。ARM9ARM920T:帶有獨立的16KB數據和指令Cache;ARM922T:帶有獨立的8位KB數據和指令Cache;ARM940T–包括更小數據和指令Cache和一個MPU基於ARM9TDMI,帶16位的Thumb指令集,增強代碼密度最多到35%;在0.13µm工藝下最高性能可達到300MIPS(Dhrystone2.1測試標準);集成了數據和指令Chche;32位AMBA匯流排介面的MMU支持;可在0.18µm、0.15µm和0.13µm工藝的矽晶片上實現。3.1ARM簡介ARM9EARM926EJ-S:Jazelle技術,有MMU,可配置的數據和指令Cache,TCM介面;ARM946E-S:可配置的數據和指令Cache及TCM;ARM966E-S:針對要求高性能和低功耗的可預測的指令執行時間的硬實時應用設計ARM968E-S:最小、功耗最小的

ARM9E系列處理器,針對嵌入式即時應用設計;ARM9E是針對微控制器、DSP和Java的單處理器解決方案;ARM

Jazelle

技術提供8倍的Java加速性能(ARM926EJ-S);5-級整數流水線;在0.13µm工藝下最高性能可達到300MIPS(Dhrystone2.1測試標準);可選擇的

向量浮點單元VFP9協處理器指令優秀海浮點性能,對於3D圖形加速和即時控制可達到

215MFLOPS。高性能的AHB匯流排,帶MMU可在0.18µm,0.15µm,0.13µm工藝的矽晶片上實現。ARM10EARM1020E:帶DSP指令集,在片調試功能,獨立的32KB數據和指令Cache,MMU支持;ARM1022E:與ARM1020E相同,只是獨立的數據和指令Cache變為16KB;ARM1026EJ-S:同時具有MPU和MMU,可綜合版本;帶分支預測的6級整數流水線;在0.13µm工藝下最高性能可達到430MIPS(Dhrystone2.1測試標準);對於3D圖形運算和即時控制採用VFP協處理器,浮點運算性能最高可達650MFLOPS;雙64位AMBA匯流排介面和64位內部總路線介面;優化的緩存結構提高了處理器訪問低速記憶體的性能;可在0.18µm,0.15µm,0.13µm工藝的矽晶片上實現3.1ARM簡介ARM11ARM11MPCore:可綜合的多處理器核,1至4個處理器可配置;ARM1136J(F)-S:可配置的數據和指令Cache,可提供1.9位的MPEG4編碼加速功能;ARM1156T2(F)-S:帶集成浮點協處理器,帶記憶體保護單元MPU

;ARM1176JZ(F)-S:帶針對CPU和系統安全架構擴展的TrustZone技術。增強的Thumb、Jazelle、DSP擴展支持;帶片上和系統安全TrustZone技術支持;在0.13µm工藝下最高可達到550MHz;MPCore在0.13µm工藝下最高性能可達到740MIPS(Dhrystone2.1測試標準);支持多媒體指令SIMD;採用三種電源模式:全速/待命/休眠集成DMA的TCM低功耗、高性能。SecurCoreSC100:第一個32位安全處理器;、SC110:在SC100上增加密鑰協處理器;SC200:帶Jazelle技術的高級安全處理器;SC210:在SC200上增加密鑰協處理器SecurCore是專門為智能卡、安全IC提供的32位安全處理器,為電子商務、銀行、網路、移動多媒體、公共交通提供安全解決方案;體積小、功耗低,代碼壓縮密度高;為快速增長的Java卡平臺提供Java加速功能;3.1ARM簡介CortexCortex-A:面向應用的微處理器,針對複雜操作系統和應用程式設計;Cortex-R:針對即時系統的嵌入式處理器;Cortex-M:針對成本敏感應用優化的深度嵌入式處理器;2004年發佈,提供增強的媒體和數字處理能力,增加了系統性能;支持ARM、Thumb、Thumb-2指令集;Thumb-2指令集提供了更高的代碼存儲密度,進一步降低成本;Intel系列StrongARM:ARMv4體系XScale:ARMv5TE體系,增加MMX指令StrongARM主要應用於手持設備和PDA,5級流水線,具有獨立的數據和指令Cache,不支持Thumb指令集,目前已停產;XScale是目前Intel公司主推的高性能嵌入式處理器,分通用處理器、網路處理器和I/O處理器三類。其中通用處理器有PXA25x、PXA26x、PXA27x三個系列,被廣泛應用於智能手機、PDA領域。3.1ARM簡介第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.複位11.記憶體及記憶體映射I/O3.2ARM7TDMI簡介ARM7TDMI基於ARM體系結構V4版本,是目前低端的ARM核。具有廣泛的應用,其最顯著的應用為數字移動電話。注意:“ARM核”並不是晶片,ARM核與其它部件如RAM、ROM、片內外設組合在一起才能構成現實的晶片。3.2ARM7TDMI簡介ARM7TDMI支持32位尋址範圍,並彌補了ARM6不能在低於5V電源電壓下工作的不足。ARM7TDMI的尾碼意義為:支持高密度16位的Thumb指令集;支持片上調試;支持64位乘法;支持Embeded-ICE觀察硬體;ARM7TDMI的可綜合(synthesizable)版本(軟核),對應用工程師來說其編程模型與ARM7TDMI一致;ARM7TDMI-S3.2ARM7TDMI簡介ARM7TDMI處理器是ARM通用32位微處理器家族的成員之一。它具有優異的性能,但功耗卻很低,使用門的數量也很少。它屬於精簡指令集電腦(RISC),比複雜指令集電腦(CISC)要簡單得多。這樣的簡化實現了:高的指令吞吐量;出色的即時中斷回應;小的、高性價比的處理器宏單元。3.2ARM7TDMI三級流水線ARM7TDMI處理器使用流水線來增加處理器指令流的速度。這樣可使幾個操作同時進行,並使處理和記憶體系統連續操作,能提供0.9MIPS/MHz的指令執行速度。

ARM7TDMI的流水線分3級,分別為:取指

解碼

執行3.2ARM7TDMI記憶體訪問ARM7TDMI處理器使用了馮·諾依曼(VonNeumann)結構,指令和數據共用一條32位匯流排。只有裝載、存儲和交換指令可以對記憶體中的數據進行訪問。數據可以是位元組(8位)、半字(16位)或者字(32位)。第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.複位11.記憶體及記憶體映射I/O3.3系統內部結構圖ARM7TDMI處理器部件和主要信號路徑的框圖如圖所示。它內部由處理器核、用於邊界掃描的TAP控制器和線上仿真器ICE組成。雙向數據匯流排D[31:0]被分割成單向輸入和輸出匯流排,以便於與外部記憶體相容。3.3ARM7TDMI的模組和內核框圖ARM7TDMI模組地址寄存器寄存器組31*32位寄存器(6個狀態寄存器)地址增量器乘法器桶形移位器32位ALU寫數據寄存器指令流水線讀數據寄存器Thumb指令解碼器指令解碼和邏輯控制ADDR[31:0]CLKCLENCFGBIGENDnIRQnFIQnRESETABORTLOCKWRITESIZE[1:0]PROT[1:0]TRANS[1:0]DBG輸出DBG輸入CP控制CP握手WDATA[31:0]RDATA[31:0]掃描調試控制A匯流排B匯流排ALU匯流排增量器匯流排PC匯流排3.3ARM7TDMI功能信號圖ARM7TDMI第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.複位11.記憶體及記憶體映射I/O3.4體系結構直接支持的數據類型體系結構直接支持的數據類型ARM處理器支持下列數據類型:位元組8位半字16位(必須分配為佔用兩個位元組)字32位(必須分配為佔用4各位元組)1112342體系結構直接支持的數據類型注意:V4版本之後的ARM結構都支持這3種結構(包括V4版本),而以前的版本只支持位元組和字;當數據類型定義為無符號型時,N位數據值使用正常的二進位格式表示範圍為0~2N-1的非負整數;當數據類型定義為有符號型時,N位數據值使用2的補數格式表示範圍為-2N-1~+2N-1-1的整數;3.4體系結構直接支持的數據類型體系結構直接支持的數據類型注意:所有數據操作,例如ADD,都以字為單位;裝載和保存指令可以對位元組、半字和字進行操作,當裝載位元組或半字時自動實現零擴展或符號擴展;ARM指令的長度剛好是1個字(分配為佔用4個位元組),Thumb指令的長度剛好是半字(佔用2個位元組)。3.4體系結構直接支持的數據類型第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.複位11.記憶體及記憶體映射I/O3.5處理器狀態處理器狀態ARM7TDMI處理器內核使用V4T版本的ARM結構,該結構包含32位ARM指令集和16位Thumb指令集。因此ARM7TDMI處理器有兩種操作狀態:ARM狀態:32位,這種狀態下執行的是字方式的ARM指令;Thumb狀態:16位,這種狀態下執行半字方式的ARM指令。注意:兩個狀態之間的切換並不影響處理器模式或寄存器內容。3.5處理器狀態處理器狀態

使用BX指令將ARM7TDMI內核的操作狀態在ARM狀態和Thumb狀態之間進行切換(詳見第4章),程式如下所示。;從Arm狀態切換到Thumb狀態

LDRR0,=Lable+1BXR0;從Thumb狀態切換到ARM狀態

LDRR0,=LableBXR0地址最低位為1,表示切換到Thumb狀態地址最低位為0,表示切換到ARM狀態跳轉地址標號第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.複位11.記憶體及記憶體映射I/O處理器模式說明備註

用戶(usr)正常程式執行模式不能直接切換到其他模式

系統(sys)運行操作系統的特權任務與用戶模式類似,但具有可以直接切換到其他模式等特權

快中斷(fiq)支持高速數據傳輸及通道處理FIQ異常回應時進入此模式

中斷(irq)用於通用中斷處理IRQ異常回應時進入此模式

管理(svc)操作系統保護模式系統複位和軟體中斷回應時進入此模式

中止(abt)用於支持虛擬記憶體和/或記憶體保護在ARM7TDMI沒有大用處

未定義(und)支持硬體協處理器的軟體仿真未定義指令異常回應時進入此模式3.6處理器模式處理器7種模式3.6處理器模式特權模式處理器模式說明備註

用戶(usr)正常程式工作模式不能直接切換到其他模式

系統(sys)用於支持操作系統的特權任務等與用戶模式類似,但具有可以直接切換到其他模式等特權

快中斷(fiq)支持高速數據傳輸及通道處理FIQ異常回應時進入此模式

中斷(irq)用於通用中斷處理IRQ異常回應時進入此模式

管理(svc)操作系統保護代碼系統複位和軟體中斷回應時進入此模式

中止(abt)用於支持虛擬記憶體和/或記憶體保護在ARM7TDMI沒有大用處

未定義(und)支持硬體協處理器的軟體仿真未定義指令異常回應時進入此模式

除用戶模式外,其他模式均為特權模式。ARM內部寄存器和一些片內外設在硬體設計上只允許(或者可選為只允許)特權模式下訪問。此外,特權模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。

未定義(und)

中止(abt)

管理(svc)

中斷(irq)

快中斷(fiq)

系統(sys)3.6處理器模式異常模式處理器模式說明備註

用戶(usr)正常程式工作模式不能直接切換到其他模式

系統(sys)用於支持操作系統的特權任務等與用戶模式類似,但具有可以直接切換到其他模式等特權

快中斷(fiq)支持高速數據傳輸及通道處理FIQ異常回應時進入此模式

中斷(irq)用於通用中斷處理IRQ異常回應時進入此模式

管理(svc)操作系統保護代碼系統複位和軟體中斷回應時進入此模式

中止(abt)用於支持虛擬記憶體和/或記憶體保護在ARM7TDMI沒有大用處

未定義(und)支持硬體協處理器的軟體仿真未定義指令異常回應時進入此模式

未定義(und)

中止(abt)

管理(svc)

中斷(irq)

快中斷(fiq)

這五種模式稱為異常模式。它們除了可以通過程式切換進入外,也可以由特定的異常進入。當特定的異常出現時,處理器進入相應的模式。每種異常模式都有一些獨立的寄存器,以避免異常退出時用戶模式的狀態不可靠。3.6處理器模式用戶和系統模式處理器模式說明備註

用戶(usr)正常程式工作模式不能直接切換到其他模式

系統(sys)用於支持操作系統的特權任務等與用戶模式類似,但具有可以直接切換到其他模式等特權

快中斷(fiq)支持高速數據傳輸及通道處理FIQ異常回應時進入此模式

中斷(irq)用於通用中斷處理IRQ異常回應時進入此模式

管理(svc)操作系統保護代碼系統複位和軟體中斷回應時進入此模式

中止(abt)用於支持虛擬記憶體和/或記憶體保護在ARM7TDMI沒有大用處

未定義(und)支持硬體協處理器的軟體仿真未定義指令異常回應時進入此模式

這兩種模式都不能由異常進入,而且它們使用完全相同的寄存器組。系統模式是特權模式,不受用戶模式的限制。操作系統在該模式下訪問用戶模式的寄存器就比較方便,而且操作系統的一些特權任務可以使用這個模式訪問一些受控的資源。

系統(sys)

用戶(usr)第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.複位11.記憶體及記憶體映射I/O3.7內部寄存器簡介

在ARM7TDMI處理器內部有37個用戶可見的寄存器。在不同的工作模式和處理器狀態下,程式員可以訪問的寄存器也不盡相同。寄存器類別寄存器在彙編中的名稱各模式下實際訪問的寄存器用戶系統管理中止未定義中斷快中斷通用寄存器和程式計數器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiq*R9(SB,v6)R9R9_fiq*R10(SL,v7)R10R10_fiq*R11(FP,v8)R11R11_fiq*R12(IP)R12R12_fiq*R13(SP)R13R13_svc*R13_abt*R13_und*R13_irq*R13_fiq*R14(LR)R14R14_svc*R14_abt*R14_und*R14_irq*R14_fiq*R15(PC)R15狀態寄存器R16(CPSR)CPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM狀態各模式下的寄存器寄存器類別寄存器在彙編中的名稱各模式下實際訪問的寄存器用戶系統管理中止未定義中斷快中斷通用寄存器和程式計數器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM狀態各模式下的寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_abtCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论