?? boot_a.s
字號:
;/****************************************Copyright (c)**************************************************
;** Guangzou ZLG-MCU Development Co.,LTD.
;** graduate school
;** http://www.zlgmcu.com
;**
;**--------------File Info-------------------------------------------------------------------------------
;** File name: Boot_a.s
;** Last modified Date: 2005-02-24
;** Last Version: 1.0
;** Descriptions: zlg/boot v1.0(change all regs but not spsr)
;**
;**------------------------------------------------------------------------------------------------------
;** Created by: Chenmingji
;** Created date: 2005-02-24
;** Version: 1.0
;** Descriptions: The original version
;**
;**------------------------------------------------------------------------------------------------------
;** Modified by:
;** Modified date:
;** Version:
;** Descriptions:
;**
;********************************************************************************************************/
NoInt EQU 0x80
USR32Mode EQU 0x10
FIQ32Mode EQU 0x11
IRQ32Mode EQU 0x12
SVC32Mode EQU 0x13
ABT32Mode EQU 0x17
UND32Mode EQU 0x1b
SYS32Mode EQU 0x1f
;T_bit用于檢測進入異常前cpu是否處于THUMB狀態
T_bit EQU 0x20
;The imported labels
;引入的外部標號在這聲明
IMPORT Regs
;The emported labels
;給外部使用的標號在這聲明
EXPORT Start_Boot
CODE32
AREA Boot_a,CODE,READONLY
ENTRY
;取數據中止
Start_Boot
MSR CPSR_c, #(NoInt | ABT32Mode) ; 切換到取數據中止模式
LDR SP, =Regs
LDMFD SP!, {R3}
MSR SPSR_cxsf, R3
MOV R1, SP
MSR CPSR_c, #(NoInt | SYS32Mode) ; 切換到SYS模式
LDMFD R1!, {SP, LR} ; 恢復UND模式SP, LR
MSR CPSR_c, #(NoInt | UND32Mode) ; 切換到UND模式
LDMFD R1!, {SP, LR} ; 恢復UND模式SP, LR
MSR CPSR_c, #(NoInt | SVC32Mode) ; 切換到SVC模式
LDMFD R1!, {SP, LR} ; 恢復SVC模式SP, LR
MSR CPSR_c, #(NoInt | IRQ32Mode) ; 切換到IRQ模式
LDMFD R1!, {SP, LR} ; 恢復IRQ模式SP, LR
MSR CPSR_c, #(NoInt | FIQ32Mode) ; 切換到FIQ模式
LDMFD R1!, {R8-LR} ; 恢復FIQ模式R8-LR
MSR CPSR_c, #(NoInt | ABT32Mode) ; 切換到取數據中止模式
MOV SP, R1
LDMFD SP, {R0-R15}^
END
;/*********************************************************************************************************
;** End Of File
;********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -