91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ARM7和ARM-Cortex的區(qū)別,ARM為什么會有兩種啟動方式?

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-10-27 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ARM為什么會有兩種啟動方式?ARM7和ARM-Cortex區(qū)別在哪?快速中斷和中斷是怎么回事?

ARM的兩種啟動方式 (NAND FLASH. NOR FLASH)為什么會有兩種啟動方式?

這主要是由兩種FLASH 的不同特點決定的。

NAND FLASH 容量大,存儲的單位比特數據的成本要低很多,但是要按照特定的時序對NAND FLASH 進行讀寫,因此CPU 無法對NAND FLASH 的數據進行直接尋址,CPU 對NAND FLASH 中數據的讀寫是通過專門的 nand flash控制器進行的,因此 NAND FLASH 更適合于存儲數據。

NOR FLASH 容量小,速度快,對NOR FLASH 進行讀寫時,輸入地址,然后給出讀寫信號即可從數據總線上得到數據,但是價格要比NAND FLASH 高因此適合做程序存儲器。

綜上所述,NOR FLASH 可以直接連接到arm 的總線上,但是DAND FLASH 需要通過NAND FLASH 控制器與S3S2440相連接。

ARM7和ARM-Cortex的區(qū)別

ARM7:ARMv4架構,ARM9:ARMv5架構,ARM11:ARMv6架構,ARM-Cortex 系列:ARMv7架構。

ARM7沒有MMU(內存管理單元),只能叫做MCU(微控制器),不能運行諸如Linux、WinCE等這些現(xiàn)代的多用戶多進程操作系統(tǒng),因為運行這些系統(tǒng)需要MMU,才能給每個用戶進程分配進程自己獨立的地址空間。ucOS、ucLinux這些精簡實時的RTOS不需要MMU,當然可以在ARM7上運行。

ARM9、ARM11,是嵌入式CPU(處理器),帶有MMU,可以運行諸如Linux等多用戶多進程的操作系統(tǒng),應用場合也不同于ARM7。

到了ARMv7架構的時候開始以Cortex來命名,并分成Cortex-A、Cortex-R、Cortex-M三個系列。三大系列分工明確:“A”系列面向尖端的基于虛擬內存的操作系統(tǒng)和用戶應用;“R”系列針對實時系統(tǒng);“M”系列對微控制器。簡單的說Cortex-A系列是用于移動領域的CPU,Cortex-R和Cortex-M系列是用于實時控制領域的MCU。

所以看上去ARM7跟Cortex-M很像,因為他們都是MCU,但確是不同代不同架構的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列還細分為M0、M3、M4和超低功耗的M0+,用戶依據成本、性能、功耗等因素來選擇芯片。

想必現(xiàn)在肯定知道了ARM7、Cortex-M的區(qū)別,不過小編還是花了點時間整理在此,可以幫助后來的初學者搞明白這些基本的概念性問題。

ARM 之FIQ(快速中斷) IRQ(中斷)

IRQ,F(xiàn)IQ定義: 這就是個普通中斷,當我們程序定義了該中斷,并且在程序運行的時候產生了IRQ中斷,則此時的芯片是這樣運行的------中斷處理器吧利用IRQ請求線來高速ARM,ARM就知道有個IRQ中斷來了,然后ARM切換到IRQ模式運行。類似的如果該中斷設置為FIQ,那么當該中斷產生的時候,中斷處理器通過FIQ請求線告訴ARM,ARM就知道有個FIQ中斷來了,然后切換到FIQ模式運行。

那么問題來啦,為何要有這兩個中斷,或者說為何分成這兩種中斷?原因很簡單,速度不同,F(xiàn)IQ 也就是快速中斷的速度快,那么問題又來了,為何就FIQ速度快???

原因:

1:ARM的FIQ模式提供了更多的banked寄存器,r8到r14還有SPSR,而IRQ模式就沒有那么多,R8,R9,R10,R11,R12對應的banked的寄存器就沒有,這就意味著在ARM的IRQ模式下,中斷處理程序自己要保存R8到R12這幾個寄存器,然后退出中斷處理時程序要恢復這幾個寄存器,而FIQ模式由于這幾個寄存器都有banked寄存器,模式切換時CPU自動保存這些值到banked寄存器,退出FIQ模式時自動恢復,所以這個過程FIQ比IRQ快.不要小看這幾個寄存器,ARM在編譯的時候,如果你FIQ中斷處理程序足夠用這幾個獨立的寄存器來運作,它就不會進行通用寄存器的壓棧,這樣也省了一些時間。

2:FIQ比IRQ有更高優(yōu)先級,如果FIQ和IRQ同時產生,那么FIQ先處理。

3:在symbian系統(tǒng)里,當CPU處于FIQ模式處理FIQ中斷的過程中,預取指令異常,未定義指令異常,軟件中斷全被禁止,所有的中斷被屏蔽。所以FIQ就會很快執(zhí)行,不會被其他異常或者中斷打斷,所以它又比IRQ快了。而IRQ不一樣,當ARM處理IRQ模式處理IRQ中斷時,如果來了一個FIQ中斷請求,那正在執(zhí)行的IRQ中斷處理程序會被搶斷,ARM切換到FIQ模式去執(zhí)行這個FIQ,所以FIQ比IRQ快多了。

4:另外FIQ的入口地址是0x1c,IRQ的入口地址是0x18。寫過完整匯編系統(tǒng)的都比較明白這點的差別,18只能放一條指令,為了不與1C處的FIQ沖突,這個地方只能跳轉,而FIQ不一樣,1C以后沒有任何中斷向量表了,這樣可以直接在1C處放FIQ的中斷處理程序,由于跳轉的范圍限制,至少少了一條跳轉指令。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    135

    文章

    9552

    瀏覽量

    391812
  • 控制器
    +關注

    關注

    114

    文章

    17786

    瀏覽量

    193050
  • 寄存器
    +關注

    關注

    31

    文章

    5608

    瀏覽量

    129951

原文標題:ARM為什么會有兩種啟動方式?ARM7和ARM-Cortex區(qū)別在哪?快速中斷和中斷是怎么回事?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    低成本ARM 32位MCU,開發(fā)人員面臨的兩種選擇

    要使用低成本的 32位微控制器,開發(fā)人員面臨兩種選擇,基于Cortex-M3內核或者ARM7TDMI內核的處理器。如何做出選擇?選擇標準又是什么?本文主要介紹了ARM
    發(fā)表于 05-28 17:11 ?3923次閱讀

    ARMcortex區(qū)別

    弱弱詢問下,ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8的區(qū)別
    發(fā)表于 07-01 23:02

    ARM7、ARM9、ARM11、ARM-Cortex有何關系

    1. ARM7、ARM9、ARM11、ARM-Cortex的關系 ARM7:ARMv4架構,ARM
    發(fā)表于 07-01 07:29

    ARM7、ARM9、ARM11、ARM-Cortex有什么關系?

    ARM7ARM9、ARM11、ARM-Cortex有什么關系?ARM7,ARM9,
    發(fā)表于 07-01 07:50

    ARM7ARM9、ARM11、ARM-Cortex的關系及形象

    ARM7:ARMv4架構,ARM9:ARMv5架構,ARM11:ARMv6架構,ARM-Cortex 系列:ARMv7架構
    發(fā)表于 07-01 07:50

    ARM7/ARM9內核的控制器復位

    相對于ARM上一代的主流ARM7/ARM9內核架構,新一代Cortex內核架構的啟動方式有了比較
    發(fā)表于 08-20 06:32

    ARM7、ARM9、cortex-m3、cortex-m4與cortex-a8的區(qū)別在哪

    ARM7、ARM9、ARM11與ARM-Cortex有何關系?ARM7、ARM9、
    發(fā)表于 10-21 06:27

    請問ARM7/ARM9/ARM11/ARM-Cortex之間是什么關系?

    請問ARM7/ARM9/ARM11/ARM-Cortex之間是什么關系?
    發(fā)表于 10-25 06:15

    ARM7Cortex-M3比較

    比較項目 ARM7 Cortex-M3
    發(fā)表于 06-07 18:03 ?3235次閱讀

    ARM7在嵌入式應用中啟動

    ARM7在嵌入式應用中啟動程序的實現(xiàn),有需要的下來看看。
    發(fā)表于 01-13 17:23 ?11次下載

    ARM9和ARM7的比較及優(yōu)化

    ARM9和ARM7的比較及優(yōu)化
    發(fā)表于 10-31 09:46 ?4次下載
    <b class='flag-5'>ARM</b>9和<b class='flag-5'>ARM7</b>的比較及優(yōu)化

    選擇ARM處理器,ARM7還是Cortex-M3

    要使用低成本的32位處理器,開發(fā)人員面臨兩種選擇,基于Cortex-M3內核或者ARM7TDMI內核的處理器。如何做出選擇?選擇標準又是什么?本文主要介紹了ARM
    發(fā)表于 12-04 14:22 ?964次閱讀

    初學者是選ARM7還是ARM9?uCOS還是Linux?

    本文首先介紹了ARM7、ARM9和uCOS及Linux這四者的概念,其次闡述了ARM7ARM9的區(qū)別,最后介紹了初學者是選
    發(fā)表于 05-25 11:16 ?8160次閱讀

    ARM Cortex-M3內核微控制器與ARM7區(qū)別資料下載

    電子發(fā)燒友網為你提供ARM Cortex-M3內核微控制器與ARM7區(qū)別資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方
    發(fā)表于 04-17 08:45 ?15次下載
    <b class='flag-5'>ARM</b> <b class='flag-5'>Cortex</b>-M3內核微控制器與<b class='flag-5'>ARM7</b>的<b class='flag-5'>區(qū)別</b>資料下載

    STM32與ARM7、ARM9、ARM11

    目錄:一、STM32與ARM的關系1、ARM公司2、意法半導體二、STM32與ARM7、ARM9、ARM11的
    發(fā)表于 11-25 20:36 ?25次下載
    STM32與<b class='flag-5'>ARM7</b>、<b class='flag-5'>ARM</b>9、<b class='flag-5'>ARM</b>11