www.pudn.com > ARM+SL811.rar > fw.c


//----------------------------------------------------------------------------- 
//	File:		fw.c 
//	Contents:	Firmware frameworks task dispatcher and device request parser 
//				source. 
// 
//	Copyright (c) 2002 Cypress Semiconductor, Inc. All rights reserved 
// 
// $Archive: /USB/ez811/firmware/Emb_Host/fw.c $ 
// $Date: 4/03/02 4:32p $ 
// $Revision: 1 $ 
//----------------------------------------------------------------------------- 
#include "ezusb.h" 
#include "ezregs.h" 
#include "host_811.h" 
#include "..\target\def.h" 
#include "..\target\44blib.h" 
 
 
 
volatile BOOL	GotSUD; 
volatile BOOL	Sleep;	 
		 BOOL	Rwuen; 
		 BOOL	Selfpwr;	// Sleep mode enable flag 
 
DWORD	pDeviceDscr;	// Pointer to Device Descriptor; Descriptors may be moved 
DWORD	pConfigDscr;	 
DWORD	pStringDscr;	 
 
void SetupCommand(void); 
void TD_Init(void); 
void TD_Poll(void);   
BOOL TD_Suspend(void); 
BOOL TD_Resume(void); 
 
BOOL DR_GetDescriptor(void); 
BOOL DR_SetConfiguration(void); 
BOOL DR_GetConfiguration(void); 
BOOL DR_SetInterface(void); 
BOOL DR_GetInterface(void); 
BOOL DR_GetStatus(void); 
BOOL DR_ClearFeature(void); 
BOOL DR_SetFeature(void); 
BOOL DR_VendorCmnd(void); 
 
 
void SL811Main(void) 
{ 
	int count=0,i; 
	Uart_Printf("\nSL811HST Host MODE test.\n"); 
	Uart_Printf("Please insert a USB Device!\n"); 
	Uart_Printf("For example : USB Flash Disk, USB MOUSE, USB keyboard...\n") ; 
	// Initialize Global States 
	Sleep = FALSE;					// Disable sleep mode 
	Rwuen = FALSE;					// Disable remote wakeup 
	Selfpwr = FALSE;				// Disable self powered 
	GotSUD = FALSE;					// Clear "Got setup data" flag 
 
	// Initialize user device 
	 
	//EZUSB_IRQ_ENABLE();				// Enable USB interrupt (INT2) 
	//EZUSB_ENABLE_RSMIRQ();			// Wake-up interrupt 
 
	 
	//Uart_Printf("Please ESC to exit..\n");	 
  	// Task Dispatcher 
	while(1)	///Uart_GetKey() != ESC_KEY)		// Main Loop 
	{ 
		//USBReset(); 
		sl811h_init(); 
		Uart_Printf("\nPlease insert a USB Device!\n"); 
		Uart_Printf("Press ESC key to Exit, other key to continue...\n"); 
		if(Uart_Getch()==ESC_KEY) 
			return; 
		 
		slave_detect();		    		// Poll for any slave USB device attached to "SL811HS" Embedded Host 
	 
		if(count++ > 5) 
			return;		 
	} 
	 
}