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

📄 init.s

📁 ARM920T SamsungS3C2410平台下 LED测试程序 通过烧入Flash来执行引导程序
💻 S
字号:
;/*************************************************************************/
;/*                                                                       */
;/* FILE NAME                                            VERSION          */
;/*                                                                       */
;/*      init.s                              SNDS100 Board version 1.0    */
;/*                                                                       */
;/* COMPONENT                                                             */
;/*                                                                       */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*      This file contains the target processor dependent initialization */
;/*      routines (boot code) and data.                                   */
;/*                                                                       */
;/* AUTHOR                                                                */
;/*                                                                       */
;/*                                                                       */
;/* DATA STRUCTURES                                                       */
;/*                                                                       */
;/*                                                                       */
;/* FUNCTIONS                                                             */
;/*                                                                       */
;/*                                                                       */
;/* DEPENDENCIES                                                          */
;/*                                                                       */
;/*      snds.a                              System constants             */
;/*                                                                       */
;/* HISTORY                                                               */
;/*  */
;/*                                                                       */
;/*************************************************************************/

	GET snds.inc



	AREA    Init, CODE, READONLY

; --- Define entry point
        EXPORT  __main  ; defined to ensure that C runtime system
		                ; is not linked in
__main
	
	ENTRY
	
; --- Lock out interrupt	
	MRS		R0, CPSR
	BIC		R0, R0, #MODE_MASK
	ORR		R0, R0, #SUP_MODE		
	ORR		R0, R0, #LOCKOUT
	MSR		CPSR_cxsf, R0

    LDR     PC, =Reset_Handler
 

	AREA Main, CODE, READONLY

;==========================================================
; The Reset Entry Point
;==========================================================


Reset_Handler                           ;/* Reset Entry Point */

	LDR	r1, =IntMask
	LDR	r0, =0xFFFFFFFF
	STR	r0, [r1]


   
	;=====================================
	; Initialise STACK 
	;=====================================
INITIALIZE_STACK
	MRS	r0, cpsr
	BIC	r0, r0, #LOCKOUT | MODE_MASK
	ORR	r2, r0, #USR_MODE	

	ORR	r1, r0, #LOCKOUT | FIQ_MODE
	MSR	cpsr_cf, r1
	MSR	spsr_cf, r2 
	LDR	sp, =FIQ_STACK

	ORR	r1, r0, #LOCKOUT | IRQ_MODE
	MSR	cpsr_cf, r1
	MSR	spsr_cf, r2
	LDR	sp, =IRQ_STACK

	ORR	r1, r0, #LOCKOUT | ABT_MODE
	MSR	cpsr_cf, r1
	MSR	spsr_cf, r2
	LDR	sp, =ABT_STACK

	ORR	r1, r0, #LOCKOUT | UDF_MODE
	MSR	cpsr_cf, r1
	MSR	spsr_cf, r2
	LDR	sp, =UDF_STACK

	ORR	r1, r0, #LOCKOUT | SUP_MODE
	MSR	cpsr_cf, r1
	MSR	spsr_cf, r2
	LDR	sp, =SUP_STACK   ; Change CPSR to SVC mode

	;===========================
	; Now we enter the C Program
	;===========================
    IMPORT  main
    BL      main


	AREA ROMDATA, DATA, READONLY

;/***************************************************/
	AREA SYS_STACK, NOINIT
;/***************************************************/
                %       USR_STACK_SIZE
USR_STACK
                %       UDF_STACK_SIZE
UDF_STACK
                %       ABT_STACK_SIZE
ABT_STACK
                %       IRQ_STACK_SIZE
IRQ_STACK
                %       FIQ_STACK_SIZE
FIQ_STACK
                %       SUP_STACK_SIZE
SUP_STACK

;/***************************************************/
	END

⌨️ 快捷键说明

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