?? irq.s
字號:
;/****************************************Copyright (c)**************************************************
;** 廣州周立功單片機(jī)發(fā)展有限公司
;** 研 究 所
;** 產(chǎn)品一部
;**
;** http://www.zlgmcu.com
;**
;**--------------文件信息--------------------------------------------------------------------------------
;**文 件 名: IRQ.s
;**創(chuàng) 建 人: 陳明計(jì)
;**最后修改日期: 2004年2月2日
;**描 述: 允許中斷嵌套時的IRQ句柄
;** 每個工程應(yīng)當(dāng)有獨(dú)立的這個文件的拷貝,并進(jìn)行相應(yīng)的修改
;**--------------歷史版本信息----------------------------------------------------------------------------
;** 創(chuàng)建人: 陳明計(jì)
;** 版 本: v1.0
;** 日 期: 2004年2月2日
;** 描 述: 原始版本
;**
;**------------------------------------------------------------------------------------------------------
;** 修改人:
;** 版 本:
;** 日 期:
;** 描 述:
;**
;**--------------當(dāng)前版本修訂------------------------------------------------------------------------------
;** 修改人:
;** 日 期:
;** 描 述:
;**
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
NoInt EQU 0x80
USR32Mode EQU 0x10
SVC32Mode EQU 0x13
SYS32Mode EQU 0x1f
IRQ32Mode EQU 0x12
FIQ32Mode EQU 0x11
CODE32
AREA IRQ,CODE,READONLY
MACRO
$IRQ_Label HANDLER $IRQ_Exception_Function
EXPORT $IRQ_Label ; 輸出的標(biāo)號
IMPORT $IRQ_Exception_Function ; 引用的外部標(biāo)號
$IRQ_Label
SUB LR, LR, #4 ; 計(jì)算返回地址
STMFD SP!, {R0-R3, R12, LR} ; 保存任務(wù)環(huán)境
MRS R3, SPSR ; 保存狀態(tài)
STMFD SP!, {R3}
STMFD SP, {LR}^ ; 保存用戶狀態(tài)的SP,注意不能回寫
; 如果回寫的是用戶的SP,所以后面要調(diào)整SP
SUB SP, SP, #4
MSR CPSR_c, #(NoInt | SYS32Mode) ; 切換到系統(tǒng)模式
BL $IRQ_Exception_Function ; 調(diào)用c語言的中斷處理程序
MSR CPSR_c, #(NoInt | IRQ32Mode) ; 切換回irq模式
LDMFD SP, {LR}^ ; 恢復(fù)用戶狀態(tài)的SP,注意不能回寫
; 如果回寫的是用戶的SP,所以后面要調(diào)整SP
ADD SP, SP, #4 ;
LDMFD SP!, {R3}
MSR SPSR_cxsf, R3
LDMFD SP!, {R0-R3, R12, PC}^ ;
MEND
;/* 以下添加中斷句柄,用戶根據(jù)實(shí)際情況改變 */
;Timer0_Handler HANDLER Timer0
END
;/*********************************************************************************************************
;** End Of File
;********************************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -