新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TQ2440國嵌學院gboot-異常向量表

        TQ2440國嵌學院gboot-異常向量表

        作者: 時間:2016-11-26 來源:網絡 收藏
        國嵌學院TQ2440開發板gboot設計-基本框架設計

        本文引用地址:http://www.104case.com/article/201611/321976.htm

        異常:指中斷,在CPU工作的時候,有突然的事件需要CPU去處理,此時CPU停止正在的工作,去處理突然的事情,待處理完畢后重新返回。

        異常向量:是指異常事件對應的固定地址,CPU通過對應的地址去處理事件。

        在ARM Architecture Reference Manual手冊中,搜索關鍵字Exceptions,找到如下對應的7種異常:

        ARM的7種異常

        1.Reset(復位)

        2.Undefined insrtuction(未定義的命令)

        3.Software interrupt(軟中斷)

        4.Prefetch Abort(預取指令異常)

        5.Data Abort(數據訪問異常)

        6.IRQ(中斷)

        7.FIQ(快速中斷)

        ARM指令解析:

        ①ARM指令B和BL的差異

        B或BL指令引起處理器轉移到“子程序名”處開始執行。兩者的不同之處在于BL指令在轉移到子程序執行之前,將其下一條指令的地址拷貝到R14(LR,鏈接寄存器)。由于BL指令保存了下條指令的地址,因此使用指令“MOV PC ,LR”即可實現子程序的返回。而B指令則無法實現子程序的返回,只能實現單純的跳轉。用戶在編程的時候,可根據具體應用選用合適的子程序調用語句。

        ②ARM指令ldr

        代碼如下:

        .text//宏指明代碼段

        .global _start//global偽指令聲明_start是全局符號

        _start:

        b reset//對應地址0x00000000

        ldr pc,_undefined_interrupt//對應地址0x00000004

        ldr pc,_software_interrupt//對應地址0x00000008

        ldr pc,_prefetch_abort//對應地址0x0000000C

        ldr pc,_data_abort//對應地址0x00000010

        ldr pc,_not_used//對應地址0x00000014

        ldr pc,_irq//對應地址0x00000018

        ldr pc,_fiq//對應地址0x0000001C

        _undefined_interrupt:.word undefined_interrupt

        _software_interrupt:.word software_interrupt

        _prefetch_abort:.word prefetch_abort

        _data_abort:.word data_abort

        _not_used:.word not_used

        _irq:.word irq

        _fiq:.word fiq

        undefined_interrupt:

        nop

        software_interrupt:

        nop

        prefetch_abort:

        nop

        data_abort:

        nop

        not_used:

        nop

        irq:

        nop

        fiq:

        nop
        reset:

        nop



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 桦川县| 长武县| 荣昌县| 定远县| 凌海市| 方城县| 永城市| 霍州市| 新野县| 衡山县| 揭东县| 镇赉县| 安泽县| 济宁市| 仁化县| 新郑市| 监利县| 七台河市| 车致| 赫章县| 鹰潭市| 佳木斯市| 阿克苏市| 宝坻区| 德令哈市| 武穴市| 侯马市| 阳新县| 健康| 象州县| 读书| 奉新县| 仲巴县| 阿拉善右旗| 高雄市| 阿拉善盟| 苍山县| 沙坪坝区| 靖安县| 修文县| 横山县|