arm嵌入式學習——學習總結_第1頁
arm嵌入式學習——學習總結_第2頁
arm嵌入式學習——學習總結_第3頁
arm嵌入式學習——學習總結_第4頁
arm嵌入式學習——學習總結_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、ARM嵌入式學習筆記ARM嵌入式學習筆記11.嵌入式系統概述31.1.定義及特點31.2.嵌入式系統的發展31.3.未來嵌入式系統的發展方向31.4.典型的嵌入式系統的組成42.嵌入式軟硬件系統42.1.電路的基本知識42.2.數制轉換42.3.計算機組成原理42.4.嵌入式軟件52.5.計算機編程語言52.6.數據結構52.7.操作系統52.7.1.操作系統的設計思路52.7.2.操作系統的分類53.ARM處理器63.1.微處理器和微控制器63.2.ARM處理器介紹63.2.1.ARM滲透到了許多應用領域63.2.2.ARM具有的優點63.2.3.ARM指令集63.3.ARM的結構73.3.

2、1.ARM體系結構的命名73.3.2.處理器工作模式83.3.3.存儲系統83.3.4.尋址方式84.嵌入式Linux81.嵌入式系統概述1.1.定義及特點嵌入式系統是一種為特定設備服務,軟硬件可裁剪的計算機系統,其英文名稱是Embedded System。特點是形式變化多樣、體積小,可以靈活地適應各種設備的需求。嵌入式系統的一些例子:手機、汽車、ATM等等。1.2.嵌入式系統的發展電子計算機誕生以來,計算機的發展有兩個方向:一個方向是體積大型化、處理能力超強的大型計算機;另一個是向體積小型化,功能多樣化的方向發展。l 嵌入式微控制器即傳統意義上的單片機,是目前嵌入式系統的前身。一般都是8位或

3、者16位。l 嵌入式微處理器單片機的發展時間較早,處理能力很低,只能應用在一些相對簡單的控制領域。嵌入式微處理器是近幾年隨著大規模集成電路發展同步發展起來的。與單片機相比,嵌入式微處理器的處理能力更強,主流的嵌入式微處理器都是32位的。嵌入式微處理器在一個芯片上集成了復雜的功能,有的還把常見的外部設備控制器也集成到芯片內部。圖1.嵌入式微處理器1.3.未來嵌入式系統的發展方向隨著微電子技術的發展和電子制造工藝的進步,嵌入式系統硬件的體積會不斷縮小,系統穩定性也在不斷增強,可以把更多功能集成到一個芯片上;同時功耗方面也不斷降低。隨著網絡的普及和IPv6技術的應用(注:IPv6技術主要解決了IPv

4、4的IP地址數目緊缺的現狀),越來越多的嵌入式設備也會加入到網絡中。1.4.典型的嵌入式系統的組成嵌入式系統包括硬件和軟件。硬件包括了嵌入式微處理器和嵌入式微控制器以及一些外圍元器件和外部設備;軟件包括了嵌入式操作系統和應用軟件。嵌入式系統硬件種類繁多,有許多硬件和軟件的解決方案,不同嵌入式系統軟硬件很難兼容,軟件必須修改而硬件必須重新設計才能使用。圖2.嵌入式系統2.嵌入式軟硬件系統2.1.電路的基本知識處理模擬信號的電路稱為模擬電路。模擬信號的特點是信號變化是連續的。評估一個模擬電路常見的參數有放大率、信噪比和工作頻率等。模擬電路是數字電路的基礎。數字電路就是處理數字信號的電路。通常數字電

5、路具有邏輯運算和邏輯處理的功能。數字電路可以分為脈沖電路和邏輯電路兩部分,脈沖電路負責對信號進行變換和測量;邏輯電路負責處理數字邏輯。2.2.數制轉換2.3.計算機組成原理計算機系統硬件是由中央處理器、存儲系統、總線系統和輸入輸出系統幾個基本部分組成的。從存儲結構來講可以把計算機體系分成馮諾依曼結構和哈佛結構。總線一般分為數據總線、地址總線和控制總線。總線系統是由總線和相應的控制器構成的,如嵌入式系統常見的I²C總線和SPI總線,它們控制簡單,成本低廉。還有PCI總線,支持復雜的功能和很高的系統吞吐量。輸入輸出系統由外部設備和輸入輸出控制器組成。CPU通過總線與輸入輸出系統相連。由于

6、外部設備的速度差異,CPU使用不同的方式控制外部設備的訪問。常見的有輪詢方式、中斷控制方式和DMA方式。2.4.嵌入式軟件軟件分為系統軟件和應用軟件,最近興起了介于兩者之間的中間件軟件。系統軟件為使用計算機提供基本的功能,例如操作系統和數據庫系統,它們都不是針對于某種特殊需求,而是面向通用的領域。軟件的一個組成部分是文檔,文檔分為開發文檔和用戶文檔,前者面向開發人員,后者面向最終用戶。軟件開發的流程大概分為四個部分:需求分析、設計、編碼調試、測試和維護。軟件開發的模型一般有瀑布模型、迭代模型以及它們的混合。2.5.計算機編程語言2.6.數據結構2.7.操作系統操作系統是一類特殊的系統軟件,管理

7、整個系統的硬件資源和軟件,它屏蔽了底層硬件的差異,向應用層提供了一個統一的接口。按照軟件結構來劃分,操作系統可以分為內核、驅動程序和程序庫。內核是操作系統的核心,也是整個系統軟件的核心。系統是和驅動程序打交道而不會直接訪問硬件,硬件的具體細節由驅動程序完成。2.7.1.操作系統的設計思路l 微內核把系統的服務功能和基本操作分開。這樣的方法使內核的設計更加簡單,內核可以根據需要啟動或者關閉服務,極大地提高了整個系統的工作效率。Linux和WinNT都采用這種思想。2.7.2.操作系統的分類l 分時系統l 實時系統3.ARM處理器3.1.微處理器和微控制器微處理器可以根據應用領域大致分為通用微處理

8、器、嵌入式微處理器和微控制器。通用微處理器主要用于高性能計算;嵌入式微處理器是針對于某一特定應用的高能力計算。微控制器主要用于控制某種設備。微控制器除了針對專門的設備之外,還具備微處理器不具備的特點。如很好的環境適應性,可以在特殊的高溫或者低溫環境工作。3.2.ARM處理器介紹ARM:Advanced RISC Machines的縮寫,中文譯名為高性能RISC機器。ARM是由ARM公司設計的一種體系結構,主要用于出售技術授權,并不生產芯片。3.2.1.ARM滲透到了許多應用領域l 工業控制l 無線通信l 網絡應用l 消費電子產品3.2.2.ARM具有的優點l 芯片體積小,功耗低,制造成本低,性

9、能優異l 支持Thumb(16位)和ARM(32位)兩種指令集,8位和16位設備兼容性好l 采用RISC,在內部使用大量的寄存器,執行指令速度快l 大部分指令都是操作寄存器,很少指令會訪問外存l 采用多級流水線,處理速度更快l 支持多種尋址方式,數據存取方式靈活l 指令長度固定,便于編譯器操作以及執行指令3.2.3.ARM指令集指令集可以分為CISC和RISC。ARM采用RISC指令集,指令長度固定,支持ARM指令集和Thumb指令集。ARM指令集按照功能可以分為算數運算指令、邏輯運算指令、分支指令、軟件中斷指令和程序數據裝載指令等。3.2.3.1.指令格式<opcode> <

10、;cond> S <Rd>,<Rn> ,<operand2>其中,opcode:指令助記符;cond:執行條件;S:是否影響CPSR寄存器的值 Rd:目標寄存器;Rn:第一個操作數的寄存器;operand2:第二個操作數靈活使用第二個操作數能夠提高代碼的效率。它可以有如下的形式:u #immed_8r常數表達式8位的常數u Rm寄存器方式操作數為寄存器的數值u Rm,shift寄存器移位方式cond:條件碼,如果不指定,則該指令為無條件執行(AL)l 算數運算指令ADD指令ADC指令SUB指令SBC指令l 邏輯運算指令AND指令EOR指令MOV指令l

11、分支指令B指令:B條件 <地址>帶鏈接的分支指令BL:BL label適用于子程序調用,LRßPC-4,PCßlabel帶狀態切換的分支指令BX:根據跳轉地址的低位進行來切換處理器狀態。l 協處理器指令l 雜項指令l 偽指令ADR指令:將地址加載進寄存器,在實際編譯時,采用一條ADD或者SUB指令代替ADRL指令:將地址加載進寄存器,在實際編譯時,采用兩條指令代替。LDR指令:加載32位的立即數或者一個地址值到指定寄存器。若加載的常數沒有超過MOV或者MVN的范圍,則使用MOV或者MVN指令代替該LDR偽指令,否則匯編則常量放入文字池,并使用一條程序相對偏移的L

12、DR指令從文字池讀取常量。NOP指令空操作,用于延時操作。l 數據傳送指令單一數據傳送指令多數據傳送指令寄存器交換指令3.2.4.Thumb指令集具有16位的代碼密度,是ARM指令壓縮的子集。3.2.4.1.Thumb指令集與ARM指令集的區別3.2.4.2.Thumb存儲器訪問指令3.3.ARM的結構3.3.1.ARM體系結構的命名ARM體系結構的命名可以分為兩部分,一部分是ARM體系版本的命名,另一部分是ARM體系版本的處理器命名。ARM體系到現在一共發布了9個系列的版本,每個版本都可以支持不同的指令集和特殊功能。ARMv(版本號)x1(指令集)x2(指令集)指令集縮寫含義TThumb指令

13、集M長乘法指令集E增強DSP指令集J支持Java加速器SIMD多媒體功能擴展指令集確定了一種ARM體系結構后,可以形成一系列處理器,處理器的命名主要是功能上的一些細小差別,基本的核心是相同的ARMxyzm功能縮寫含義T支持ThumbD支持偏上調試M支持快速乘法器I支持嵌入式ICE調試E支持增強DSP指令J支持Java程序加速F支持浮點運算單元-S綜合版本,支持所有功能3.3.2.處理器工作模式ARM微處理器可以在工作中隨時切換狀態,切換工作狀態不會影響工作模式和寄存器的內容。ARM體系要求處理器在啟動時應該處于ARM狀態。ARM處理器使用操作寄存器的0位表示工作狀態,取值為0時表示ARM狀態,

14、取值為1時表示Thumb狀態。使用BX指令可以切換狀態。ARM處理器支持7種工作模式。ARM處理器大多都是用來處理外部中斷和異常的,只是針對于異常和中斷的分類比較詳細。3.3.3.存儲系統嵌入式微處理器大多采用一種線性的存儲管理模式,ARM也是如此。內存中的存儲器和外部設備都被安排到一個統一的地址空間。線性地址空間便于處理器核管理用戶操作。在操作超過8位的數據時,存在兩種不同的訪問方法:大字端模式和小字端模式。l 大字端字節n字節n+1字節n+2字節n+33124231615870l 小字端字節n+3字節n+2字節n+1字節n31242316158703.3.4.尋址方式尋址方式是指根據指令中

15、給出的地址碼字段來實現尋找真實操作數地址的方式ARM包括7種常見的尋址方式u 立即尋址u 寄存器尋址u 寄存器移位尋址u 寄存器間接尋址u 基址尋址u 多寄存器尋址u 棧尋址:遞增堆棧(向上增長)與遞減堆棧(向下增長);滿堆棧(SP指向的是數據)與空堆棧(SP指向的是空位置)。故有四類棧尋址指令。還有兩種不常見的尋址方式:u 多寄存器尋址u 塊拷貝尋址4.嵌入式Linux5.開發學習5.1.ARM9中斷實驗5.1.1.原理S3C2410A具有眾多的中斷源,可以通過設置INTMOD寄存器將他們分為IRQ中斷和FIQ中斷,一般只設置一個中斷源為FIQ中斷。對于多個中斷源,可以通過PRIORITY寄存器設置中斷的優先級,使用默認優先級0即可。INTMSK可以使某個中斷源的中斷允許,有些中斷源還需要設置SUBMASK寄存器使能。EINT4EINT23所在的中斷控制器不是獨立的中斷源(EINT4EINT7共用一個中斷源,EINT8EINT23共用另外一個中斷源),還需要設置EINTMASK寄

溫馨提示

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

評論

0/150

提交評論