1. gzyueqian
      13352868059

      ARM嵌入式微處理器-粵嵌教育

      更新時間: 2018-08-23 14:31:17來源: 粵嵌教育瀏覽量:5090

      1、嵌入式系統的處理核心

          嵌入式系統主要分四類:嵌入式微控制器,嵌入式DSP處理器,嵌入式微處理器,嵌入式片上系統。
          嵌入式微控制器(Microcontroller Unit, MCU) :嵌入式微控制器又稱單片機,是將整個計算機系統濃縮集成到一塊芯片中。 一般以某一種微處理器內核為核心,芯片內部集成ROM/EPROM、RAM、總線、總線邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A、Flash、 RAM、EEPROM等各種必要功能和外設。
          嵌入式微處理器(Embedded Microprocessor Unit, EMPU):以通用處理器(CPU)為基礎。將微處理器裝配在專門設計的電路板 上,只保留和嵌入式應用有關的功能。
          嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP):嵌入式DSP處理器有兩個發展來源,一是DSP處理器經過單片化、EMC 改造、增加片上外設成為嵌入式DSP處理器。二是在通用單片機或SOC中增加DSP協處理器。
          嵌入式片上系統(System On Chip):

      2、嵌入式系統處理核心的演化
          晶體管邏輯電路,大規模IC邏輯電路,微處理器,DSP,FPGA技術,SOC

      3、ARM處理器概述
          ARM32位嵌人式RISC(Reduced Instruction Set Computer)處理器擴展到世界范圍,占據了低功耗、低成本和高性能的嵌入式系統 應用領域的地位。
          ARM處理器的3大特點如下:小體積、低功耗、成本低、高性能;16位/32位雙指令集;全球眾多的合作伙伴。
          當前ARM體系結構的擴充包括:Thumb:16位指令集,用以改善代碼密度;DSP:用于DSP應用的算術運算指令集;Jazeller:允許直接執行Java代碼的擴充。
          ARM體系結構提供了在無線、消費電子和圖像應用方面的解決方案。

      4、ARM體系主要特征
          ARM體系主要特征是Advanced RISC Machine特征。ARM公司商業模式的強大之處在于其價格合理,全世界范圍有超過100個合作伙伴。ARM公司專注于設計,其內核耗電少、成本低、功能強,特有16/32位雙指令集。ARM已成為移動通信、 手持計算、多媒體數字消費等嵌入式解決方案的RISC標準。
          支持快速中斷,支持函數調用,支持虛擬內存。
          大量的寄存器,都可用于多種用途
          Load/Store體系結構,每條指令都條件執行包含非常強大的多寄存器Load和Store指令
          3地址指令(兩個源操作數寄存器和結果寄存器獨立設定)
          能在單時鐘周期執行的單條指令內完成一項普通的移位操作和一項普通的ALU操作
          能過協處理器指令集來擴展ARM指令集,包括在編程模式下增加了新的寄存器和數據類型。
          在Thumb體系結構中以高密度16位壓縮形式表示指令集
          條件指令

      5、ARM處理器版本
          處理器版本通常指體系結構,ARM產品家族一般對應不同體系。ARM7:ARM系列具有32位整數運算核。
          T:內含16位壓縮指令集Thumb
          D:支持片內Debug調試
          M:采用增強型乘法器(Multiplier)
          I:內含嵌入式ICE宏單元
          ARM系列產品的后綴提供了各種形式與功能的選擇
          -S:可綜合的軟核Softcore,
          -E:具有DSP的功能
          -J:Jazeller,允許直接執行Java字節碼

      6、ARM架構版本
          ARM架構自誕生至今,已經發生了很大的演變,至今已定義7種不同的版本。
          □V1版架構
          該版架構只在原型機ARM1出現過,基本性能有:基本的數據處理指令(無乘法),字節、半字和字的LOAD/STORE指令,轉移指令,包括子程序調用及鏈接指令。軟件中斷指令。尋址空間:64M字節。但是這個版本沒有cache和MMU。
          □V2版架構
          該版架構對V1版進行了擴展,如ARM2與ARM3。增加功能有:乘法和乘加指令,支持協處理器操作指令,快速中斷模式,SWP/SWPB的基本存儲器與寄存器交換指令,尋址空間沒有改變還是64M字節。
          □V3版架構
          把尋址空間增至32位(4G字節),增加了當前程序狀態寄存器CPSR(Current Program Status Register)和程序狀態保存寄存器SPSR(Saved Program Status Register)。增加了中止(Abort)和未定義二種處理器模式。ARM6就采用該版架構。具備cache和MMU。
          □V4版架構
          V4版架構是目前應用廣的ARM體系結構,對V3版架構 進行了進一步擴充。引進了16位的Thumb指令集,使ARM使用更加靈活。ARM7、ARM8、ARM9和StrongARM(為了推XScale,intel 停產了strongarm)都采用該版架構。
          處理器的操作狀態:AARM - 32-bit, 按字排列的ARM指令集;Thumb -16-bit, 按半字排列的Thumb指令集。
          □V5版架構
          在V4版基本上增加了一些新的指令,ARM10和XScale都采用該版架構,這些新增指令有:
          帶有鏈接和交換的轉移BLX指令
          計數前導零CLZ指令
          BRK中斷指令
          增加了信號處理指令(V5TE版)
          為協處理器增加更多可選擇的指令
          □V6版架構
          ARMv6,發布于2001年10月,是目前的架構,形成ARM11系列嵌入式處理器。
          特點:增強的Cache結構,支持實地址Cache和減少Cache的刷新和重載和減少上下文切換的開銷。
           加強媒體處理能力,使MPEG4編碼/解碼/音頻處理加快一倍。
           低功耗:0.13um工藝,1.2v下,ARM11功耗0.4mW/MHz。
           用戶定制能力強,保持了的二進制向下兼容,支持多處理器系統MPCORE(由2-4個ARM11內核組成)。
          □V7版架構
          ARMv7,發布于2005年,是目前的架構。超標量流水線,能夠同時執行多條指令。可調尺寸的L2。支持Thumb-2技術和NEON技術。

      7、ARM的7種工作模式
          用戶模式(usr): - 正常的程序執行模式
          快速中斷模式(fiq): - 支持高速數據傳輸或通道處理
          中斷模式(irq): - 用于通用中斷處理
          管理員模式(svc): - 操作系統的保護模式
          中止模式(abt): - 支持虛擬內存和/或內存保護
          系統模式(sys): - 支持操作系統的特殊用戶模式(運行操作系統任務)
          未定義模式(und) - 支持硬件協處理器的軟件仿真
          除了用戶模式外,其他模式均可視為特權模式。
          改變模式的方法一共有三個:軟件控制,外部中斷和異常處理。
          通常在用戶模式下不能訪問被保護的系統資源,一般不能改變模式,但是異常發生可以導致模式改變。

      8、處理器模式對應寄存器組
          每一種處理器模式中有一組相應的寄存器組
          任意時刻(也就是任意的處理器模式下),可見的寄存器(邏輯寄存器編號)包括:15個通用寄存器(R0~R14),一個或兩個狀態寄存器和程序計數器(PC)。
          有些是各模式共用的同一個物理寄存器,有些是各模式自己擁有的獨立的物理寄存器。

      9、寄存器分配:通用寄存器
          R0-R15:可以直接訪問,R0-R14:通用寄存器。
          R13:堆棧指針(sp)通常每種處理器模式都有單獨的堆棧,每個寄存器對應6個不同的物理寄存器
          R14:鏈接寄存器(Link Register,LR)R15的備份,子程序的返回地址,異常返回地址。
              不需要存放在堆棧中,函數調用速度快,每個寄存器對應6個不同的物理寄存器。
          R15:程序計數器(PC)
          R16,就是CPSR(狀態寄存器)。當前程序狀態寄存器,包括代碼標志狀態和當前模式位。
          這些寄存器的功能是:包括關于近執行的ALU操作的信息,控制中斷的使用和禁止,設置處理器操作模式。
          Thumb狀態下的寄存器組織和ARM狀態下大致相同,T狀態下寄存器集是ARM狀態下的子集。

      10、ARM異常中斷
          由內部、外部引起的事件。一共有7種異常。
          復位,進入管理模式
          未定義指令:未定義模式
          軟件中斷(SWI):管理模式
          預取中止:中止模式
          數據中止:中止模式
          IRQ:IRQ模式
          FIQ:FIQ模式

      11、未定義的指令處理
          當ARM接受到一條不能處理的指令,ARM把這條指令提供給任何一個協處理器執行。如果協處理器可以執行這條指令但此時協處理器忙,ARM將等待直到協處理器準備好或中斷發生。如果沒有協處理器處理這條指令,那么ARM將處理未定義的指令陷井。

      12、異常中斷向量表和中斷優先級
        中斷向量地址 異常中斷類型 異常中斷模式 優先級(6)
        0x00 復位 特權模式 1 
        0x04 未定義的指令 UND終止模式 6 
        0x08 軟件中斷 特權模式 6 
        0x0C 指令預取終止 終止模式 5 
        0x10 數據訪問終止 終止模式 2 
        0x14 保留 未使用 未使用 
        0x18 外部中斷請求 IRQ模式 4 
        0x1C 快速中斷請求 FIQ模式 3

      13、用戶模式到FIQ快速中斷模式切換
          將一個從用戶模式計算的PC計數器值存儲到FIQ模式中R14的位置。
          用戶模式的CPSR復制到FIQ模式的SPSR。
          異常返回由鏈接寄存器LR的值恢復PC,返回到發生異常中斷的指令的下一條指令處執行程序。將SPSR復制回CPSR中。若在進入異常處理時設置了中斷禁止位,要在此清除。
          復位系統后,開始整個異常應用程序的執行,因此,復位異常處理程序不需要返回。

      14、什么是JTAG?
          JTAG是Joint Test Action Group的縮寫。JTAG的建立使得集成電路固定在PCB上,只通過邊界掃描便可以被測試。在ARM7TDMI處理器中,可以通過JTAG直接控制ARM的內部總線,IO口等信息,從而達到調試的目的。

      15、ARM的斷點設置
          設置EmbeddedICE的兩個watchpoint單元:地址、數據、控制信號等
          斷點的類型:硬件斷點:在ARM中直接設定watchpoint中的地址,當ARM運行到制定的地址時,就進入Debug狀態。硬件斷點數目受EmbeddedICE中的Watchpoint數目的限制;但是,可以在任何地方設置斷點。
           軟件斷點:改變存儲器中的ARM指令為一個特殊的數據X(ARM的未定義指令),同時設置watchpoint中的斷點數據也為X,當ARM把X數據作為指令讀入的時候,ARM就進入Debug狀態。軟件斷點數目不受限制,但是,軟件斷點是通過替換系統的斷點地址的指令實現的,所以,軟件斷點只能在可寫的存儲器的地址中設置(比如:RAM),而不能在ROM(比如:Flash)中設置。

      16、ARM指令集
          數據處理指令,跳轉指令,內存指令,程序狀態寄存器處理指令,協處理器指令,異常產生指令。ARM指令集是32位長度字對準,可以傳送8bit,16bit,32bit符號/無符號數據。Thumb指令集和ARM指令沒有太大的區別。ARM條件指令是只要滿足條件,這條指令就可以執行。

      17、ARM匯編程序設計
        硬件與軟件考慮平衡。涉及硬件和時間的盡量用匯編。在調用與存儲器I/O等硬件相關的函數時,要作相應的裁減。要針對每一個具體的目標平臺,根據具體的目標存儲器資源進行修改(移植)。
        ARM混合編程:ATPCS(ARM-Thumb Procedure Call Standard);統一定義了函數過程調用標準。
          變量定義與邊界對齊:要盡量考慮到16位32位訪問對齊。
        定義1:
        char a;
        short b;
        char c;
        int d;
       
        定義2:
        char a;
        char c;
        short b;
        int d;

      18、嵌入式處理器
        處理器的兩個基本單元是:程序流控制單元(CU)和執行單元(EU),CU中包含了一個取指單元,用于從存儲器中取指令,EU中含有執行指令的電路,用于數據轉移操作以及數據從一種形式到另一種形式的轉換操作。
      粵嵌科技13年專注IT人才培訓學習的專業機構,主要培訓課程為,嵌入式培訓、Unity游戲開發、Java培訓Python人工智能、HTML5前端開發、全棧UI設計、網絡營銷、CCIE網絡等專業課程

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 午夜亚洲精品中文字幕 | 在线观看免费人成视频在线 | 五月婷婷中文激情 | 视频在线色久火热精 | 亚洲精品日韩综合观看成人91 | 日韩高清亚洲日韩精品一区二区三区 |