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

📄 defaultisr.c

📁 DSP2812内部FLASH实时运行标准框架程序
💻 C
📖 第 1 页 / 共 3 页
字号:
/*********************************************************************
* File: DefaultIsr.c                                                 *
* Description: Contains all interrupt service routines used in the   *
*   TEC application.                                                 *
* DSP: TMS320F2812                                                   *
* Author: David M. Alter                                             *
* Function List: Not applicable                                      *
* History:                                                           *
*   11/05/02 - Original, based on DSP28 header files v0.58 (D. Alter)*
* Notes: none                                                        *
*********************************************************************/

/*********************************************************************
* THIS PROGRAM IS PROVIDED "AS IS". TI MAKES NO WARRANTIES OR        *
* REPRESENTATIONS, EITHER EXPRESS, IMPLIED OR STATUTORY,             *
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS       *
* FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR             *
* COMPLETENESS OF RESPONSES, RESULTS AND LACK OF NEGLIGENCE.         *
* TI DISCLAIMS ANY WARRANTY OF TITLE, QUIET ENJOYMENT, QUIET         *
* POSSESSION, AND NON-INFRINGEMENT OF ANY THIRD PARTY                *
* INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE PROGRAM OR         *
* YOUR USE OF THE PROGRAM.                                           *
*                                                                    *
* IN NO EVENT SHALL TI BE LIABLE FOR ANY SPECIAL, INCIDENTAL,        *
* CONSEQUENTIAL OR INDIRECT DAMAGES, HOWEVER CAUSED, ON ANY          *
* THEORY OF LIABILITY AND WHETHER OR NOT TI HAS BEEN ADVISED         *
* OF THE POSSIBILITY OF SUCH DAMAGES, ARISING IN ANY WAY OUT         *
* OF THIS AGREEMENT, THE PROGRAM, OR YOUR USE OF THE PROGRAM.        *
* EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF          *
* REMOVAL OR REINSTALLATION, COMPUTER TIME, LABOR COSTS, LOSS        *
* OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF          *
* USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S             *
* AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF         *
* YOUR USE OF THE PROGRAM EXCEED FIVE HUNDRED DOLLARS                *
* (U.S.$500).                                                        *
*                                                                    *
* Unless otherwise stated, the Program written and copyrighted       *
* by Texas Instruments is distributed as "freeware".  You may,       *
* only under TI's copyright in the Program, use and modify the       *
* Program without any charge or restriction.  You may                *
* distribute to third parties, provided that you transfer a          *
* copy of this license to the third party and the third party        *
* agrees to these terms by its first use of the Program. You         *
* must reproduce the copyright notice and any other legend of        *
* ownership on each copy or partial copy, of the Program.            *
*                                                                    *
* You acknowledge and agree that the Program contains                *
* copyrighted material, trade secrets and other TI proprietary       *
* information and is protected by copyright laws,                    *
* international copyright treaties, and trade secret laws, as        *
* well as other intellectual property laws.  To protect TI's         *
* rights in the Program, you agree not to decompile, reverse         *
* engineer, disassemble or otherwise translate any object code       *
* versions of the Program to a human-readable form.  You agree       *
* that in no event will you alter, remove or destroy any             *
* copyright notice included in the Program.  TI reserves all         *
* rights not specifically granted under this license. Except         *
* as specifically provided herein, nothing in this agreement         *
* shall be construed as conferring by implication, estoppel,         *
* or otherwise, upon you, any license or other right under any       *
* TI patents, copyrights or trade secrets.                           *
*                                                                    *
* You may not use the Program in non-TI devices.                     *
*********************************************************************/

#include "Device.h"

/*********************************************************************/
interrupt void INT13_ISR(void)			// 0x000D1A  INT13 - XINT13 (or CPU Timer1, reserved for TI)
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void INT14_ISR(void)			// 0x000D1C  INT14 - CPU Timer2, reserved for TI
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void DATALOG_ISR(void)		// 0x000D1E  DATALOG - CPU data logging interrupt
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void RTOSINT_ISR(void)		// 0x000D20  RTOSINT - CPU RTOS interrupt
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void EMUINT_ISR(void) 		// 0x000D22  EMUINT - CPU emulation interrupt
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void NMI_ISR(void)			// 0x000D24  NMI - XNMI interrupt
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void ILLEGAL_ISR(void)		// 0x000D26  ILLEGAL - illegal operation trap
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER0_ISR(void)			// 0x000D28  USER0 - software interrupt #0
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER1_ISR(void)			// 0x000D2A  USER1 - software interrupt #1
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER2_ISR(void)			// 0x000D2C  USER2 - software interrupt #3
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER3_ISR(void)			// 0x000D2E  USER3 - software interrupt #3
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER4_ISR(void)			// 0x000D30  USER4 - software interrupt #4
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER5_ISR(void)			// 0x000D32  USER5 - software interrupt #5
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER6_ISR(void)			// 0x000D34  USER6 - software interrupt #6
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER7_ISR(void)			// 0x000D36  USER7 - software interrupt #7
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER8_ISR(void)			// 0x000D38  USER8 - software interrupt #8
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER9_ISR(void)			// 0x000D3A  USER9 - software interrupt #9
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER10_ISR(void)			// 0x000D3C  USER10 - software interrupt #10
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void USER11_ISR(void)			// 0x000D3E  USER11 - software interrupt #11
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround


// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void PDPINTA_ISR(void)		// 0x000D40  PDPINTA (EV-A)
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

	PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;	// Must acknowledge the PIE group

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void PDPINTB_ISR(void)		// 0x000D42  PDPINTB (EV-B)
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

	PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;	// Must acknowledge the PIE group

// Next two lines for debug only - remove after inserting your ISR
	asm (" ESTOP0");					// Emulator Halt instruction
	while(1);
}

/*********************************************************************/
interrupt void XINT1_ISR(void)			// 0x000D46  XINT1
{
// Work around Compiler v3.03 bug
	asm(" SPM  0");						// Compiler not properly setting SPM 0 in ISRs
	asm(" CLRC AMODE");					// Compiler not properly setting AMODE=1 in ISRs
// End workaround

⌨️ 快捷键说明

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