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

📄 init.s

📁 RTOS系统
💻 S
字号:
        AREA    Init, CODE, READONLY
Mode_IRQ        EQU     0x12
Mode_SVC        EQU     0x13
I_Bit           EQU     0x80 ; when I bit is set, IRQ is disabled
F_Bit           EQU     0x40 ; when F bit is set, FIQ is disabled

SVC_STACK_OFFSIDE EQU    1024

        EXPORT  Reset_Handler
        EXPORT  IRQ_Handler

Reset_Handler
        IMPORT  top_of_stacks      ; defined in stack.s and located by scatter file
        LDR     r0, =top_of_stacks 
 
        MSR     CPSR_c, #Mode_SVC:OR:I_Bit:OR:F_Bit ; No interrupts
        SUB     sp, r0, #SVC_STACK_OFFSIDE


        IMPORT  __main

        B       __main   ; note use B not BL, because an application will never return this way
		IMPORT IRQ_Handler2
IRQ_Handler
		SUB LR,LR,#4
		STR LR,BACKUP1
		MRS LR,SPSR
		STR LR,BACKUP2
		MSR     CPSR_c, #Mode_SVC:OR:I_Bit:OR:F_Bit ; No interrupts
		STR LR,BACKUP3
		LDR LR,BACKUP1
		STMFD SP!,{LR}
		LDR LR,BACKUP3
		STMFD SP!,{R0-R12,LR}
		LDR LR,BACKUP2
		STMFD SP!,{LR}
		MOV R0,SP
		MSR     CPSR_c, #Mode_IRQ:OR:I_Bit:OR:F_Bit ; No interrupts
		LDR sp,=top_of_stacks
		B IRQ_Handler2
		
BACKUP1		DCD	0
BACKUP2 	DCD 0
BACKUP3     DCD 0
        END

⌨️ 快捷键说明

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