基于ARM7的开发板的存储器重映射驱动程序
源代码在线查看: main.s
;******************************************************************************
; 文 件 名:main.S
; 功 能:将存储器重映射到片内RAM(0x40000000~0x4000003F)
; 说 明:更改0x40000000~0x4000003F的内容。观察0x00000000~0x0000003F地址上的
; 数据有何变化。
;******************************************************************************
MEMMAP EQU 0xE01FC040
EXPORT MAIN
IMPORT Reset
CODE32
AREA MainCode,CODE,READONLY
MAIN NOP
; REMAP操作
REMAPS MOV R0,#0x40000000 ; 复制中断向量代码
LDR R1,=Reset
LDMIA R1!,{R2-R9}
STMIA R0!,{R2-R9}
LDMIA R1!,{R2-R9}
STMIA R0!,{R2-R9}
LDR R0,=MEMMAP ; REMAP操作
MOV R1,#0x02
STR R1,[R0]
; 修改中断向量
LDR R0,=0x40000028 ; 修改SWI中断向量,使其指向HALT
LDR R1,=HALT
STR R1,[R0]
; 运行SWI中断
SWI 0x123456
LOOP B LOOP
HALT NOP
B HALT
END