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

📄 init.s

📁 本程序为ST公司开发的源代码
💻 S
字号:
;/*************************************************************************/ ;/*                                                                       */ ;/* FILE NAME                                                             */ ;/*                                                                       */ ;/*      init.s                                                           */ ;/*                                                                       */ ;/* VERSION                                                               */ ;/*      1.0                                                              */ ;/*                                                                       */ ;/* COMPONENT                                                             */ ;/*                                                                       */ ;/*      IN - Initialization                                              */ ;/*                                                                       */ ;/* DESCRIPTION                                                           */ ;/*                                                                       */ ;/*      This file contains the initialization code.                      */ ;/*      User selectable defines are also defined here.                   */ ;/*                                                                       */ ;/* DATA STRUCTURES                                                       */ ;/*                                                                       */ ;/*      NONE                                                             */ ;/*                                                                       */ ;/* FUNCTIONS                                                             */ ;/*                                                                       */ ;/*      NONE                                                             */ ;/*                                                                       */ ;/* DEPENDENCIES                                                          */ ;/*                                                                       */ ;/*      NONE                                                             */ ;/*                                                                       */ ;/* HISTORY                                                               */ ;/*                                                                       */ ;/* NAME               DATE          REMARKS                              */ ;/*                                                                       */ ;/* M. De Martino     05.10.27                                           */;/*                                                                       */ ;/*************************************************************************/	PRESERVE8;/*************************************************************************/;/*   INCLUDE FILE AND EXTERNAL INCLUSIONS                                */;/*************************************************************************/	INCLUDE platform_defs.s	IMPORT mymain		IMPORT __main	EXPORT __rt_entry;/*************************************************************************/;/*   DEFINES                                                             */;/*************************************************************************/;/*************************************************************************/;/*   GLOABAL VARIABLE DECLARATIONS                                       */;/*************************************************************************/        AREA INT_DATA, DATA, READWRITE        ;/*************************************************************************/;/*  INTERRUPT TABLES                                                     */;/*************************************************************************/        AREA INT_ZI, BSS, READWRITE;/*************************************************************************/;/*   LOCAL VARIABLE DECLARATIONS                                         */;/*************************************************************************/        AREA INT_CODE, CODE, READONLY        ;// --- ensure no functions that use semihosting SWIs are linked in from the C library        IMPORT	__use_no_semihosting_swi    	IMPORT	init_system        LDR    pc,INT_Initialize_AddrINT_Initialize_Addr     DCD INT_Initialize	 	 ;//-----------------------------------------------;//  HEAP DEFINITION;//-----------------------------------------------    	IMPORT  |Image$$HEAP$$ZI$$Base|    	IMPORT  |Image$$HEAP$$ZI$$Length|		IMPORT  |Image$$HEAP$$ZI$$Limit|HEAP_Base_Ptr			DCD		|Image$$HEAP$$ZI$$Base|HEAP_Limit_Ptr			DCD		|Image$$HEAP$$ZI$$Limit| HEAP_Length				DCD		|Image$$HEAP$$ZI$$Length|    		EXPORT	HEAP_Base_Ptr		EXPORT	HEAP_Limit_Ptr		EXPORT	HEAP_Length;//-----------------------------------------------;//  USR STACK DEFINITION;//-----------------------------------------------		    IMPORT  |Image$$USR_STACK$$ZI$$Base|	    IMPORT  |Image$$USR_STACK$$ZI$$Length|	    IMPORT  |Image$$USR_STACK$$ZI$$Limit|    USR_STACK_Top_Ptr		DCD		|Image$$USR_STACK$$ZI$$Limit|USR_STACK_Limit_Ptr		DCD		|Image$$USR_STACK$$ZI$$Base|    USR_STACK_Length		DCD		|Image$$USR_STACK$$ZI$$Length|    				EXPORT	USR_STACK_Top_Ptr		EXPORT	USR_STACK_Limit_Ptr		EXPORT	USR_STACK_Length    ;//-----------------------------------------------;//  SVC STACK DEFINITION;//-----------------------------------------------		    IMPORT  |Image$$SVC_STACK$$ZI$$Base|    IMPORT  |Image$$SVC_STACK$$ZI$$Length|		IMPORT	|Image$$SVC_STACK$$ZI$$Limit|    	SVC_STACK_Top_Ptr		DCD		|Image$$SVC_STACK$$ZI$$Limit|SVC_STACK_Limit_Ptr		DCD		|Image$$SVC_STACK$$ZI$$Base|    SVC_STACK_Length		DCD		|Image$$SVC_STACK$$ZI$$Length|    						EXPORT	SVC_STACK_Top_Ptr		EXPORT	SVC_STACK_Limit_Ptr		EXPORT	SVC_STACK_Length    	;//-----------------------------------------------;//  IRQ STACK DEFINITION;//-----------------------------------------------			IMPORT  |Image$$IRQ_STACK$$ZI$$Base|		IMPORT  |Image$$IRQ_STACK$$ZI$$Length|		IMPORT  |Image$$IRQ_STACK$$ZI$$Limit|    IRQ_STACK_Top_Ptr		DCD		|Image$$IRQ_STACK$$ZI$$Limit|IRQ_STACK_Limit_Ptr		DCD		|Image$$IRQ_STACK$$ZI$$Base|    IRQ_STACK_Length		DCD		|Image$$IRQ_STACK$$ZI$$Length|        			EXPORT	IRQ_STACK_Top_Ptr		EXPORT	IRQ_STACK_Limit_Ptr		EXPORT	IRQ_STACK_Length;//-----------------------------------------------;//  FIQ STACK DEFINITION;//-----------------------------------------------			IMPORT  |Image$$FIQ_STACK$$ZI$$Base|		IMPORT  |Image$$FIQ_STACK$$ZI$$Length|		IMPORT  |Image$$FIQ_STACK$$ZI$$Limit|				FIQ_STACK_Top_Ptr		DCD     |Image$$FIQ_STACK$$ZI$$Limit|FIQ_STACK_Limit_Ptr		DCD     |Image$$FIQ_STACK$$ZI$$Base|    FIQ_STACK_Length		DCD     |Image$$FIQ_STACK$$ZI$$Length|    		EXPORT	FIQ_STACK_Top_Ptr		EXPORT	FIQ_STACK_Limit_Ptr		EXPORT	FIQ_STACK_Length    	;//-----------------------------------------------;//  Entry point;//-----------------------------------------------	        EXPORT  Reset_HandlerReset_Handler        EXPORT INT_InitializeINT_Initialize;// -----------------------------------------------;// Map to 0x0 the RAM-A or EXP-RAM;// -----------------------------------------------        ;LDR r0,=GCR_BASE_ADDRR        ;LDR r1,[r0]        ;BIC	r1,r1,#0x3        ;ORR r1,r1,#0x8000        ;STR	r1,[r0]        ;//ORR	r1,r1,#0x2 ;//EXP-RAM        ;ORR	r1,r1,#0x1 ;//RAM-A        ;STR	r1,[r0]        ;BIC	r1,r1,#0x8000        ;STR r1,[r0];// -----------------------------------------------;//       SET THE STACK POINTERS;// -----------------------------------------------          		MSR		CPSR_c, #FIQ32md		LDR		sp,FIQ_STACK_Top_Ptr                		MSR		CPSR_c, #IRQ32md		LDR		sp,IRQ_STACK_Top_Ptr		MSR		CPSR_c, #SVC32md		LDR		sp,SVC_STACK_Top_Ptr;// This is bad position for call init_system;// because __main will reset to 0  SVC and IRQ Stack Pointer;// Variable;BB060706 Initialize copies of stack pointer in OS 20;		LDR		r0,SVC_STACK_Top_Ptr;		LDR		r1,IRQ_STACK_Top_Ptr;		BL		init_system     		B	__main__rt_entry;// -----------------------------------------------;//  SET USER STACK POINTER;// -----------------------------------------------	;;MM231106 Initialize copies of stack pointer in OS 20		LDR		r0,SVC_STACK_Top_Ptr		LDR		r1,IRQ_STACK_Top_Ptr		BL		init_system		MSR		CPSR_c, #Usr32md		LDR		sp,USR_STACK_Top_Ptr				BL	mymain	END		

⌨️ 快捷键说明

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