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

📄 dispatch.c

📁 usbn9603等时传输的firmware
💻 C
字号:
/*----------------------------------------------------------------------------
 *  Copyright (c) 2001 by National Semiconductor Corporation
 *  National Semiconductor Corporation
 *  2900 Semiconductor Drive
 *  Santa Clara, California 95051
 *
 *  All rights reserved
 *
 *<<<-------------------------------------------------------------------------
 * File Contents:
 *	dispatch.c - ICU related functions
 *
 *  Project: USB firmware
 *  Author : Yan Nosovitsky
 *  Date   : Oct. 2001
 *----------------------------------------------------------------------->>>*/

#include "..\include\all.h"

void null_handler(void);
void MFT16_1_handler(void);

/* #ifdef DEBUG
extern void NmiHandler(void);
extern void SvcHandler(void);
extern void DvzHandler(void);
extern void FlgHandler(void);
extern void BptHandler(void);
extern void TrcHandler(void);
extern void UndHandler(void);
extern void DbgHandler(void);
extern void IseHandler(void);
#else //NDEBUG */
#define NmiHandler null_handler
#define SvcHandler null_handler
#define DvzHandler null_handler
#define FlgHandler null_handler
#define BptHandler null_handler
#define TrcHandler null_handler
#define UndHandler null_handler
#define DbgHandler null_handler
#define IseHandler null_handler
//#endif //DEBUG
//extern void IncreaseProgramCounterInIsp(void);

//#pragma interrupt (IncreaseProgramCounterInIsp)
//void IncreaseProgramCounterInIsp()
//{	
	//unsigned short *is_pointer;		
	//_spr_("isp", is_pointer);
	//is_pointer += 1;
/*	__asm__("_IncreaseProgramCounterInIsp::");
	__asm__("cmpw	$0x500, r0");
	__asm__("bne	_SvcHandler");
	__asm__("push	$1,r1");
	__asm__("spr	isp,r1");
	__asm__("loadw	0(r1),r0");
	__asm__("addw	$1,r0");
	__asm__("storw	r0,0(r1)");
	__asm__("pop	$1,r1");
	__asm__("pop	$1,r0");
	__asm__("bal	ra,_BptHandler");
*/
//	BptHandler();
//}

/* Dispatch Table *///When TmonLibStart is called (in start.s), Tmonlib initializes 
//the first 16 enteries of the _dispatch_table

//extern void TINT_handler(void);
//extern void usb_node_handler(void);

 handler_t _dispatch_table[INT_TAB_SIZE] = 
{
    null_handler,	
	NmiHandler,	
	null_handler,	
	null_handler,
	null_handler,
	SvcHandler,
	DvzHandler,	
	FlgHandler,
	BptHandler,	
	TrcHandler,	
	UndHandler,	
	null_handler,
	null_handler,	
	null_handler,	
	DbgHandler,	
	IseHandler,
    null_handler,	/* 16 */
    null_handler,	/* 17 */
    null_handler,	/* 18 */
    null_handler,	/* 19 */
    null_handler,	/* 20 */
    null_handler,	/* 21 */
    null_handler,	/* 22 */
    MFT16_1_handler,/* 23 */
    null_handler,	/* 24 */
    null_handler,	/* 25 */
    null_handler,	/* 26 */
    null_handler,	/* 27 */
    null_handler,	/* 28 */
    null_handler,	/* 29 */
    null_handler,	/* 30 */
    null_handler,	/* 31 */
    null_handler,	/* 32 */
    null_handler,	/* 33 */
    null_handler,	/* 34 */
    null_handler,	/* 35 */
    null_handler,	/* 36 */
    null_handler,	/* 37 */
    null_handler,	/* 38 */
    null_handler,	/* 39 */
    null_handler,	/* 40 */
    null_handler,	/* 41 */
    null_handler,	/* 42 */
    null_handler,	/* 43 */
    null_handler,	/* 44 */
    null_handler,	/* 45 */
    null_handler,	/* 46 */
    usb_node_handler,	/* 47 */
};

/*----------------------------------------------------------------------------
 *                              null_handler()
 *
 *  Empty interrupt handler.
 *
 *  Input: None
 *--------------------------------------------------------------------------*/
#pragma interrupt (null_handler)

public void null_handler(void)
{
	ROM_BPT;
	write_7seg(IVCT);
    assert(!null_handler);
}
/*----------------------------------------------------------------------------
 *                              MFT16_1_handler()
 *
 *  timer handler.
 *
 *  Input: None
 *--------------------------------------------------------------------------*/

#pragma interrupt (MFT16_1_handler)

void MFT16_1_handler(void)
{
	write_7seg(IVCT);
	T1ICLR |= 1;  // Clear pending bit
	WatchdogTime --;
	if (WatchdogTime == 0)
		/* send event */
		send_event(EVT_TIMER_INT);
}

⌨️ 快捷键说明

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