ARM培训精华(全套)_第1页
ARM培训精华(全套)_第2页
ARM培训精华(全套)_第3页
ARM培训精华(全套)_第4页
ARM培训精华(全套)_第5页
已阅读5页,还剩1208页未读 继续免费阅读

下载本文档

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

文档简介

第1章嵌入式系統概述第1章目錄1.嵌入式系統2.嵌入式處理器3.嵌入式操作系統第1章目錄1.嵌入式系統2.嵌入式處理器3.嵌入式操作系統1.1嵌入式系統概述

經過幾十年的發展,嵌入式系統已經在很大程度改變了人們的生活、工作和娛樂方式,而且這些改變還在加速。嵌入式系統具有無數的種類,每類都具有自己獨特的個性。例如,MP3、數碼相機與印表機就有很大的不同。汽車中更是具有多個嵌入式系統,使汽車更輕快、更乾淨、更容易駕駛。現實中的嵌入式系統

即使不可見,嵌入式系統也無處不在。嵌入式系統在很多產業中得到了廣泛的應用並逐步改變著這些產業,包括工業自動化、國防、運輸和航太領域。例如神州飛船和長征火箭中肯定有很多嵌入式系統,導彈的制導系統也是嵌入式系統,高檔汽車中也有多達幾十個嵌入式系統。在日常生活中,人們使用各種嵌入式系統,但未必知道它們。事實上,幾乎所有帶有一點“智能”的家電(全自動洗衣機、電腦電飯煲…)都是嵌入式系統。嵌入式系統廣泛的適應能力和多樣性,使得視聽、工作場所甚至健身設備中到處都有嵌入式系統。現實中的嵌入式系統嵌入式系統的概念

目前,對嵌入式系統的定義多種多樣,但沒有一種定義是全面的。下麵給出兩種比較合理定義:從技術的角度定義:以應用為中心、以電腦技術為基礎、軟體硬體可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用電腦系統。從系統的角度定義:嵌入式系統是設計完成複雜功能的硬體和軟體,並使其緊密耦合在一起的電腦系統。術語嵌入式反映了這些系統通常是更大系統中的一個完整的部分,稱為嵌入的系統。嵌入的系統中可以共存多個嵌入式系統。嵌入式系統示例——汽車控制系統馬達控制器車燈嵌入式系統示例——汽車控制系統尾燈控制系統後車門控制系統前車門控制系統座椅控制系統發動器控制系統所有的控制系統都是一個完整的嵌入式系統嵌入式系統的未來

早在1990年之前,嵌入式系統通常是很簡單的且具有很長的產品生命週期的自主設備。近些年來,嵌入式工業經歷了巨大的變革。產品市場窗口現在預計翻番的週期狂熱到6~9個月。全球重新定義市場的機會和膨脹的應用空間。互聯現在是一個需求而不是輔助性的,包括用有線和剛剛顯露頭角的無線技術。基於電子的產品更複雜化。互聯嵌入式系統產生新的依賴網路基礎設施的應用。微處理器的處理能力按莫爾定律(Moore’sLaw)預計的速度在增加。該定律認為積體電路和電晶體個數每18個月翻一番。第1章目錄1.嵌入式系統2.嵌入式處理器3.嵌入式操作系統嵌入式處理器

早期的嵌入式系統通常使用普通個人電腦(PC)中的通用處理器。近年來,隨著大量先進的微處理器製造技術的發展,越來越多的嵌入式系統用嵌入式處理器建造,而不是用通用目的的處理器。這些嵌入式處理器可以大致分為以下幾類:注重嵌入式處理器的尺寸、能耗和價格。應用於PDA等不注重計算的設備;注重嵌入式處理器的性能。應用於路由器等計算密集型的設備;注重嵌入式處理器的性能、尺寸、能耗和價格。應用於蜂窩電話等設備;——概述1.2嵌入式處理器分類

嵌入式處理器可以分為以下幾大類:嵌入式微處理器;嵌入式微控制器;嵌入式DSP處理器;嵌入式片上系統(SOC)。嵌入式處理器

嵌入式微處理器的基礎是通用電腦中的CPU。在應用中,將微處理器裝配在專門設計的電路板上,只保留和嵌入式應用有關的母板功能,這樣可以大幅度減小系統體積和功耗。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標準微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強。和工業控制電腦相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點,但是在電路板上必須包括ROM、RAM、匯流排介面、各種外設等器件,從而降低了系統的可靠性,技術保密性也較差。嵌入式微處理器及其記憶體、匯流排、外設等安裝在一塊電路板上,稱為單板電腦。如STD-BUS、PC104等。——嵌入式微處理器CPUROMRAM外設1外設2單板電腦嵌入式處理器

嵌入式微控制器又稱單片機,它是將整個電腦系統集成到一塊晶片中。嵌入式微控制器一般以某一種微處理器內核為核心,晶片內部集成ROM/EPROM、RAM、匯流排、匯流排邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調製輸出、A/D、D/A、FlashRAM、EEPROM等各種必要功能和外設。為適應不同的應用需求,一般一個系列的單片機具有多種衍生產品,每種衍生產品的處理器內核都是一樣的,不同的是記憶體和外設的配置及封裝。這樣可以使單片機最大限度地和應用需求相匹配,功能不多不少,從而減少功耗和成本。和嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上外設資源一般比較豐富,適合於控制,因此稱微控制器。嵌入式微控制器目前的品種和數量最多,比較有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、數目眾多ARM晶片等。目前MCU占嵌入式系統約70%的市場份額。——嵌入式微控制器複位部件看門狗部件晶振部件I/O部件中斷部件ROM部件SRAM部件定時器部件CPU核嵌入式處理器DSP處理器對系統結構和指令進行了特殊設計,使其適合於執行DSP演算法,編譯效率較高,指令執行速度也較高。在數字濾波、FFT、譜分析等方面DSP演算法正在大量進入嵌入式領域,DSP應用正從在通用單片機中以普通指令實現DSP功能,過渡到採用嵌入式DSP處理器。嵌入式DSP處理器比較有代表性的產品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。TMS320系列處理器包括用於控制的C2000系列,移動通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已經發展成為DSP56000,DSP56100,DSP56200和DSP56300等幾個不同系列的處理器。另外PHILIPS公司近年也推出了基於可重置嵌入式DSP結構低成本、低功耗技術上製造的R.E.A.LDSP處理器,特點是具備雙Harvard結構和雙乘/累加單元,應用目標是大批量消費類產品。——嵌入式DSP處理器嵌入式處理器

隨著EDA的推廣和VLSI設計的普及化及半導體工藝的迅速發展,在一個矽片上實現一個更為複雜的系統的時代已來臨,這就是SystemOnChip(SOC)。各種通用處理器內核將作為SOC設計公司的標準庫,和許多其他嵌入式系統外設一樣,成為VLSI設計中一種標準的器件,用標準的VHDL等語言描述,存儲在器件庫中。用戶只需定義出其整個應用系統,仿真通過後就可以將設計圖交給半導體工廠製作樣品。這樣除個別無法集成的器件以外,整個嵌入式系統大部分均可集成到一塊或幾塊晶片中去,應用系統電路板將變得很簡潔,對於減小體積和功耗、提高可靠性非常有利。

SoC可以分為通用和專用兩類。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola聯合研製的Neuron晶片等。專用SoC一般專用於某個或某類系統中,不為一般用戶所知。一個有代表性的產品是Philips的SmartXA,它將XA單片機內核和支持超過2048位複雜RSA演算法的CCU單元製作在一塊矽片上,形成一個可加載JAVA或C語言的專用的SOC,可用於公眾互聯網如Internet安全方面。——嵌入式片上系統(SOC)第1章目錄1.嵌入式系統2.嵌入式處理器3.嵌入式操作系統1.3嵌入式操作系統概述

電腦系統由硬體和軟體組成,在發展初期沒有操作系統這個概念,用戶使用監控程序來使用電腦。隨著電腦技術的發展,電腦系統的硬體、軟體資源也愈來愈豐富,監控程序已不能適應電腦應用的要求。於是在六十年代中期監控程序又進一步發展形成了操作系統(OperatingSystem)。發展到現在,廣泛使用的有三種操作系統即多道批處理操作系統、分時操作系統以及即時操作系統。1.3嵌入式操作系統概述監控程序操作系統即時操作系統分時操作系統多道批處理操作系統

時間先後適用於多個用戶共用系統資源適用於計算中心等較大的電腦系統適用於嵌入式設備和有即時性要求的系統中1.3嵌入式操作系統概述監控程序操作系統即時操作系統分時操作系統多道批處理操作系統

時間先後適用於多個用戶共用系統資源適用於計算中心等較大的電腦系統適用於嵌入式設備和有即時性要求的系統中即時操作系統是我們介紹的重點1.3嵌入式操作系統即時操作系統的特點IEEE的即時UNIX分委會認為即時操作系統應具備以下的幾點:非同步的事件回應切換時間和中斷延遲時間確定優先順序中斷和調度搶佔式調度記憶體鎖定連續檔同步1.3嵌入式操作系統即時操作系統的特點

總的來說即時操作系統是事件驅動的,能對來自外界的作用和信號在限定的時間範圍內作出回應。它強調的是即時性、可靠性和靈活性,與即時應用軟體相結合成為有機的整體起著核心作用,由它來管理和協調各項工作,為應用軟體提供良好的運行軟體環境及開發環境。從即時系統的應用特點來看即時操作系統可以分為兩種:一般即時操作系統和嵌入式即時操作系統。1.3嵌入式操作系統即時操作系統的特點

一般即時操作系統應用於即時處理系統的上位機和即時查詢系統等即時性較弱的即時系統,並且提供了開發、調試、運用一致的環境。

嵌入式即時操作系統應用於即時性要求高的即時控制系統,而且應用程式的開發過程是通過交叉開發來完成的,即開發環境與運行環境是不一致。嵌入式即時操作系統具有規模小(一般在幾K~幾十K內)、可固化使用即時性強(在毫秒或微秒數量級上)的特點

。1.3嵌入式操作系統基本概念

對基於晶片的開發來說,應用程式一般是一個無限的迴圈,可稱為前後臺系統或超循環系統。很多基於微處理器的產品採用前後臺系統設計,例如微波爐、電話機、玩具等。在另外一些基於微處理器應用中,從省電的角度出發,平時微處理器處在停機狀態,所有事都靠中斷服務來完成。——前後臺系統基本概念

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

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

操作系統是電腦中最基本的程式。操作系統負責電腦系統中全部軟硬資源的分配與回收、控制與協調等併發的活動;操作系統提供用戶介面,使用戶獲得良好的工作環境;操作系統為用戶擴展新的系統功能提供軟體平臺。——操作系統硬體硬體驅動操作系統用戶程式1.3嵌入式操作系統基本概念

即時操作系統是一段在嵌入式系統啟動後首先執行的背景程式,用戶的應用程式是運行於RTOS之上的各個任務,RTOS根據各個任務的要求,進行資源(包括記憶體、外設等)管理、消息管理、任務調度、異常處理等工作。在RTOS支持的系統中,每個任務均有一個優先順序,RTOS根據各個任務的優先順序,動態地切換各個任務,保證對即時性的要求。——即時操作系統(RTOS)1.3嵌入式操作系統基本概念

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

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

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

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

一個任務,也稱作一個線程,是一個簡單的程式,該程式可以認為CPU完全屬於該程式自己。即時應用程式的設計過程,包括如何把問題分割成多個任務,每個任務都是整個應用的某一部分,每個任務被賦予一定的優先順序,有它自己的一套CPU寄存器和自己的棧空間。——任務1.3嵌入式操作系統基本概念

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

多任務系統中,內核負責管理各個任務,或者說為每個任務分配CPU時間,並且負責任務之間的通信。內核提供的基本服務是任務切換。使用即時內核可以大大簡化應用系統的設計,是因為即時內核允許將應用分成若干個任務,由即時內核來管理它們。內核需要消耗一定的系統資源,比如2%~5%的CPU運行時間、RAM和ROM等。內核提供必不可少的系統服務,如信號量、消息佇列、延時等。——內核1.3嵌入式操作系統基本概念

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

非佔先式內核要求每個任務自我放棄CPU的所有權。非佔先式調度法也稱作合作型多任務,各個任務彼此合作共用一個CPU。非同步事件還是由中斷服務來處理。中斷服務可以使一個高優先順序的任務由掛起狀態變為就緒狀態。但中斷服務以後控制權還是回到原來被中斷了的那個任務,直到該任務主動放棄CPU的使用權時,那個高優先順序的任務才能獲得CPU的使用權。——非佔先式內核1.3嵌入式操作系統基本概念

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

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

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

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

嵌入式即時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能複雜、系統龐大的應用中顯得愈來愈重要。在嵌入式應用中,只有把CPU嵌入到系統中,同時又把操作系統嵌入進去,才是真正的電腦嵌入式應用。使用即時操作系統主要有以下幾個因素:嵌入式即時操作系統提高了系統的可靠性。提高了開發效率,縮短了開發週期。嵌入式即時操作系統充分發揮了32位CPU的多任務潛力。

1.3嵌入式操作系統即時操作系統的優缺點

優點:在嵌入式即時操作系統環境下開發即時應用程式使程式的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程式分割成若干獨立的任務模組,使應用程式的設計過程大為簡化;而且對即時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統服務,嵌入式即時操作系統使得系統資源得到更好的利用。缺點:但是,使用嵌入式即時操作系統還需要額外的ROM/RAM開銷,2~5%的CPU額外負荷,以及內核的費用。uClinux是一個完全符合GNU/GPL公約的操作系統,完全開放代碼。uClinux從Linux

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

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

——WinCE1.3嵌入式操作系統常見的嵌入式操作系統——VxWorksVxWorks操作系統是美國公司於1983年設計開發的一種嵌入式即時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式即時操作系統領域佔據一席之地。它以其良好的可靠性和卓越的即時性被廣泛地應用在通信、軍事、航空、航太等高精尖技術及即時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等,甚至在1997年4月登陸火星表面的火星探測器上也使用到了VxWorks。1.3嵌入式操作系統常見的嵌入式操作系統

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

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

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

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

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

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

1.它是免費的

2.它已經建立了開放的標準,形成了較完善的軟硬體配套開發環境,較好地形成了產業化。——uITRON第2章嵌入式系統工程設計第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介2.1嵌入式系統專案開發生命週期概述

可以把嵌入式系統的開發看作對一個專案的實施。專案的生命週期一般分為識別需求、提出解決方案、執行專案和結束專案4個階段。嵌入式系統專案開發也是如此。結束專案執行專案提出解決方案識別需求投入人力時間概述1.識別需求識別需求是專案生命週期的最初階段。當需求被客戶確定時,專案就產生了。這個階段的主要任務是確認需求,分析投資收益比,研究專案的可行性,分析廠商所應具備的條件。2.提出方案主要由各廠商向客戶提交標書、介紹解決方案。這個階段是贏得專案的關鍵,公司既要展示實力又要合理報價。如果競標成功則簽定合同,廠商開始承擔專案成敗的責任。3.執行專案

從公司角度來看這才是專案的開始。這個階段專案經理和專案組將代表公司完全承擔合同規定的任務。一般需要細化目標,制定工作計畫,協調人力和其他資源;定期監控進展,分析專案偏差,採取必要措施以實現目標。4.結束專案主要包括移交工作成果,幫助客戶實現商務目標;系統交接給維護人員;結清各種款項。專案開發週期

識別需求對於嵌入式系統專案開發是很重要的。這是因為嵌入式系統往往需要嵌入到其他產品中,不能獨立工作,而這個產品往往不是嵌入式開發承包商(部門)所熟悉的,不了解需求做成的產品往往是失敗的。——識別需求風險分析制定系統規範需求風險時間風險資金風險專案管理風險系統功能系統限制系統開發資源識別需求專案開發週期

對於嵌入式系統專案來說,這個階段的主要工作是系統規劃與設計。在設計規劃階段中,開發團隊需要分析所有可行的解決方案,並擬定進程,使專案在合理的進程範圍中逐漸建構完成。在系統的設計方面最重要的一件事就是確定系統的框架。——提出方案系統規劃系統設計規劃分析預估專案進程設計系統架構尋找適當方案提出方案專案開發週期

這個階段的主要工作就是系統的實現和系統的測試。由於嵌入式系統的特殊性,嵌入式系統專案既要實現系統的硬體,又要在硬體上實現軟體。所以在專案的開發過程中,軟硬體實現和系統測試是不斷反復進行的。事實上,系統的實現、測試和調試貫穿整個“執行專案”階段。——執行專案系統實現系統測試從硬體做起從驅動程式移植開始做起從現成平臺做起功能測試集成測試系統測試執行專案環境測試出貨測試系統測試系統測試環境測試系統調試專案開發週期

產品開發完畢並移交給客戶並不等於專案已經結束。客戶在使用產品的過程中還會發現一連串的問題,此時開發團隊還需要服務客戶,這就是售後服務。售後服務是一種保障客戶權利的措施,相對的也是開發團隊的義務。當售後服務也結束,專案結案了,專案也沒有結束,這時需要專案討論來總結、學習一些東西。專案討論是一個專案的回饋機制,通過這一程式,專案團隊的經驗才可以被記錄下來,也就是說,這是一個撰寫專案歷史的過程。——結束專案售後服務專案討論結束專案第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介2.2嵌入式系統工程設計方法簡介由上而下與由下而上

由上而下是一個正統的設計方式,也就是說,所有的設計皆是遵循系統工程的流程來進行。相對而言,由下而上表示一個系統是由已經有的基礎(或組件)為起點,開始往上延伸,最後將系統完成。確定需求指定系統規格設計實現測試由上而下由下而上2.2嵌入式系統工程設計方法簡介UML系統建模UML(UnifiedModelingLanguage)是一種原本設計用來描述對象導向程式語言開發的圖形化語言。由於它具有描述事物的多重性,所以理論上也可以被拉到其他領域使用。在實際使用上,根據不同的使用情況,UML提供了不同的圖形來描述系統。在UML中,包括了下麵幾種圖形:類圖、狀態圖、對象圖、用例圖、順序圖、協作圖、活動圖、組件圖和部署圖。2.2嵌入式系統工程設計方法簡介使用UML的好處

語言的用處在於溝通。UML也是一種語言,它利用視覺化的方法來制定、構建以及記錄對象導向系統。因此,可以把UML當作一種軟體工程用的語言。使用UML的好處在於可以在短時間內瞭解別人要傳達的消息,而不是花時間在瞭解消息本身如何解讀。UML提供給用戶基礎的工具與基本的規範,在這個基礎上,用戶可以利用這個語言去描述他所想要描述的系統,用不同的介面去描繪出系統的不同方面。2.2嵌入式系統工程設計方法簡介面向對象OO的思想

隨著系統的需求日益增加,系統的功能及複雜程度不斷增大,為了使系統開發變得容易,我們要逐步改進我們對系統的思考方式以及我們開發系統的的方式,這項新技術我們稱之為面向對象的的開發。傳統的結構化方法是將系統分解為很多基本函數的集合,數據被孤立分離,並且不考慮併發。而面向對象方法的基本分解單位為對象。在面對較複雜的系統設計時,我們可以將它作為一個對象來進行分析。同樣,這個對象也可以分解為多個對象,多個對象各司其職,相互協作以完成目標。第2章嵌入式系統工程設計第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介2.1嵌入式系統專案開發生命週期概述

可以把嵌入式系統的開發看作對一個專案的實施。專案的生命週期一般分為識別需求、提出解決方案、執行專案和結束專案4個階段。嵌入式系統專案開發也是如此。結束專案執行專案提出解決方案識別需求投入人力時間概述1.識別需求識別需求是專案生命週期的最初階段。當需求被客戶確定時,專案就產生了。這個階段的主要任務是確認需求,分析投資收益比,研究專案的可行性,分析廠商所應具備的條件。2.提出方案主要由各廠商向客戶提交標書、介紹解決方案。這個階段是贏得專案的關鍵,公司既要展示實力又要合理報價。如果競標成功則簽定合同,廠商開始承擔專案成敗的責任。3.執行專案

從公司角度來看這才是專案的開始。這個階段專案經理和專案組將代表公司完全承擔合同規定的任務。一般需要細化目標,制定工作計畫,協調人力和其他資源;定期監控進展,分析專案偏差,採取必要措施以實現目標。4.結束專案主要包括移交工作成果,幫助客戶實現商務目標;系統交接給維護人員;結清各種款項。專案開發週期

識別需求對於嵌入式系統專案開發是很重要的。這是因為嵌入式系統往往需要嵌入到其他產品中,不能獨立工作,而這個產品往往不是嵌入式開發承包商(部門)所熟悉的,不了解需求做成的產品往往是失敗的。——識別需求風險分析制定系統規範需求風險時間風險資金風險專案管理風險系統功能系統限制系統開發資源識別需求專案開發週期

對於嵌入式系統專案來說,這個階段的主要工作是系統規劃與設計。在設計規劃階段中,開發團隊需要分析所有可行的解決方案,並擬定進程,使專案在合理的進程範圍中逐漸建構完成。在系統的設計方面最重要的一件事就是確定系統的框架。——提出方案系統規劃系統設計規劃分析預估專案進程設計系統架構尋找適當方案提出方案專案開發週期

這個階段的主要工作就是系統的實現和系統的測試。由於嵌入式系統的特殊性,嵌入式系統專案既要實現系統的硬體,又要在硬體上實現軟體。所以在專案的開發過程中,軟硬體實現和系統測試是不斷反復進行的。事實上,系統的實現、測試和調試貫穿整個“執行專案”階段。——執行專案系統實現系統測試從硬體做起從驅動程式移植開始做起從現成平臺做起功能測試集成測試系統測試執行專案環境測試出貨測試系統測試系統測試環境測試系統調試專案開發週期

產品開發完畢並移交給客戶並不等於專案已經結束。客戶在使用產品的過程中還會發現一連串的問題,此時開發團隊還需要服務客戶,這就是售後服務。售後服務是一種保障客戶權利的措施,相對的也是開發團隊的義務。當售後服務也結束,專案結案了,專案也沒有結束,這時需要專案討論來總結、學習一些東西。專案討論是一個專案的回饋機制,通過這一程式,專案團隊的經驗才可以被記錄下來,也就是說,這是一個撰寫專案歷史的過程。——結束專案售後服務專案討論結束專案第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介2.2嵌入式系統工程設計方法簡介由上而下與由下而上

由上而下是一個正統的設計方式,也就是說,所有的設計皆是遵循系統工程的流程來進行。相對而言,由下而上表示一個系統是由已經有的基礎(或組件)為起點,開始往上延伸,最後將系統完成。確定需求指定系統規格設計實現測試由上而下由下而上2.2嵌入式系統工程設計方法簡介UML系統建模UML(UnifiedModelingLanguage)是一種原本設計用來描述對象導向程式語言開發的圖形化語言。由於它具有描述事物的多重性,所以理論上也可以被拉到其他領域使用。在實際使用上,根據不同的使用情況,UML提供了不同的圖形來描述系統。在UML中,包括了下麵幾種圖形:類圖、狀態圖、對象圖、用例圖、順序圖、協作圖、活動圖、組件圖和部署圖。2.2嵌入式系統工程設計方法簡介使用UML的好處

語言的用處在於溝通。UML也是一種語言,它利用視覺化的方法來制定、構建以及記錄對象導向系統。因此,可以把UML當作一種軟體工程用的語言。使用UML的好處在於可以在短時間內瞭解別人要傳達的消息,而不是花時間在瞭解消息本身如何解讀。UML提供給用戶基礎的工具與基本的規範,在這個基礎上,用戶可以利用這個語言去描述他所想要描述的系統,用不同的介面去描繪出系統的不同方面。2.2嵌入式系統工程設計方法簡介面向對象OO的思想

隨著系統的需求日益增加,系統的功能及複雜程度不斷增大,為了使系統開發變得容易,我們要逐步改進我們對系統的思考方式以及我們開發系統的的方式,這項新技術我們稱之為面向對象的的開發。傳統的結構化方法是將系統分解為很多基本函數的集合,數據被孤立分離,並且不考慮併發。而面向對象方法的基本分解單位為對象。在面對較複雜的系統設計時,我們可以將它作為一個對象來進行分析。同樣,這個對象也可以分解為多個對象,多個對象各司其職,相互協作以完成目標。第2章嵌入式系統工程設計第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介2.1嵌入式系統專案開發生命週期概述

可以把嵌入式系統的開發看作對一個專案的實施。專案的生命週期一般分為識別需求、提出解決方案、執行專案和結束專案4個階段。嵌入式系統專案開發也是如此。結束專案執行專案提出解決方案識別需求投入人力時間概述1.識別需求識別需求是專案生命週期的最初階段。當需求被客戶確定時,專案就產生了。這個階段的主要任務是確認需求,分析投資收益比,研究專案的可行性,分析廠商所應具備的條件。2.提出方案主要由各廠商向客戶提交標書、介紹解決方案。這個階段是贏得專案的關鍵,公司既要展示實力又要合理報價。如果競標成功則簽定合同,廠商開始承擔專案成敗的責任。3.執行專案

從公司角度來看這才是專案的開始。這個階段專案經理和專案組將代表公司完全承擔合同規定的任務。一般需要細化目標,制定工作計畫,協調人力和其他資源;定期監控進展,分析專案偏差,採取必要措施以實現目標。4.結束專案主要包括移交工作成果,幫助客戶實現商務目標;系統交接給維護人員;結清各種款項。專案開發週期

識別需求對於嵌入式系統專案開發是很重要的。這是因為嵌入式系統往往需要嵌入到其他產品中,不能獨立工作,而這個產品往往不是嵌入式開發承包商(部門)所熟悉的,不了解需求做成的產品往往是失敗的。——識別需求風險分析制定系統規範需求風險時間風險資金風險專案管理風險系統功能系統限制系統開發資源識別需求專案開發週期

對於嵌入式系統專案來說,這個階段的主要工作是系統規劃與設計。在設計規劃階段中,開發團隊需要分析所有可行的解決方案,並擬定進程,使專案在合理的進程範圍中逐漸建構完成。在系統的設計方面最重要的一件事就是確定系統的框架。——提出方案系統規劃系統設計規劃分析預估專案進程設計系統架構尋找適當方案提出方案專案開發週期

這個階段的主要工作就是系統的實現和系統的測試。由於嵌入式系統的特殊性,嵌入式系統專案既要實現系統的硬體,又要在硬體上實現軟體。所以在專案的開發過程中,軟硬體實現和系統測試是不斷反復進行的。事實上,系統的實現、測試和調試貫穿整個“執行專案”階段。——執行專案系統實現系統測試從硬體做起從驅動程式移植開始做起從現成平臺做起功能測試集成測試系統測試執行專案環境測試出貨測試系統測試系統測試環境測試系統調試專案開發週期

產品開發完畢並移交給客戶並不等於專案已經結束。客戶在使用產品的過程中還會發現一連串的問題,此時開發團隊還需要服務客戶,這就是售後服務。售後服務是一種保障客戶權利的措施,相對的也是開發團隊的義務。當售後服務也結束,專案結案了,專案也沒有結束,這時需要專案討論來總結、學習一些東西。專案討論是一個專案的回饋機制,通過這一程式,專案團隊的經驗才可以被記錄下來,也就是說,這是一個撰寫專案歷史的過程。——結束專案售後服務專案討論結束專案第2章目錄1.嵌入式系統專案開發生命週期2.嵌入式系統工程設計方法簡介2.2嵌入式系統工程設計方法簡介由上而下與由下而上

由上而下是一個正統的設計方式,也就是說,所有的設計皆是遵循系統工程的流程來進行。相對而言,由下而上表示一個系統是由已經有的基礎(或組件)為起點,開始往上延伸,最後將系統完成。確定需求指定系統規格設計實現測試由上而下由下而上2.2嵌入式系統工程設計方法簡介UML系統建模UML(UnifiedModelingLanguage)是一種原本設計用來描述對象導向程式語言開發的圖形化語言。由於它具有描述事物的多重性,所以理論上也可以被拉到其他領域使用。在實際使用上,根據不同的使用情況,UML提供了不同的圖形來描述系統。在UML中,包括了下麵幾種圖形:類圖、狀態圖、對象圖、用例圖、順序圖、協作圖、活動圖、組件圖和部署圖。2.2嵌入式系統工程設計方法簡介使用UML的好處

語言的用處在於溝通。UML也是一種語言,它利用視覺化的方法來制定、構建以及記錄對象導向系統。因此,可以把UML當作一種軟體工程用的語言。使用UML的好處在於可以在短時間內瞭解別人要傳達的消息,而不是花時間在瞭解消息本身如何解讀。UML提供給用戶基礎的工具與基本的規範,在這個基礎上,用戶可以利用這個語言去描述他所想要描述的系統,用不同的介面去描繪出系統的不同方面。2.2嵌入式系統工程設計方法簡介面向對象OO的思想

隨著系統的需求日益增加,系統的功能及複雜程度不斷增大,為了使系統開發變得容易,我們要逐步改進我們對系統的思考方式以及我們開發系統的的方式,這項新技術我們稱之為面向對象的的開發。傳統的結構化方法是將系統分解為很多基本函數的集合,數據被孤立分離,並且不考慮併發。而面向對象方法的基本分解單位為對象。在面對較複雜的系統設計時,我們可以將它作為一個對象來進行分析。同樣,這個對象也可以分解為多個對象,多個對象各司其職,相互協作以完成目標。第3章ARM7體系結構第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.中斷延遲11.複位12.記憶體及記憶體映射I/O13.尋址方式簡介14.ARM7指令簡介15.協處理器介面16.調試介面簡介17.ETM介面簡介第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.中斷延遲11.複位12.記憶體及記憶體映射I/O13.尋址方式簡介14.ARM7指令簡介15.協處理器介面16.調試介面簡介17.ETM介面簡介3.1ARM簡介ARM公司簡介ARM是AdvancedRISCMachines的縮寫,它是一家微處理器行業的知名企業,該企業設計了大量高性能、廉價、耗能低的RISC(精簡指令集)處理器。公司的特點是只設計晶片,而不生產。它將技術授權給世界上許多著名的半導體、軟體和OEM廠商,並提供服務。3.1ARM簡介ARM公司簡介將技術授權給其他晶片廠商形成各具特色的ARM晶片...3.1ARM簡介ARM體系結構ARM處理器為RISC晶片,其簡單的結構使ARM內核非常小,這使得器件的功耗也非常低。它具有經典RISC的特點:大的、統一的寄存器檔;裝載/保存結構,數據處理操作只針對寄存器的內容,而不直接對記憶體進行操作;簡單的尋址模式;統一和固定長度的指令域,簡化了指令的解碼。3.1ARM簡介ARM體系結構ARM體系結構的特點:每條數據處理指令都對算術邏輯單元和移位器控制,以實現ALU和移位器的最大利用;地址自動增加和減少尋址模式,優化程式迴圈;多寄存器裝載和存儲指令實現最大數據吞吐量;所有指令的條件執行實現最快速的代碼執行。3.1ARM簡介各ARM體系結構版本ARM體系結構從最初開發到現在有了巨大的改進,並仍在完善和發展。為了清楚的表達每個ARM應用實例所使用的指令集,ARM公司定義了5種主要的ARM指令集體系結構版本,以版本號V1~V5表示。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狀態的指令;用戶模式寄存器的新的特權處理器模式。3.1ARM簡介各ARM體系結構版本——V5

在V4版本的基礎上,對現在指令的定義進行了必要的修正,對V4版本的體系結構進行了擴展並並增加了指令,具體如下:改進了ARM/Thumb狀態之間的切換效率;允許非T變數和T變數一樣,使用相同的代碼生成技術;增加計數前導零指令和軟體中斷點指令;對乘法指令如何設置標誌作了嚴格的定義。3.1ARM簡介ARM處理器核簡介ARM公司開發了很多系列的ARM處理器核,目前最新的系列已經是ARM11了,而ARM6核以及更早的系列已經很罕見了。目前應用比較廣泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscale3.1ARM簡介ARM處理器核簡介——ARM7

該系列包括ARM7TDMI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T和擴充了Jazelle的ARM7EJ-S。該系列處理器提供Thumb16位壓縮指令集和EmbededICE軟體調試方式,適用於更大規模的SoC設計中。

ARM7系列廣泛應用於多媒體和嵌入式設備,包括Internet設備、網路和數據機設備,以及移動電話、PDA等無線設備。3.1ARM簡介ARM處理器核簡介——ARM9

該系列包括ARM9TDMI、ARM920T和帶有告訴緩存處理器宏單元的ARM940T。除了相容ARM7系列,而且能夠更加靈活的設計。

ARM9系列主要應用於引擎管理、儀器儀錶、安全系統和機頂盒等領域。3.1ARM簡介ARM處理器核簡介——ARM10

該系列包括ARM1020E和ARM1020E處理器核,其核心在於使用向量浮點(VFP)單元VFP10提供高性能的浮點解決方案,從而極大提高了處理器的整型和浮點運算性能。可以用於視頻遊戲機和高性能印表機等場合。3.1ARM簡介ARM處理器核簡介——SecurCore

該系列涵蓋了SC100、SC110、SC200和SC210處理核。該系列處理器主要針對新興的安全市場,以一種全新的安全處理器設計為智能卡和其他安全IC開發提供獨特的32位系統設計,並具有特定反偽造方法,從而有助於防止對硬體和軟體的盜版。3.1ARM簡介ARM處理器核簡介——XscaleIntelXscale微控制器則提供全性能、高性價比、低功耗的解決方案,支持16位Thumb指令並集成數字信號處理(DSP)指令。第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.中斷延遲11.複位12.記憶體及記憶體映射I/O13.尋址方式簡介14.ARM7指令簡介15.協處理器介面16.調試介面簡介17.ETM介面簡介3.2ARM7TDMI簡介ARM7TDMI基於ARM體系結構V4版本,是目前低端的ARM核。具有廣泛的應用,其最顯著的應用為數字移動電話。注意:“ARM核”並不是晶片,ARM核與其它部件如RAM、ROM、片內外設組合在一起才能構成現實的晶片。3.2ARM7TDMI簡介ARM7TDMI支持32位尋址範圍,並彌補了ARM6不能在低於5V電源電壓下工作的不足。ARM7TDMI的尾碼意義為:支持高密度16位的Thumb指令集;支持片上調試;支持64位乘法;支持EmbededICE觀察硬體;ARM7TDMI的可綜合(synthesizable)版本(軟核),對應用工程師來說其編程模型與ARM7TDMI一致;ARM7TDMI-S3.2ARM7TDMI簡介ARM7TDMI處理器是ARM通用32位微處理器家族的成員之一。它具有優異的性能,但功耗卻很低,使用門的數量也很少。它屬於精簡指令集電腦(RISC),比複雜指令集電腦(CISC)要簡單得多。這樣的簡化實現了:高的指令吞吐量;出色的即時中斷回應;小的、高性價比的處理器宏單元。3.2ARM7TDMI三級流水線ARM7TDMI處理器使用流水線來增加處理器指令流的速度。這樣可使幾個操作同時進行,並使處理和記憶體系統連續操作,能提供0.9MIPS/MHz的指令執行速度。

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

解碼

執行3.2ARM7TDMI三級流水線

正常操作過程中,在執行一條指令的同時對下一條指令進行解碼,並將第三條指令從記憶體中取出。這三條指令之間的位置關係如下表所示:流水線上各指令的地址流水線工位描述ARM指令集Thumb指令集PCPC取指指令從記憶體中取出PC-4PC-2解碼對指令使用的寄存器進行解碼PC-8PC-4執行從寄存器組中讀出寄存器,執行移位和ALU操作,寄存器被寫回到寄存器組中3.2ARM7TDMI記憶體訪問ARM7TDMI處理器使用了馮·諾依曼(VonNeumann)結構,指令和數據共用一條32位匯流排。只有裝載、存儲和交換指令可以對記憶體中的數據進行訪問。數據可以是位元組(8位)、半字(16位)或者字(32位)。3.2ARM7TDMI記憶體訪問電腦結構說明:“馮·諾依曼”結構:把代碼作為一種特殊的數據來操作,指令匯流排和數據匯流排及其存儲區域是統一的;“哈佛”結構:指令匯流排和數據匯流排及其存儲區是分開、獨立的。3.2ARM7TDMI記憶體訪問ARM7TDMI處理器的記憶體介面可以使潛在的性能得以實現,這樣減少了記憶體的使用。對速度有嚴格要求的控制信號使用流水線,這樣使系統控制功能以標準的低功耗邏輯實現。ARM7TDMI處理器的記憶體週期有4個基本類型:內部週期;非連續的週期;連續的週期;協處理器寄存器的傳輸週期。第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.中斷延遲11.複位12.記憶體及記憶體映射I/O13.尋址方式簡介14.ARM7指令簡介15.協處理器介面16.調試介面簡介17.ETM介面簡介3.3ARM7TDMI的模組和內核框圖ARM7TDMI模組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]掃描調試控制3.3ARM7TDMI的模組和內核框圖ARM7TDMI模組第3章目錄1.簡介2.ARM7TDMI3.ARM7TDMI的模組和內部框圖4.體系結構直接支持的數據類型5.處理器狀態6.處理器模式7.內部寄存器8.程式狀態寄存器9.異常10.中斷延遲11.複位12.記憶體及記憶體映射I/O13.尋址方式簡介14.ARM7指令簡介15.協處理器介面16.調試介面簡介17.ETM介面簡介3.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.複位12.記憶體及記憶體映射I/O13.尋址方式簡介14.ARM7指令簡介15.協處理器介面16.調試介面簡介17.ETM介面簡介3.5處理器狀態處理器狀態ARM7TDMI處理器內核使用V4T版本的ARM結構,該結構包含32位ARM指令集和16位Thumb指令集。因此ARM7TDMI處理器有兩種操作狀態:ARM狀態:32位,這種狀態下執行的是字方式的ARM指令;Thumb狀態:16位,這種狀態下執行半字方式的Thumb指令。注意:兩個狀態之間的切換並不影響處理器模式或寄存器內容。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.複位12.記憶體及記憶體映射I/O13.尋址方式簡介14.ARM7指令簡介15.協處理器介面16.調試介面簡介17.ETM介面簡介3.6處理器模式簡介ARM體系結構支持7種處理器模式,分別為:用戶模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式和系統模式,如下表所示。這樣的好處是可以更好的支持操作系統並提高工作效率。ARM7TDMI完全支持這七種模式。處理器模式說明備註

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

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

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

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

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

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

未定義(und)支持硬體協處理器的軟體仿真未定義指令異常回應時進入此模式3.6處理器模式處理器模式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.處理器

温馨提示

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

评论

0/150

提交评论