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

📄 usbdev.h

📁 Samsung S3C2443 Monitor program source code
💻 H
字号:
/*------------------------------------------------------------------------------
 *
 * Filename: usbd_h.h
 *
 * Contents: 'class USBD20' 
 * 
 * Notes:
 *  1. 
 *
 * Authors : Hyunsun.ahn
 *
 * Copyright (c) 2005 SAMSUNG Electronics.
 *
 *------------------------------------------------------------------------------*/
 
#ifndef __USBD20_H__
#define __USBD20_H__
#include "def.h"

enum USB_OP
{
	USB_CPU, USB_DMA
};

enum USB_SPEED 
{
	USB_FULL, USB_HIGH
};

struct USB_DEVICE_DESCRIPTOR;
struct USB_GET_STATUS;
struct USB_INTERFACE_GET;
struct USB_DESCRIPTORS;
struct DEVICE_REQUEST;

class USBDEV
{
public:
	USBDEV(void);
	~USBDEV(void);
	void Init(void);
	void HandleEvent(void);
	void SetOpMode(USB_OP eMode);
	void GetDownFileInfo(U32& uDownAddr, U32& uDownFileSize);
	bool IsEnumerationDone(void);
	bool VerifyChecksum(void);
	volatile USB_OP m_eOpMode;
	U8*  m_pDownPt;
	U32  m_uDownloadFileSize;
	U32  m_uDownloadAddress;
	U32  m_cpucnt;
	
protected:
	void PrepareEp1Fifo(U32 uBaseAddr);
	void SetDescriptorTable(void);
	void SetEndpoint(void);
	void StandardSetDescriptor(void);
	void TransferEp0(void);
	void HandleEvent_EP0(void);
	void HandleEvent_BulkOut(void);
	void HandleEvent_BulkIn(void);
	void FlushEp1Fifo(void);
	#ifdef		__TEST
	void RdPktEp3(U16 *buf, int num);
	#else
	void RdPktEp3(U8 *buf,int num);
	#endif
	void SetMaxPktSizes(USB_SPEED eSpeed);

	USB_DEVICE_DESCRIPTOR* m_poDescDevice;
	USB_GET_STATUS* m_poStatusGet;
	USB_INTERFACE_GET* m_poInterfaceGet;
	USB_DESCRIPTORS* m_poDesc;
	DEVICE_REQUEST* m_poDeviceRequest;

	U32  m_uEp0State;
	U32  m_uEp0SubState;
	//USB_OP m_eOpMode;
	USB_SPEED m_eSpeed;
	U32  m_uBulkInCount;
	U32  m_uEp0MaxPktSize;
	U32  m_uEp1MaxPktSize;
	U32  m_uEp3MaxPktSize;
	//U32  m_uDownloadAddress;
	//U32  m_uDownloadFileSize;
	//U8*  m_pDownPt;
	U32  m_uBulkInAddr;
	U32  m_uEnumerationDone;
};

inline void USBDEV::GetDownFileInfo(U32& uDownAddr, U32& uDownFileSize)
{
	uDownAddr = m_uDownloadAddress;
	uDownFileSize = m_uDownloadFileSize;
}
void UsbdMain(void);


#endif 

⌨️ 快捷键说明

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