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

📄 hw_acces.h

📁 usb host在ARM7上的实现
💻 H
字号:
/****************************************************************************/
/*	includes																*/
/****************************************************************************/
#include		"..\_hc_core\isr.h"

/****************************************************************************/
/*	constants																*/
/****************************************************************************/
#define		ISA_BASE_ADDR 			0x290

#define		DEFAULT_HC_IRQ_NUM		10

//	Following is ISA bus access speed calclations

#define		BIT_TIME_IN_A_FRAME						12000.00
#define		FRAME_FREQUENCY							1e3			//	Hz

#define		ISA_BUS_FREQUENCY						8e6			//	Hz
#define		ISA_BUS_PIO_BUS_CYCLE					12.00
#define		ISA_BUS_PIO_BUS_CYCLE_PER_BYTE			(ISA_BUS_PIO_BUS_CYCLE / 2.00)
#define		ISA_BUS_PIO_FREQUENCY_PER_BYTE			(ISA_BUS_FREQUENCY / ISA_BUS_PIO_BUS_CYCLE_PER_BYTE)
#define		ISA_BUS_PIO_MAX_ACCESS_IN_A_FRAME		(ISA_BUS_PIO_FREQUENCY_PER_BYTE / FRAME_FREQUENCY)

#define		ISA_PIO_ACCESS_IN_BIT_TIME_PER_BYTE		(BIT_TIME_IN_A_FRAME / ISA_BUS_PIO_MAX_ACCESS_IN_A_FRAME)


/****************************************************************************/
/*	global vars																*/
/****************************************************************************/

extern unsigned int		g_ISA_base_address;
extern unsigned int		g_1161_Hc_command_address;
extern unsigned int		g_1161_Hc_data_address;

extern unsigned char	g_Hc_IRQ_num;
extern unsigned char	g_is_PCI;




/****************************************************************************/
/*	function prototypes														*/
/****************************************************************************/

/*********
**********	IO port access functions
*********/

unsigned int	get_ISA_base_address( void );

void 			read_register_burst_char( unsigned short register_address, unsigned char *data, unsigned short length  );
void 			write_register_burst_char( unsigned short register_address, unsigned char *data, unsigned short length  );

unsigned long	read_register32( unsigned short register_address );
unsigned short	read_register16( unsigned short register_address );

void			write_register32( unsigned short register_address, unsigned long value );
void			write_register16( unsigned short register_address, unsigned short value );


/*********
**********	IO port access initialization
*********/

void io_port_access_initialization( void );
void isr_hw_disable( void );
void isr_hw_enable( void );



/*********
**********	ISR install/restore functions
*********/


isrPtr			install_isr( int irq_num, isrPtr new_vector );
void			restore_isr(  int irq_num, isrPtr old_vector );

⌨️ 快捷键说明

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