📄 dispatch.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 + -