新聞中心

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

ARM異常處理程序

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

實驗一:使用SWI異常設計字符串輸出程序
本實驗利用SWI異常輸出字符串“hello world!”,采用ARMualtor方式調試,選用ARM7作為目標處理器。
序號執(zhí)行指令指令執(zhí)行后的變化情況
寄存器存儲空間
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的功能號,由匯編程序實現(xiàn);第二級SWI異常處理程序完成具體的SWI異常操作,由c程序實現(xiàn)。
閱讀程序,畫出程序間調用的結構圖。(11.4)


關鍵詞: ARM異常處理程

評論


技術專區(qū)

關閉