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

📄 int_loc_1_15.s

📁 MMI层OBJ不能完全编译
💻 S
📖 第 1 页 / 共 5 页
字号:
;******************************************************************************
;            TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION           
;                                                                             
;   Property of Texas Instruments -- For  Unrestricted  Internal  Use  Only 
;   Unauthorized reproduction and/or distribution is strictly prohibited.  This 
;   product  is  protected  under  copyright  law  and  trade  secret law as an 
;   unpublished work.  Created 1987, (C) Copyright 1997 Texas Instruments.  All 
;   rights reserved.                                                            
;                  
;                                                           
;   Filename       	: int.s
;
;   Description    	: Nucleus initialization
;
;   Project        	: Drivers
;
;   Author         	: proussel@ti.com  Patrick Roussel.
;
;   Version number	: 1.3
;
;   Date and time	: 07/23/98 15:36:07
;
;   Previous delta 	: 07/23/98 15:36:06
;
;   SCCS file      	: /db/gsm_asp/db_ht96/dsp_0/gsw/rel_0/mcu_l1/release1.5/mod/emu/EMU_MCMP/eva3_drivers/source/SCCS/s.int.s
;
;   Sccs Id  (SID)      : '@(#) int.s 1.3 07/23/98 15:36:07 '
;/*************************************************************************/
;/*                                                                       */
;/*     Copyright (c) 1993 - 1996 Accelerated Technology, Inc.            */
;/*                                                                       */
;/* PROPRIETARY RIGHTS of Accelerated Technology are involved in the      */
;/* subject matter of this material.  All manufacturing, reproduction,    */
;/* use, and sales rights pertaining to this subject matter are governed  */
;/* by the license agreement.  The recipient of this software implicitly  */
;/* accepts the terms of the license.                                     */
;/*                                                                       */
;/*************************************************************************/
;
;/*************************************************************************/
;/*                                                                       */
;/* FILE NAME                                            VERSION          */
;/*                                                                       */
;/*      int.s                                       PLUS/THUMB/T 1.3     */
;/*                                                                       */
;/* COMPONENT                                                             */
;/*                                                                       */
;/*      IN - Initialization                                              */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*      This file contains the target processor dependent initialization */
;/*      routines and data.                                               */
;/*                                                                       */
;/* AUTHOR                                                                */
;/*                                                                       */
;/*      Barry Sellew, Accelerated Technology, Inc.                       */
;/*                                                                       */
;/* 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. Sellew       01-19-1996      Created initial version 1.0      */
;/*	     B. Sellew	     01-22-1996	     Verified version 1.0	  	      */
;/*	     B. Sellew	     03-14-1996	     Modified to use the ROM          */
;/*				                          initialization method,          */
;/*	                                      resulting in version 1.1        */
;/*      B. Sellew       03-14-1996      Verified version 1.1             */
;/*      B. Sellew       02-06-1997      Created version 1.3              */
;/*	     B. Sellew	     02-06-1997	     Verified version 1.3	  	      */
;/*      M. Manning      06-02-1997      Added support for FIQ            */
;/*                                       interrupts. Bumped to 1.4       */
;/*      M. Manning      06-03-1997      Verified version 1.4             */
;/*                                                                       */
;/*************************************************************************/
;#define         NU_SOURCE_FILE
;
;#include        "nucleus.h"                 /* System constants          */
;
;
;/* Define constants used in low-level initialization.  */
;
;

;    CHECK_CHIPSET_PG
  .if CHIPSET_PG = 1
          .mmsg "CHIPSET PG is defined and equal to 1"
  .elseif CHIPSET_PG = 0
          .mmsg "CHIPSET PG is defined and equal to 0"
  .endif 	; CHIPSET_PG

  .if LONG_JUMP = 3
        .global IND_CALL
        .global _f_load_int_mem
        .global _ResetVector
        
; Initialization for variable S_D_Mem
; NEW COMPILER MANAGEMENT
; S_D_Mem is a UWORD32, and not anymore UWORD8
; See mem_load.c
;
      	.sect	".cinit"
      	.align	4
      	.field  	4,32
      	.field  	_S_D_Mem+0,32
      	.field  	0,32		; _S_D_Mem @ 0

      	.sect	".text"
        .global _S_D_Mem
_S_D_Mem: .usect  "S_D_Mem",4,4
        .sym    _S_D_Mem,_S_D_Mem,14,2,32        ; For debug only

; Initialization for variable E_D_Mem
; NEW COMPILER MANAGEMENT
; S_D_Mem is a UWORD32, and not anymore UWORD8
; See mem_load.c
;
        
      	.sect	".cinit"
      	.align	4
      	.field  	4,32
      	.field  	_E_D_Mem+0,32
      	.field  	0,32		; _E_D_Mem @ 0

      	.sect	".text"
        .global _E_D_Mem
_E_D_Mem: .usect  "E_D_Mem",4,4
        .sym    _E_D_Mem,_E_D_Mem,14,2,32        ; For debug only

  	.endif	; LONGJUMP = 3
  
  .if CHIPSET = 12 | CHIPSET = 15
        .global _f_load_int_mem
        .global _ResetVector
  .endif 	; CHIPSET = 12 | CHIPSET = 15
  
LOCKOUT         .equ     00C0h              ; Interrupt lockout value
LOCK_MSK        .equ     00C0h              ; Interrupt lockout mask value
MODE_MASK       .equ     001Fh              ; Processor Mode Mask
SUP_MODE        .equ     0013h              ; Supervisor Mode (SVC)
IRQ_MODE        .equ     0012h              ; Interrupt Mode (IRQ)
FIQ_MODE        .equ     0011h              ; Fast Interrupt Mode (FIQ)
  .if OP_L1_STANDALONE = 0
ABORT_MODE      .equ     0017h              ; Abort Interrupt Mode
UNDEF_MODE      .equ     001Bh              ; Undefined Interrupt Mode (should not happen)
  .endif	; OP_L1_STANDALONE =0
IRQ_STACK_SIZE  .equ     128                ; Number of bytes in IRQ stack (must be align(8))
                                            ;   Note that the IRQ interrupt,
                                            ;   by default, is managed by 
                                            ;   Nucleus PLUS.  Only several
                                            ;   words are actually used.  The 
                                            ;   system stack is what will 
                                            ;   actually be used for Nuclues
                                            ;   PLUS managed IRQ interrupts.
FIQ_STACK_SIZE  .equ     512                ; Number of bytes in FIQ stack. (must be align(8))
                                            ;   This value is application 
                                            ;   specific.  By default, Nucleus
                                            ;   does not manage FIQ interrupts
                                            ;   and furthermore, leaves them
                                            ;   enabled virtually all the time.
SYSTEM_SIZE     .equ     1024               ; Define the system stack size (must be align(8))
TIMER_SIZE      .equ     1024               ; Define timer HISR stack size (must be align(8))
TIMER_PRIORITY  .equ     2                  ; Timer HISR priority (values from
                                            ;   0 to 2, where 0 is highest)
  .if OP_L1_STANDALONE = 1
; The user must check the demo.map file after the first link to decide what value
; should be assigned to OTHER_SECTIONS, or the user can modify demo.cmd to arrange
; the sections correctly instead of using OTHER_SECTIONS.
OTHER_SECTIONS  .equ     700h               ; other sections after bss.
  .endif	; OP_L1_STANDALONE = 1

;
;/* End of low-level initialization constants.  */
;
;
;/* Define the initialization flag that indicates whether or not all of the
;   default vectors have been loaded during initialization.  */
;
;INT    INT_Loaded_Flag;

        .def    _INT_Loaded_Flag
        .bss    _INT_Loaded_Flag, 4, 4
;
;/* Define the vector table  */
;

  .if CHIPSET = 12  | CHIPSET = 15  ; Change for Locosoto
        .sect ".start"
     .if SECURITY = 2 | CHIPSET = 15 ; For Locosto Always _INT_Initialize
            .ref    _INT_Initialize

_ResetVector:
	    B	_INT_Initialize
      .else		      

        .ref    _INT_Bootloader_Start

_ResetVector:
        B	_INT_Bootloader_Start
     .endif		; SECURITY      

        .sect ".indint"
         
        .def  _IndirectVectorTable
_IndirectVectorTable:
        LDR   PC, [PC, #0x14]
        LDR   PC, [PC, #0x14]
        LDR   PC, [PC, #0x14]
        LDR   PC, [PC, #0x14]
        LDR   PC, [PC, #0x14]
        LDR   PC, [PC, #0x14]
        LDR   PC, [PC, #0x14]

        .word    INT_Undef_Inst
        .word    INT_Swi
        .word    INT_Abort_Prefetch
        .word    INT_Abort_Data
        .word    INT_Reserved
  .if OP_L1_STANDALONE = 0
    .if TI_NUC_MONITOR = 1
        .word    _INT_IRQ
    .else
        .word    INT_IRQ
    .endif
  .else
        .word    INT_IRQ
  .endif
  .if OP_L1_STANDALONE = 0
    .if TI_PROFILER = 1
        .word    _INT_FIQ
    .else
        .word    INT_FIQ
    .endif
  .else
        .word    INT_FIQ
  .endif

  .else ; CHIPSET = 12 | CHIPSET = 15

	.sect ".intvecs"

      .if OP_L1_STANDALONE = 1
      .ref    _INT_Bootloader_Start
      .global _ResetVector
_ResetVector:
      .endif ;   OP_L1_STANDALONE
    .if BOARD = 35
	B	WCP_Start
    .elseif BOARD = 46
	B	_INT_Initialize
    .else
	B	_INT_Bootloader_Start
    .endif ;   BOARD = 35, 46

	B	INT_Undef_Inst
	B	INT_Swi
	B	INT_Abort_Prefetch
	B	INT_Abort_Data
	B	INT_Reserved
    .if OP_L1_STANDALONE = 0
	B	Vect_IRQ
	B	Vect_FIQ
    .else
	B	INT_IRQ
	B	INT_FIQ
    .endif ;   OP_L1_STANDALONE

    .if BOARD == 35
WCP_Start:
	B	_INT_Initialize
    .endif
  
  .endif ; CHIPSET = 12 | CHIPSET = 15

;
;	.text
;
;	.ref	cinit

	.sect       ".inttext"
	.global     cinit       ; Linker symbol for C variable init.
;OMAPS00058957
       .if (TOOL_CHOICE > 1)

        .global     pinit       ; Linker symbol for C++ constructor table
       .endif
;OMAPS00058957  end      
; Address definitions in the section where they are used.

;
;/* Define the global system stack variable.  This is setup by the 
;   initialization routine.  */
;
;extern VOID            *TCD_System_Stack;
;

⌨️ 快捷键说明

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