<th id="ik4gr"><pre id="ik4gr"></pre></th>
<rp id="ik4gr"></rp>
    <dd id="ik4gr"></dd>

  1. <rp id="ik4gr"><object id="ik4gr"><blockquote id="ik4gr"></blockquote></object></rp>
      <rp id="ik4gr"></rp>
        <button id="ik4gr"><acronym id="ik4gr"></acronym></button>
      1. <rp id="ik4gr"><object id="ik4gr"><input id="ik4gr"></input></object></rp>
        1. 杭州嵌入式培訓
          達內杭州嵌入式培訓中心

          13175137725

          嵌入式ARM處理器體系

          • 時間:2018-03-27 17:36
          • 發布:杭州嵌入式培訓
          • 來源:疑難解答

          一、工作狀態

          1、ARM狀態

          此時ARM處理器工作于32位指令狀態,所有指令均為32位寬度。

          2、Thumb狀態

          此時ARM處理器工作于16位指令狀態,所有指令均為16位寬度。代碼密度大,占用的內存空間小。

          對于特殊情況下必須執行ARM狀態,如異常處理時,需將Thumb狀態切換至ARM狀態。

          對于具有Thumb-2指令集的處理器,Thumb-2就是其Thumb狀態。

          3、調試狀態

          補充:

          1)Cortex-M僅支持Thumb-2指令集,不支持32位ARM指令集。

          2)除Cortex-M處理器之外,其他ARM處理器復位后開始執行代碼時總是處于ARM狀態

          3)對于具有ARM狀態與Thumb狀態的處理器,狀態的切換依賴于指令BX(BLX) Rn,寄存器Rn的最低位控制CPSR(當前狀態控制寄存器)的T位,當Rn[0]=0,執行指令BXRn后,CPSR中的T位自動被清零,修改當前狀態置于ARM狀態。當Rn[0]=1,修改當前狀態置于Thumb狀態

          4)ARM、Thumb、Thumb-2狀態簡單比較

          二、寄存器組織

          不同的cortex處理器型號有著不同的寄存器組織,若依據工作狀態劃分可劃分為ARM狀態下的寄存器組織、Thumb狀態下的寄存器組織、Thumb-2狀態下的寄存器組織。

          下圖為ARM狀態下的寄存器組織,以cortex-M4為例

          下圖為Thumb-2狀態下的寄存器組織,以cortex-M4為例

          三、異常類型

          Cortex-M4定義了以下異常類型:復位、NMI(不可屏蔽中斷請求)、HardFault(異常響應錯誤)、MemManage(存儲器管理)、BusFault、UsageFault、SVC、PendSV、SysTick(滴答計時)、IRQ(外部中斷請求),如圖為其詳細信息

          其中斷向量表如圖

          四、存儲器格式

          在ARM中,定義32位為字數據,16位為半字數據,8位為字節數據,帶FPU的處理器還支持浮點數據。作為32位處理器,cotex-M所支持的最大尋址空間為4GB(2的32次方B)

          從圖中可以看到,與Intel x86 I/O端口的獨立編址不同,ARM采用存儲器映像編址方式,對I/O端口等外設采用統一編址。

          獨立編址的優缺點:采用獨立的I/O指令,系統運行速度快,且不占用存儲器內存空間。但,由于采用獨立的I/O指令,程序設計的靈活性差。

          存儲器映象編址的優缺點:I/O端口與存儲器統一編址,存儲器指令同樣適用于I/O端口,可對I/O端口作眾多復雜性操作,程序的靈活性好。但,由于I/O端口占用了內存空間,使得內存空間減少。

          ARM有兩種存儲數據字的格式:大端模式(Big-Endian)、小端模式(Little-Endian)。

          1)大端模式

          在這種模式下,32位數據字以字節為最小單位劃分,高字節存放在低地址中,低字節存放在高地址中。

          2)小端模式

          在這種模式下,32位數據字以字節為最小單位劃分,低字節存放在低地址中,高字節存放在高地址中。

          可通過AIRCR寄存器(ApplicationInterrupt and Reset Control Register)的第15位來設定。ENDIANNESS=0時,小端模式;ENDIANNESS=1時,大端模式。

          最后,簡單談一下微處理器經常使用的兩種技術:MMU存儲器管理單元)和MPU(存儲器保護單元)。MMU部件能把系統中不同類型的存儲器(SRAM、Flash、SDRAM、ROM等)進行統一管理,通過地址映射,使需要運行在連續地址空間的軟件可運行在不連續的物理存儲器中,需要較大存儲空間的軟件可運行在較小容量的物理存儲器中,此即虛擬存儲器技術。MMU完成了虛擬地址到物理地址的映射。

          預約申請免費試聽課

          怕錢不夠?就業掙錢后再付學費!    怕學不會?從入學起,達內定制課程!     擔心就業?達內多家實踐企業供你挑選!

          上一篇:解決嵌入式視覺系統
          下一篇:微軟面向物聯網的定制
          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          江西省

          貴州省

          廣西省

          海南省

          香蕉视频在线一级a做爰片免费观看视频 欧美成年性色生活片 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>