• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Cortex―M3的異常處理機制研究

    Cortex―M3的異常處理機制研究

    作者: 時間:2009-02-26 來源:網絡 收藏

    2.2 的返回
    -返回的操作如圖3所示。當從中返回時,器可能會處于以下情況之一:
    ◆尾鏈到一個已掛起的異常,該異常比棧中所有異常的優先級都高;
    ◆如果沒有掛起的異常,或是棧中最高優先級的異常比掛起的最高優先級異常具有更高的優先級,則返回到最近一個已壓棧的ISR;
    ◆如果沒有異常已經掛起或位于棧中,則返回到Tread模式。
    為了應對異常返回階段可能遇到的新的更高優先級異常,支持完全基于硬件的尾鏈,簡化了激活的和未決的異常之問的移動,能夠在兩個異常之間沒有多余的狀態保存和恢復指令的情況下實現back―to―back。尾鏈發生的2個條件:異常返回時產生了新的異常;掛起的異常的優先級比所有被壓棧的異常的優先級都高。
    尾鏈發生后,過程如圖3中尾鏈分支所示。這時,Cortex―M3處理器終止正在進行的出棧操作并跳過新異常進入時的壓棧操作,同時通過Ibus立即取出掛起異常的向量。在退出前一個ISR返回操作6個周期后,開始執行尾鏈的ISR。


    3 Cortex―M3和ARM7中斷控制器比較
    在過去的十年中,基于ARMv4的ARM7系列廣泛應用在各個領域。在ARM7系列中,并沒有對中斷進行獨立的服務,而是通過犧牲處理器一定的性能來換取有效的中斷響應和中斷處理。Cortex―M3高度耦合的NVIC可以實現硬件中斷處理,同時支持遲到和尾鏈,加快了異常響應的速度,充分發揮了處理器的性能。圖4為Corex―M3和ARM7在中斷控制器結構方面的差異。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 左云县| 英超| 余姚市| 云南省| 筠连县| 五台县| 鄱阳县| 余江县| 黔西县| 犍为县| 福建省| 大厂| 永顺县| 通榆县| 舟曲县| 灌云县| 时尚| 若尔盖县| 孟州市| 曲水县| 日土县| 阳原县| 沙湾县| 资阳市| 长岛县| 新昌县| 南郑县| 新宁县| 徐闻县| 井研县| 鞍山市| 汕头市| 合肥市| 遵义县| 正镶白旗| 肥西县| 东乌珠穆沁旗| 汽车| 榕江县| 兴文县| 鄱阳县|