⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2410init_005.s

📁 ADS下关于2410的调试程序 启动部分由汇编完成 调试部分由c完成
💻 S
字号:
;=========================================
; NAME: 2410init_001.s
; DESC: 只有一个汇编写成的初始化程序
;=========================================

	GET option.s
	GET memcfg.s
	GET 2410addr.s

BIT_SELFREFRESH EQU	(1<<22)

;CPSR中决定当前CPU工作模式的末尾5位代码
USERMODE    EQU 	0x10
FIQMODE     EQU 	0x11
IRQMODE     EQU 	0x12
SVCMODE     EQU 	0x13
ABORTMODE   EQU 	0x17
UNDEFMODE   EQU 	0x1b
MODEMASK    EQU 	0x1f
NOINT       EQU 	0xc0

;设置不同模式下对应的堆栈区间
UserStack	EQU	(_STACK_BASEADDRESS-0x3800)	    ;0x33ff4800 ~ 
SVCStack    EQU	(_STACK_BASEADDRESS-0x2800) 	;0x33ff5800 ~
UndefStack	EQU	(_STACK_BASEADDRESS-0x2400) 	;0x33ff5c00 ~
AbortStack	EQU	(_STACK_BASEADDRESS-0x2000) 	;0x33ff6000 ~
IRQStack    EQU	(_STACK_BASEADDRESS-0x1000)	    ;0x33ff7000 ~
FIQStack	EQU	(_STACK_BASEADDRESS-0x0)	    ;0x33ff8000 ~ 

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Check if tasm.exe(armasm -16 ...@ADS 1.0) is used.
	GBLL    THUMBCODE
	[ {CONFIG} = 16 
THUMBCODE SETL  {TRUE}
	    CODE32
    	|   
THUMBCODE SETL  {FALSE}
    	]

    	MACRO
	MOV_PC_LR
    	[ THUMBCODE
            bx lr
    	|
            mov	pc,lr
    	]
	MEND

    	MACRO
	MOVEQ_PC_LR
    	[ THUMBCODE
    	    bxeq lr
    	|
            moveq pc,lr
    	]
	MEND
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    	
	MACRO
$HandlerLabel HANDLER $HandleLabel

$HandlerLabel
	sub	sp,sp,#4              ;先把sp向下挪一个字节,为PC预留
	stmfd	sp!,{r0}          ;r0压入栈,保护
	ldr     r0,=$HandleLabel  ;取中断处理函数的指针 即:handlelabel标号所在的地址

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -