新闻中心

EEPW首页>嵌入式系统>设计应用> ARM异常处理程序

ARM异常处理程序

作者: 时间:2016-11-21 来源:网络 收藏
实验目的:
掌握ARM异常处理过程。
理解SWI程序的结构。
掌握从应用程序中调用SWI异常的方法。

实验一:使用SWI异常设计字符串输出程序
本实验利用SWI异常输出字符串“hello world!”,采用ARMualtor方式调试,选用ARM7作为目标处理器。
序号 执行指令 指令执行后的变化情况
寄存器 存储空间
R0 R1 R2 R3 SP LR PC 0xB000 0xCFFC 0xCFF8 0xCFF4 0xCFF0 0xCFEC
0 ----
1
2
3
4
5


SYS_WRITECEQU&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
STMFDSP!,{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
TEXTDCB "Hello World!",0x0a,0x0d,0x0
END





实验二:设计SWI异常处理程序(ARM9)
本实验设计的SWI异常处理程序分为两级:第一级SWI异常处理程序获得SWI的功能号,由汇编程序实现;第二级SWI异常处理程序完成具体的SWI异常操作,由c程序实现。
阅读程序,画出程序间调用的结构图。(11.4)


关键词:ARM异常处理程

评论


技术专区

关闭