没有合适的资源?快使用搜索试试~ 我知道了~
ARM_Code.doc
需积分: 9 1 下载量 4 浏览量
2010-04-21
14:28:54
上传
评论
收藏 75KB DOC 举报
温馨提示
试读
13页
ARM_Code.docARM_Code.doc ;VECTOR.s ModeMask EQU 0x1F SVC32Mode EQU 0x13 IRQ32Mode EQU 0x12 FIQ32Mode EQU 0x11 User32Mode EQU 0x10 Abort32Mode EQU 0x17 Undef32Mode EQU 0x1B IRQ_BIT EQU 0x80 FIQ_BIT EQU 0x40
资源推荐
资源详情
资源评论
;VECTOR.s
ModeMask EQU 0x1F
SVC32Mode EQU 0x13
IRQ32Mode EQU 0x12
FIQ32Mode EQU 0x11
User32Mode EQU 0x10
Abort32Mode EQU 0x17
Undef32Mode EQU 0x1B
IRQ_BIT EQU 0x80
FIQ_BIT EQU 0x40
GBLS MainEntry
MainEntry SETS "main"
IMPORT $MainEntry
;**********************************************************
;检查是否使用 tasm.exe 进行编译
GBLL THUMBCODE
[ {CONFIG} = 16
THUMBCODE SETL {TRUE}
CODE32
|
THUMBCODE SETL {FALSE}
]
[ THUMBCODE
CODE32 ;for start-up code for Thumb mode
]
;******************************************************
AREA SelfBoot, CODE, READONLY
IMPORT UDF_INS_VECTOR
IMPORT SWI_SVC_VECTOR
IMPORT INS_ABT_VECTOR
IMPORT DAT_ABT_VECTOR
IMPORT IRQ_SVC_VECTOR
IMPORT FIQ_SVC_VECTOR
ENTRY
IF :DEF: |ads$version|
ELSE
EXPORT __main
__main
ENDIF
ResetEntry
b SYS_RST_HANDLER
b UDF_INS_HANDLER
b SWI_SVC_HANDLER
b INS_ABT_HANDLER
b DAT_ABT_HANDLER
b .
b IRQ_SVC_HANDLER
b FIQ_SVC_HANDLER
;******************************************************
MACRO
$Label HANDLER $Vector
$Label
sub lr, lr, #4
stmfd sp!, {r0-r3, lr}
ldr r0, =$Vector
ldr pc, [r0]
ldmfd sp!, {r0-r3, pc}^
MEND
UDF_INS_HANDLER
stmfd sp!, {r0-r3, lr}
ldr r0, =UDF_INS_VECTOR
mov lr, pc
ldr pc, [r0]
ldmfd sp!, {r0-r3, pc}^
SWI_SVC_HANDLER
stmfd sp!, {r0-r3, lr}
ldr r0, =SWI_SVC_VECTOR
mov lr, pc
ldr pc, [r0]
ldmfd sp!, {r0-r3, pc}^
INS_ABT_HANDLER
sub lr, lr, #4
stmfd sp!, {r0-r3, lr}
ldr r0, =INS_ABT_VECTOR
mov lr, pc
ldr pc, [r0]
ldmfd sp!, {r0-r3, pc}^
DAT_ABT_HANDLER
sub lr, lr, #4
stmfd sp!, {r0-r3, lr}
ldr r0, =DAT_ABT_VECTOR
mov lr, pc
ldr pc, [r0]
ldmfd sp!, {r0-r3, pc}^
IRQ_SVC_HANDLER
sub lr, lr, #4
stmfd sp!, {r0-r12, lr}
mrs r0, spsr
stmfd sp!, {r0}
ldr r0, =IRQ_SVC_VECTOR
ldr pc, [r0]
FIQ_SVC_HANDLER
sub lr, lr, #4
stmfd sp!, {r0-r12, lr}
mrs r0, spsr
stmfd sp!, {r0}
ldr r0, =IRQ_SVC_VECTOR
ldr pc, [r0]
;*******************************************************
SYS_RST_HANDLER
mrs r0, cpsr ;enter svc mode and disable irq,fiq
bic r0, r0, #ModeMask
orr r0, r0, #(SVC32Mode :OR: IRQ_BIT :OR: FIQ_BIT)
msr cpsr_c, r0
IMPORT InitSystem
bl InitSystem
adr r0, ResetEntry
ldr r1, BaseOfROM
cmp r0, r1
ldreq r0, TopOfROM
beq InitRamData
ldr r2, =CopyProcBeg
sub r1, r2, r1
add r0, r0, r1
ldr r3, =CopyProcEnd
0
ldmia r0!, {r4-r7}
剩余12页未读,继续阅读
资源评论
xiaohaiwuacer
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功