在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-10-27 11:20 ? 次閱讀

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

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的區別

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

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

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

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

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

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

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

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

那么問題來啦,為何要有這兩個中斷,或者說為何分成這兩種中斷?原因很簡單,速度不同,FIQ 也就是快速中斷的速度快,那么問題又來了,為何就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有更高優先級,如果FIQ和IRQ同時產生,那么FIQ先處理。

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

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

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

    關注

    134

    文章

    9265

    瀏覽量

    373224
  • 控制器
    +關注

    關注

    114

    文章

    16821

    瀏覽量

    182136
  • 寄存器
    +關注

    關注

    31

    文章

    5397

    瀏覽量

    122661

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    ARMcortex區別

    弱弱詢問下,ARM7ARM9,cortex-m3,cortex-m4,cortex-a8的區別
    發表于 07-01 23:02

    ARM7ARM9、ARM11、ARM-Cortex有何關系

    1. ARM7ARM9、ARM11、ARM-Cortex的關系 ARM7:ARMv4架構,ARM
    發表于 07-01 07:29

    ARM7ARM9、ARM11、ARM-Cortex有什么關系?

    ARM7ARM9、ARM11、ARM-Cortex有什么關系?ARM7ARM9,
    發表于 07-01 07:50

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

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

    ARM7/ARM9內核的控制器復位

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

    ARM7ARM9、cortex-m3、cortex-m4與cortex-a8的區別在哪

    ARM7ARM9、ARM11與ARM-Cortex有何關系?ARM7ARM9、
    發表于 10-21 06:27

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

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

    ARM7Cortex-M3比較

    比較項目 ARM7 Cortex-M3
    發表于 06-07 18:03 ?2918次閱讀

    ARM7在嵌入式應用中啟動

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

    ARM9和ARM7的比較及優化

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

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

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

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

    本文首先介紹了ARM7ARM9和uCOS及Linux這四者的概念,其次闡述了ARM7ARM9的區別,最后介紹了初學者是選
    發表于 05-25 11:16 ?7807次閱讀

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

    電子發燒友網為你提供ARM Cortex-M3內核微控制器與ARM7區別資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方
    發表于 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'>區別</b>資料下載

    STM32與ARM7ARM9、ARM11

    目錄:一、STM32與ARM的關系1、ARM公司2、意法半導體二、STM32與ARM7ARM9、ARM11的
    發表于 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
    主站蜘蛛池模板: 亚洲人成77777在线观看网 | 午夜日韩视频 | 爱爱天堂| 视频一区 日韩 | 在线观看视频在线观看 | 大蕉久久伊人中文字幕 | 在线激情网址 | 中文字字幕码一二区 | 一色桃子juy774在线播放 | 天堂在线bt | 哪个网站可以看av | 91拍拍在线观看 | 久久看精品 | 综合五月婷婷 | 手机看片国产高清 | a一级黄| 日本在线观看www | 午夜影院性 | 蜜色网 | 国产四虎 | 亚洲天堂免费在线 | 边摸边吃奶边做视频叫床韩剧 | 亚洲精品在线视频 | 免费黄色一级 | 男人天堂色男人 | 在线免费公开视频 | bt天堂在线最新版www | www.久久精品视频 | 国产农村妇女毛片精品久久 | 2020狠狠操 | 4444狠狠 | 久久综合欧美 | 成人在线观看网站 | 久久国产乱子伦精品免费看 | 激情综合五月网 | 欧美性久久 | 免费视频一区二区性色 | 午夜精品影院 | 97大香伊在人人线色 | 激情四月婷婷 | 日本理论午夜中文字幕第一页 |