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

📄 evaluator.h

📁 AT91所有开发板的资料 AT91所有开发板的资料
💻 H
字号:
/* -*-C-*- * * $Revision:  $ *   $Author:  $ *     $Date:  $ * * Copyright (c) 1996 Advanced RISC Machines Limited. * All Rights Reserved. * *   Project: ANGEL * *     Title: Wrapper for platform.h et al. */#ifndef evaluator_h#define evaluator_h#include "sizes.h"#include "platform.h"extern const struct angel_DeviceEntry angel_C501UARTSerial[C501UART_NUM_PORTS];extern void Angel_TimerIntHandler(unsigned ident, unsigned data, unsigned empty_stack);extern void angel_C501UARTIntHandler(unsigned int ident,                                     unsigned int data,                                     unsigned int empty_stack);extern void logserial_Reset(int port, int baudvalue);typedef struct {    unsigned32		Mode;	/* Set to handle interrupt as FIQ */    volatile unsigned32	Pending; /* Set when interrupt triggered / serviced */    unsigned32		Mask;	/* Set to disable interrupt */} InterruptController;#define	InterruptBitMask	(0x1fffff)#define	GlobalInterruptBitMask	(0x200000)#define AllInterruptBitMask	(InterruptBitMask | GlobalInterruptBitMask)#define InterruptBaseAddr	((InterruptController *)INTMOD)__inline voidEnableInterruptMask(unsigned32 mask){    InterruptBaseAddr->Mask &= ~mask;}__inline voidDisableInterruptMask(unsigned32 mask){    InterruptBaseAddr->Mask |= mask;}__inline voidEnableInterruptNum(int intrnum){    InterruptBaseAddr->Mask &= ~(1U << intrnum);}__inline voidDisableInterruptNum(int intrnum){    InterruptBaseAddr->Mask |= 1U << intrnum;}__inline unsigned32ReadEnabledInterrupts(){    return (~(InterruptBaseAddr->Mask) & AllInterruptBitMask);}__inline unsigned32ReadInterruptStatus(){    return InterruptBaseAddr->Pending;}__inline voidClearInterruptStatusMask(unsigned32 mask){    InterruptBaseAddr->Pending |= mask;}#define	EVALUATOR_UART0_BASE	UART0_BASE#define	EVALUATOR_UART1_BASE	UART1_BASE#undef DEBUG_COMPORT#define DEBUG_COMPORT   EVALUATOR_UART1_BASE#define	DEBUG_COMPORT_TX_INT	(INT_UART1_TX)#define	DEBUG_COMPORT_RX_INT	(INT_UART1_RX)#define inb(port)	(*((char*)(port)))#define outb(ch,port)	(*((char*)(port))) = (ch)/* Macros for logging */#define LOG_GET_STATUS(p)       GET_STATUS(p)#define LOG_TX_EMPTY(p)         TX_EMPTY(p)#define LOG_TX_READY(s)         TX_READY(s)#define LOG_GET_CHAR(p)         GET_CHAR(p)#define LOG_PUT_CHAR(p, c)      PUT_CHAR(p, c)#define LOG_RX_DATA(s)          RX_DATA(s)#define LOG_READ_INTERRUPT(p)   0#define LOG_RX_INTERRUPT        4#define LOG_TX_INTERRUPT        2#endif /* evaluator_h */

⌨️ 快捷键说明

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