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

📄 iceport.c

📁 mips架构的bootloader,99左右的版本 但源代码现在没人更新了
💻 C
字号:
/************************************************************* * File: lib/iceport.c * Purpose: PMON/IMON Driver for SerialICE port * Author: Phil Bunce (pjb@carmel.com) * Revision History: *	970304	Start of revision history *	970828	Tested on 4101 RevB eval bd. *	980806	Fixed to take base adr from siodat. */#include <mips.h>/*  * Polled I/O routines for the LSI  ICEport * */#include <terms.h>#include <utypes.h>#define inb(a)      (*((volatile Uchar *)(a)))#define inh(a)      (*((volatile Ushort *)(a)))#define inw(a)      (*((volatile Ulong *)(a)))#define outb(a,v)      (*((volatile Uchar *)(a))=(v))#define outh(a,v)      (*((volatile Ushort *)(a))=(v))#define outw(a,v)      (*((volatile Ulong *)(a))=(v))#define UART_RXS        0x0     /* rx status */#define UART_RXC        0x0     /* rx control */#define UART_RXHR       0x4     /* rx holding reg */#define UART_TXS        0x8     /* tx status */#define UART_TXHR       0xc     /* tx holding reg */ #define RXS_RXRDY       (1<<0)  /* rx ready */#define RXS_OVR         (1<<1)  /* rx overrun */#define RXC_IE          (1<<0)  /* interrupt enable */#define TXS_TXRDY       (1<<0)  /* tx ready *//**************************************************************  iceport(op,siodat,chan,ch)*/iceport(op,siodat,chan,ch)int op,chan,ch;void *siodat;{struct iceportinfo *info = siodat;Ulong uart_base = info->siobase;switch (op) {	case OP_RXRDY : 		if (inw(uart_base+UART_RXS)&RXS_RXRDY) return(1);		break;	case OP_RX :		return inw(uart_base+UART_RXHR)&0xff;	case OP_TXRDY :		if (inw(uart_base+UART_TXS)&TXS_TXRDY) return(1);		break;	case OP_TX :		return outw(uart_base+UART_TXHR,ch);		break;	case OP_INIT : 		/* no init required */		break;	case OP_BAUD : 		/* baud rate generator is not programmable */		break;	case OP_CLKINIT : break;	case OP_DELAY : return(0); break;	case OP_BAUDRATES: return(0); break;	}return(0);}

⌨️ 快捷键说明

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