新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM異常處理程序

        ARM異常處理程序

        作者: 時間:2016-11-21 來源:網絡 收藏
        實驗目的:
        掌握ARM異常處理過程。
        理解SWI程序的結構。
        掌握從應用程序中調用SWI異常的方法。

        實驗一:使用SWI異常設計字符串輸出程序
        本實驗利用SWI異常輸出字符串“hello world!”,采用ARMualtor方式調試,選用ARM7作為目標處理器。
        序號執行指令指令執行后的變化情況
        寄存器存儲空間
        R0R1R2R3SPLRPC0xB0000xCFFC0xCFF80xCFF40xCFF00xCFEC
        0----
        1
        2
        3
        4
        5


        SYS_WRITEC EQU &3

        AREA STR_OUT,CODE,READONLY
        ENTRY
        START
        MOV SP,#0xD000
        MOV R1,#0xB000
        ADR R2,TEXT
        BL STROUT
        MOV R0,#0x18
        LDR R1,=0x20026
        SWI 0x123456 ;semihost 軟中斷調用

        STROUT
        STMFD SP!,{R0-R3,LR}
        CHROUT
        LDRB R3,[R2],#1
        CMP R3,#0
        STR R3,[R1]
        MOV R0,#SYS_WRITEC
        SWINE 0x123456
        BNE CHROUT
        LDMFD SP!,{R0-R3,PC}

        LTORG
        TEXT DCB "Hello World!",0x0a,0x0d,0x0
        END





        實驗二:設計SWI異常處理程序(ARM9)
        本實驗設計的SWI異常處理程序分為兩級:第一級SWI異常處理程序獲得SWI的功能號,由匯編程序實現;第二級SWI異常處理程序完成具體的SWI異常操作,由c程序實現。
        閱讀程序,畫出程序間調用的結構圖。(11.4)


        關鍵詞: ARM異常處理程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 信阳市| 卫辉市| 鄯善县| 永寿县| 东乌珠穆沁旗| 南华县| 阿勒泰市| 岱山县| 通山县| 林芝县| 敦化市| 普安县| 香港| 东阳市| 宜黄县| 鸡西市| 含山县| 句容市| 南平市| 闽清县| 根河市| 错那县| 无棣县| 漾濞| 通许县| 娱乐| 霞浦县| 金昌市| 松原市| 蓝田县| 讷河市| 罗田县| 武功县| 武邑县| 章丘市| 江陵县| 仙桃市| 鱼台县| 青神县| 班戈县| 马尔康县|