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

📄 int.s.bak

📁 Nuclues嵌入式RTOS源码
💻 BAK
📖 第 1 页 / 共 5 页
字号:
;************************************************************************
;*                                                                       
;*               Copyright Mentor Graphics Corporation 2002              
;*                         All Rights Reserved.                          
;*                                                                       
;* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS  
;* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS   
;* SUBJECT TO LICENSE TERMS.                                             
;*                                                                       
;************************************************************************
;************************************************************************
;*                                                                       
;* FILE NAME                              VERSION                        
;*                                                                       
;*      int.s                   Nucleus PLUS\ARM925\Code Composer 1.14.1 
;*                                                                       
;* COMPONENT                                                             
;*                                                                       
;*      IN - Initialization                                              
;*                                                                       
;* DESCRIPTION                                                           
;*                                                                       
;*      This file contains the target processor dependent initialization 
;*      routines and data.                                               
;*                                                                       
;* DATA STRUCTURES                                                       
;*                                                                       
;*      INT_Vectors                         Interrupt vector table       
;*                                                                       
;* FUNCTIONS                                                             
;*                                                                       
;*      INT_Initialize                      Target initialization        
;*      INT_Vectors_Loaded                  Returns a NU_TRUE if all the 
;*                                            default vectors are loaded 
;*      INT_Setup_Vector                    Sets up an actual vector     
;*                                                                       
;* DEPENDENCIES                                                          
;*                                                                       
;*      nucleus.h                           System constants             
;*                                                                       
;* HISTORY                                                               
;*                                                                       
;*         NAME            DATE                    REMARKS               
;*                                                                       
;*      B. Ronquillo     08-28-2002           Released version 1.14.1     
;*                                                                       
;************************************************************************

******************************
;* INCLUDE ASSEMBLY CONSTANTS *
;******************************
     
    
    AREA |C$$code|, CODE, READONLY
|x$codeseg|
    
    INCLUDE asm_defs.s
    
;**********************************
;* EXTERNAL VARIABLE DECLARATIONS *
;**********************************
; Define the global data structures that need to be initialized by this
; routine.  These structures are used to define the system timer management
; HISR.

    IMPORT    TCT_System_Limit
    IMPORT    TMD_HISR_Stack_Ptr
    IMPORT    TMD_HISR_Stack_Size
    IMPORT    TMD_HISR_Priority
    IMPORT    TCD_System_Stack
    IMPORT    TCD_Current_Thread	;add by lilin

;add by tianqiang
    IMPORT    STD_Idle_Task_Stack_Ptr


;**********************************
;* EXTERNAL FUNCTION DECLARATIONS *
;**********************************
; Define extern function references.

    IMPORT    INC_Initialize
    IMPORT    TCT_Interrupt_Context_Save
    IMPORT    TCT_Interrupt_Context_Restore
    IMPORT    TCC_Dispatch_LISR
    IMPORT    TMT_Timer_Interrupt

    IF :DEF: NU_FIQ_DEMO
    IMPORT    _FIQ_LISR
    ENDIF

;**********************************
;* GLOBAL VARIABLE DECLARATIONS   *
;**********************************
;.bss

;INT    INT_Loaded_Flag

;;    EXPORT  INT_Loaded_Flag

;;INT_Loaded_Flag		DCD    0x00000000

    
;**********************************
;* AVAILABLE MEMORY DECLARATION   *
;**********************************
;    AREA  avail_memory, DATA, NOINIT
    
;;    ALIGN  4
;;    SPACE  4
    
;;    EXPORT    INT_First_Avail_Mem
;;INT_First_Avail_Mem

;	END
    
;**********************************
;* VECTOR TABLE                   *
;**********************************
    
INT_Vectors   
    IF :DEF: NU_ROM_SUPPORT 
    IMPORT    INT_Reset
    B      INT_Reset                           ; Flash Hardware Reset
    ELSE
    LDR    pc, INT_Initialize_Addr             ; Reset
    ENDIF
    
     LDR    pc, INT_Undef_Inst_Addr             ; Undefined Instruction
     LDR    pc, INT_Software_Addr               ; Software Generated
     LDR    pc, INT_Prefetch_Abort_Addr         ; Prefetch Abort
     LDR    pc, INT_Data_Abort_Addr             ; Data Abort
     LDR    pc, INT_Reserved_Addr               ; Reserved
     LDR    pc, INT_IRQ_Addr                    ; Standard External Interrupt
     LDR    pc, INT_FIQ_Addr                    ; Fast External Interrupt

INT_Initialize_Addr	
	DCD	INT_Initialize
INT_Undef_Inst_Addr	
	DCD     INT_Undef_Inst
INT_Software_Addr	
	DCD     INT_Software
INT_Prefetch_Abort_Addr	
	DCD	INT_Prefetch_Abort
INT_Data_Abort_Addr	
	DCD	INT_Data_Abort
INT_Reserved_Addr	
	DCD	INT_Reserved
INT_IRQ_Addr		
	DCD	INT_IRQ
INT_FIQ_Addr		
	DCD	INT_FIQ

; Define vector table used by INT_IRQ to branch to necessary ISR
	
INT_IRQ_Vectors
    DCD     INT_Interrupt_Shell             ; Vector 0
    DCD     INT_Interrupt_Shell             ; Vector 1
    DCD     INT_Interrupt_Shell             ; Vector 2
    DCD     INT_Interrupt_Shell             ; Vector 3
    DCD     INT_Interrupt_Shell             ; Vector 4
    DCD     INT_Interrupt_Shell             ; Vector 5
    DCD     INT_Interrupt_Shell             ; Vector 6
    DCD     INT_Interrupt_Shell             ; Vector 7
    DCD     INT_Interrupt_Shell             ; Vector 8
    DCD     INT_Timer_Interrupt             ; Vector 9
    DCD     INT_Interrupt_Shell             ; Vector 10
    DCD     INT_Interrupt_Shell             ; Vector 11
    DCD     INT_Interrupt_Shell             ; Vector 12
    DCD     INT_Interrupt_Shell             ; Vector 13
    DCD     INT_Interrupt_Shell             ; Vector 14
    DCD     INT_Interrupt_Shell             ; Vector 15
    DCD     INT_Interrupt_Shell             ; Vector 16
    DCD     INT_Interrupt_Shell             ; Vector 17
    DCD     INT_Interrupt_Shell             ; Vector 18
    DCD     INT_Interrupt_Shell             ; Vector 19
    DCD     INT_Interrupt_Shell             ; Vector 20
    DCD     INT_Interrupt_Shell             ; Vector 21
    
    
; Define the order in which the interrupts will be executed by software(INT_IRQ)
; Level 1 Interrupt Handler
INT_IRQ_Priority
    DCD     INT_IRQ21_EXTINT              
    DCD     INT_IRQ20_PCILBINT                       
    DCD     INT_IRQ19_ENUMINT     
    DCD     INT_IRQ18_DEGINT             
    DCD     INT_IRQ17_LINT       
    DCD     INT_IRQ16_PCIINT3               
    DCD     INT_IRQ15_PCIINT2                
    DCD     INT_IRQ14_PCIINT1                 
    DCD     INT_IRQ13_PCIINT0    
    DCD     INT_IRQ12_EXPINT3    
    DCD     INT_IRQ11_EXPINT2                     
    DCD     INT_IRQ10_EXPINT1            
    DCD     INT_IRQ9_EXPINT0         
    DCD     INT_IRQ8_RTCINT      
    DCD     INT_IRQ7_TIMERINT2 
    DCD     INT_IRQ6_TIMERINT1                  
    DCD     INT_IRQ5_TIMERINT0             
    DCD     INT_IRQ4_MOUSEINT     
    DCD     INT_IRQ3_KBDINT      
    DCD     INT_IRQ2_UARTINT1     
    DCD     INT_IRQ1_UARTINT0       
    DCD     INT_IRQ0_SOFTINT       
    
INT_Priority_End
          
;**********************************
;* LOCAL VARIABLE DECLARATIONS    *
;**********************************
;    .text

	IMPORT	INT_System_Stk_Limit
	IMPORT	INT_System_Stack_SP
	IMPORT 	INT_IRQ_Stack_SP
	IMPORT  INT_FIQ_Stack_SP
	IMPORT  INT_HISR_Stack_Mem
	IMPORT  INT_Loaded_Flag
	IMPORT  INT_First_Avail_Mem
;add by tianqiang
	IMPORT	INT_Idle_Task_Stack_Mem

; Define various data structure pointers so their addresses can be obtained 
; in a PC-relative manner. 
;c_cinit 		DCD       cinit
;;BSS_Start		DCD       _ld_bss_start
;;BSS_End		DCD       _ld_bss_end
Loaded_Flag		DCD       INT_Loaded_Flag
HISR_Stack_Ptr		DCD       TMD_HISR_Stack_Ptr
HISR_Stack_Size		DCD       TMD_HISR_Stack_Size
HISR_Priority		DCD       TMD_HISR_Priority
System_Stack		DCD       TCD_System_Stack
System_Limit		DCD       TCT_System_Limit
;INC_Initialize		DCD       INC_Initialize
INT_ADDR		DCD       INTERRUPTS_ADDR
INT_Vectors_Addr	DCD       INT_Vectors
System_Stk_Limit	DCD       INT_System_Stk_Limit
System_Stack_SP		DCD       INT_System_Stack_SP
IRQ_Stack_SP		DCD       INT_IRQ_Stack_SP
FIQ_Stack_SP		DCD       INT_FIQ_Stack_SP
HISR_Stack_Mem		DCD       INT_HISR_Stack_Mem
First_Avail_Mem		DCD       INT_First_Avail_Mem
IRQ_Vectors		DCD       INT_IRQ_Vectors
IRQ_Priority		DCD       INT_IRQ_Priority
Priority_End		DCD       INT_Priority_End
;IRQ_Priority_2		DCD       INT_IRQ_Priority_2
;Priority_End_2		DCD       INT_Priority_End_2

⌨️ 快捷键说明

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