亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? embedded_services.h

?? AT91RM3400芯片 ROM引導(dǎo)程序
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
#define AT91C_COMMSVC_ERROR       (0x0f << AT91C_COMMSVC_ERROR_SHIFT)

/************************************************************************************************************************/
typedef unsigned int AT91S_SvcCommStatus;

/************************************************************************************************************************/
// AT91S_Service definition
// This structure is an abstraction of a communication peripheral
typedef struct _AT91S_Service
{
	// Methods:
	AT91S_SvcCommStatus (*Reset)  (struct _AT91S_Service *pService);
	AT91S_SvcCommStatus (*StartTx)(struct _AT91S_Service *pService);
	AT91S_SvcCommStatus (*StartRx)(struct _AT91S_Service *pService);
	AT91S_SvcCommStatus (*StopTx) (struct _AT91S_Service *pService);
	AT91S_SvcCommStatus (*StopRx) (struct _AT91S_Service *pService);
	char                (*TxReady)(struct _AT91S_Service *pService);
	char                (*RxReady)(struct _AT91S_Service *pService);
	// Data:
	struct _AT91S_Buffer *pBuffer; // Link to a buffer object
	void *pChild;
} AT91S_SvcComm, *AT91PS_SvcComm;

/************************************************************************************************************************/
// Constants:
#define AT91C_XMODEM_SOH         0x01         /* Start of Heading for 128 bytes */
#define AT91C_XMODEM_STX         0x02         /* Start of heading for 1024 bytes */
#define AT91C_XMODEM_EOT         0x04         /* End of transmission */
#define AT91C_XMODEM_ACK         0x06         /* Acknowledge */
#define AT91C_XMODEM_NAK         0x15         /* Negative Acknowledge */
#define AT91C_XMODEM_CRCCHR      'C'

#define AT91C_XMODEM_PACKET_SIZE 2                 // packet + packetCRC
#define AT91C_XMODEM_CRC_SIZE    2                 // crcLSB + crcMSB
#define AT91C_XMODEM_DATA_SIZE_SOH    128          // data 128 corresponding to SOH header
#define AT91C_XMODEM_DATA_SIZE_STX    1024         // data 1024 corresponding to STX header

/************************************************************************************************************************/
//* Following structure is used by SPipe to refer to the USB device peripheral endpoint
typedef struct _AT91PS_SvcXmodem {

	// Public Methods:
	AT91S_SvcCommStatus (*Handler) (struct _AT91PS_SvcXmodem *, unsigned int);
	AT91S_SvcCommStatus (*StartTx) (struct _AT91PS_SvcXmodem *, unsigned int);
	AT91S_SvcCommStatus (*StopTx)  (struct _AT91PS_SvcXmodem *, unsigned int);

	// Private Methods:
	AT91S_SvcCommStatus (*ReadHandler)  (struct _AT91PS_SvcXmodem *, unsigned int csr);
	AT91S_SvcCommStatus (*WriteHandler) (struct _AT91PS_SvcXmodem *, unsigned int csr);
	unsigned short      (*GetCrc)       (char *ptr, unsigned int count);
	char                (*CheckHeader)  (unsigned char currentPacket, char *packet);
	char                (*CheckData)    (struct _AT91PS_SvcXmodem *);

	AT91S_SvcComm  parent;      // Base class
	AT91PS_USART  pUsart;

	AT91S_SvcTempo tempo; // Link to a AT91S_Tempo object

	char          *pData;
	unsigned int  dataSize;        // = XMODEM_DATA_STX or XMODEM_DATA_SOH
	char          packetDesc[AT91C_XMODEM_PACKET_SIZE];
	unsigned char packetId;         // Current packet
	char          packetStatus;
	char          isPacketDesc;
	char          eot;            // end of transmition
} AT91S_SvcXmodem, *AT91PS_SvcXmodem;


/*----------------------------------------------------------------------*/
/* DataFlash Structures							*/
/*----------------------------------------------------------------------*/

/*---------------------------------------------*/
/* DataFlash Descriptor Structure Definition   */
/*---------------------------------------------*/
typedef struct _AT91S_DataflashDesc {
	unsigned char 			*tx_cmd_pt;
	unsigned int 			tx_cmd_size;
	unsigned char 			*rx_cmd_pt;
	unsigned int 			rx_cmd_size;
	unsigned char 			*tx_data_pt;
	unsigned int 			tx_data_size;
	unsigned char 			*rx_data_pt;
	unsigned int 			rx_data_size;
	volatile unsigned char 	state;
	volatile unsigned char 	DataFlash_state;
	unsigned char 			command[8];
} AT91S_DataflashDesc, *AT91PS_DataflashDesc;

/*---------------------------------------------*/
/* DataFlash device definition structure       */
/*---------------------------------------------*/
typedef struct _AT91S_Dataflash {
	int pages_number;			/* dataflash page number */
	int pages_size;				/* dataflash page size */
	int page_offset;			/* page offset in command */
	int byte_mask;				/* byte mask in command */
	int cs;
} AT91S_DataflashFeatures, *AT91PS_DataflashFeatures;


/*---------------------------------------------*/
/* DataFlash Structure Definition	       */
/*---------------------------------------------*/
typedef struct _AT91S_DataFlash {
	AT91S_DataflashDesc pDataFlashDesc;	/* dataflash descriptor */
	AT91S_DataflashFeatures pDevice;	/* Pointer on a dataflash features array */
} AT91S_DataFlash, *AT91PS_DataFlash;


typedef struct _AT91S_DATAFLASH_INFO {

	//AT91S_DataflashDesc 	Desc;
	//AT91S_DataflashFeatures Device; /* Pointer on a dataflash features array */
	AT91S_DataFlash 		DataFlash;
	unsigned long 			logical_address;
	unsigned int 			id;			/* device id */
} AT91S_DATAFLASH_INFO, *AT91PS_DATAFLASH_INFO;



//* ====================================================================================
typedef unsigned int AT91S_SvcDataFlashStatus;

typedef struct _AT91PS_SvcDataFlash {
	void 					 (*Handler)						(struct _AT91PS_SvcDataFlash *, unsigned int );
	AT91S_SvcDataFlashStatus (*Status)  					(struct _AT91S_DataflashDesc *);
	void					 (*AbortCommand)  				(struct _AT91S_DataflashDesc *);

	AT91S_SvcDataFlashStatus (*PageRead)   					(struct _AT91PS_SvcDataFlash *, unsigned int, unsigned char *, int);
	AT91S_SvcDataFlashStatus (*ContinuousRead)   			(struct _AT91PS_SvcDataFlash *, int, unsigned char *, int);
	AT91S_SvcDataFlashStatus (*ReadBuffer)   				(struct _AT91PS_SvcDataFlash *, unsigned char, unsigned int, unsigned char *, int);
	AT91S_SvcDataFlashStatus (*MainMemoryToBufferTransfert) (struct _AT91PS_SvcDataFlash *, unsigned char,unsigned int);
	
	AT91S_SvcDataFlashStatus (*PagePgmBuf)  				(struct _AT91PS_SvcDataFlash *, unsigned char, unsigned char *, unsigned int, unsigned int);
	AT91S_SvcDataFlashStatus (*WriteBuffer)  				(struct _AT91PS_SvcDataFlash *, unsigned char, unsigned char *, unsigned int, int);
	AT91S_SvcDataFlashStatus (*WriteBufferToMain)  			(struct _AT91PS_SvcDataFlash *, unsigned char, unsigned int);
	
	AT91S_SvcDataFlashStatus (*PageErase)  					(struct _AT91PS_SvcDataFlash *, unsigned int);
	AT91S_SvcDataFlashStatus (*BlockErase)  				(struct _AT91PS_SvcDataFlash *, unsigned int);
	
	AT91S_SvcDataFlashStatus (*MainMemoryToBufferCompare) 	(struct _AT91PS_SvcDataFlash *, unsigned char, unsigned int);
		
	struct _AT91S_DataFlash  *pFlash;
	char          			 *pData;						// private data

}AT91S_SvcDataFlash, *AT91PS_SvcDataFlash;

/************************************************************************************************************************/
typedef AT91PS_SvcDataFlash (*AT91PF_OpenSvcDataFlash)  						(const AT91PS_PMC, AT91PS_SvcDataFlash);
typedef void 				(*AT91PF_SvcDataFlashHandler) 						(AT91PS_SvcDataFlash , unsigned int);
typedef AT91PS_SvcDataFlash	(*AT91PF_SvcDataFlashGetStatus) 					(struct _AT91S_DataflashDesc *);
typedef void 				(*AT91PF_SvcDataFlashAbortCommand) 					(struct _AT91S_DataflashDesc *);

typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashPageRead)      				(AT91PS_SvcDataFlash,unsigned int, unsigned char *, int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashContinuousRead)      			(AT91PS_SvcDataFlash,int, unsigned char *, int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashReadBuffer)      				(AT91PS_SvcDataFlash,unsigned char,unsigned int, unsigned char *, int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashMainMemoryToBufferTransfert)   (AT91PS_SvcDataFlash,unsigned char, unsigned int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashPagePgmBuf)     				(AT91PS_SvcDataFlash,unsigned char, unsigned char *, unsigned int, unsigned int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashWriteBuffer)     				(AT91PS_SvcDataFlash,unsigned char, unsigned char *, unsigned int, int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashWriteBufferToMain)     		(AT91PS_SvcDataFlash,unsigned char, unsigned int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashPageErase) 					(AT91PS_SvcDataFlash, unsigned int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashBlockErase) 					(AT91PS_SvcDataFlash, unsigned int);
typedef AT91PS_SvcDataFlash (*AT91PF_SvcDataFlashMainMemoryToBufferCompare) 	(AT91PS_SvcDataFlash, unsigned char, unsigned int);

/************************************************************************************************************************/
extern AT91PS_SvcDataFlash 		AT91F_OpenSvcDataFlash 				(const AT91PS_PMC, AT91PS_SvcDataFlash);
extern void 					AT91F_DataFlashHandler				(AT91PS_SvcDataFlash , unsigned int);
//extern AT91S_SvcDataFlashStatus	AT91F_DataFlashGetStatus			(struct _AT91S_DataflashDesc*);
extern void 					AT91F_DataFlashAbortCommand			(struct _AT91S_DataflashDesc*);

extern AT91S_SvcDataFlashStatus AT91F_DataFlashPageRead 			(AT91PS_SvcDataFlash,unsigned int,unsigned char *,int);
extern AT91S_SvcDataFlashStatus AT91F_DataFlashContinuousRead 		(AT91PS_SvcDataFlash ,int ,unsigned char *,int);
extern AT91S_SvcDataFlashStatus AT91F_DataFlashReadBuffer 			(AT91PS_SvcDataFlash,	unsigned char,	unsigned int, unsigned char *, int);
extern AT91S_SvcDataFlashStatus AT91F_MainMemoryToBufferTransfert	(AT91PS_SvcDataFlash ,unsigned char ,unsigned int );
extern AT91S_SvcDataFlashStatus AT91F_DataFlashPagePgmBuf			(AT91PS_SvcDataFlash,unsigned char,unsigned char*,unsigned int,unsigned int);
extern AT91S_SvcDataFlashStatus AT91F_DataFlashWriteBuffer 			(AT91PS_SvcDataFlash, unsigned char, unsigned char *, unsigned int, int);
extern AT91S_SvcDataFlashStatus AT91F_WriteBufferToMain 			(AT91PS_SvcDataFlash, unsigned char, unsigned int);
extern AT91S_SvcDataFlashStatus AT91F_PageErase 					(AT91PS_SvcDataFlash, unsigned int);
extern AT91S_SvcDataFlashStatus AT91F_BlockErase 					(AT91PS_SvcDataFlash, unsigned int);
extern AT91S_SvcDataFlashStatus AT91F_MainMemoryToBufferCompare		(AT91PS_SvcDataFlash, unsigned char, unsigned int);
/************************************************************************************************************************/

/************************************************************************************************************************/
typedef AT91PS_SvcComm      (*AT91PF_OpenSvcXmodem) ( AT91PS_SvcXmodem, AT91PS_USART, AT91PS_CtlTempo);

/************************************************************************************************************************/
// This function is called by the application.
extern AT91PS_SvcComm AT91F_OpenSvcXmodem( AT91PS_SvcXmodem, AT91PS_USART, AT91PS_CtlTempo);

extern unsigned short AT91F_SvcXmodemGetCrc     (char *ptr, unsigned int count);
extern char           AT91F_SvcXmodemCheckHeader(unsigned char currentPacket, char *packet);
extern char           AT91F_SvcXmodemCheckData  (AT91PS_SvcXmodem pSvcXmodem);
extern AT91S_SvcCommStatus AT91F_SvcXmodemReadHandler(AT91PS_SvcXmodem pSvcXmodem, unsigned int csr);
extern AT91S_SvcCommStatus AT91F_SvcXmodemWriteHandler(AT91PS_SvcXmodem pSvcXmodem, unsigned int csr);
extern AT91S_SvcCommStatus AT91F_SvcXmodemStartTx(AT91PS_SvcComm pSvcComm);
extern AT91S_SvcCommStatus AT91F_SvcXmodemStopTx(AT91PS_SvcComm pSvcComm);
extern AT91S_SvcCommStatus AT91F_SvcXmodemStartRx(AT91PS_SvcComm pSvcComm);
extern AT91S_SvcCommStatus AT91F_SvcXmodemStopRx(AT91PS_SvcComm pSvcComm);
extern char AT91F_SvcXmodemTxReady(AT91PS_SvcComm pService);
extern char AT91F_SvcXmodemRxReady(AT91PS_SvcComm pSvcComm);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// End of Xmodem service
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Pipe Structure
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Constants:
#define AT91C_PIPE_SUCCESS	      0
#define AT91C_PIPE_ERROR_SHIFT    8
#define AT91C_PIPE_ERROR          (0x0F << AT91C_PIPE_ERROR_SHIFT)

#define AT91C_PIPE_OPEN_FAILED    (1 << AT91C_PIPE_ERROR_SHIFT)
#define AT91C_PIPE_WRITE_FAILED   (2 << AT91C_PIPE_ERROR_SHIFT)
#define AT91C_PIPE_WRITE_ABORTED  (3 << AT91C_PIPE_ERROR_SHIFT)
#define AT91C_PIPE_READ_FAILED    (4 << AT91C_PIPE_ERROR_SHIFT)
#define AT91C_PIPE_READ_ABORTED   (5 << AT91C_PIPE_ERROR_SHIFT)
#define AT91C_PIPE_ABORT_FAILED   (6 << AT91C_PIPE_ERROR_SHIFT)
#define AT91C_PIPE_RESET_FAILED   (7 << AT91C_PIPE_ERROR_SHIFT)

/* _AT91S_Pipe stucture */
typedef unsigned int AT91S_PipeStatus;

typedef struct _AT91S_Pipe
{
	// A pipe is linked with a peripheral and a buffer
	AT91PS_SvcComm pSvcComm;
	AT91PS_Buffer  pBuffer;

	// Callback functions with their arguments
	void (*WriteCallback) (AT91S_PipeStatus, void *);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区最好精华液| ㊣最新国产の精品bt伙计久久| 成人久久久精品乱码一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 欧美丰满一区二区免费视频| 国产高清无密码一区二区三区| 夜夜精品视频一区二区| 日韩欧美国产综合一区| 91高清视频免费看| 国产精品一区二区在线观看不卡 | 91麻豆精品在线观看| 美女脱光内衣内裤视频久久网站| 亚洲欧美日韩在线| 久久先锋影音av鲁色资源| 欧美日韩中文精品| 不卡的av在线播放| 久久99蜜桃精品| 亚洲国产cao| 亚洲三级在线观看| 欧美国产一区在线| 久久综合九色综合欧美98| 欧美日韩国产一二三| 色婷婷综合久久久久中文一区二区| 国内精品视频666| 日韩精品一级二级| 亚洲精品视频在线观看网站| 国产精品久久久久久久久免费桃花 | 国产一区二区三区精品视频| 懂色av一区二区三区蜜臀| 午夜影院久久久| 久久狠狠亚洲综合| 久久一日本道色综合| 欧美tickling网站挠脚心| 日本一区二区三区国色天香| 亚洲人成网站影音先锋播放| 国产精品久久久久久久蜜臀| 蜜臀av一区二区在线观看| 99国产精品久久久久久久久久久| 91亚洲精华国产精华精华液| 欧美日韩视频第一区| 7777精品伊人久久久大香线蕉经典版下载 | 欧美一级艳片视频免费观看| 国产成人综合视频| 亚洲线精品一区二区三区| 国产精品久久毛片| 久久久久综合网| 精品国产一区久久| 欧美一区二区三级| 欧美性受xxxx黑人xyx性爽| 国产91精品在线观看| 久久成人羞羞网站| 激情图区综合网| 欧美揉bbbbb揉bbbbb| 亚洲欧洲av色图| 麻豆精品国产91久久久久久| 精品一区二区三区在线观看| 成人app在线| 成人黄页在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 欧美视频日韩视频| 欧美一区二区啪啪| 欧美精品一区二区精品网| 欧美刺激午夜性久久久久久久| 精品国产1区2区3区| 国产丝袜欧美中文另类| 亚洲欧美综合另类在线卡通| 一区二区三区在线视频免费 | 亚洲影院久久精品| 亚洲伊人色欲综合网| 亚洲一区成人在线| 成人精品视频网站| 亚洲一二三级电影| 视频一区二区不卡| 久久99国产精品免费网站| 高清国产一区二区| 欧美性大战久久久久久久 | 精品卡一卡二卡三卡四在线| 久久久99精品久久| 亚洲精品国产高清久久伦理二区| 丝袜a∨在线一区二区三区不卡| 久久国产福利国产秒拍| 99久久精品国产观看| 欧美人伦禁忌dvd放荡欲情| 久久一夜天堂av一区二区三区| 日韩毛片精品高清免费| 丝袜诱惑制服诱惑色一区在线观看 | 天天综合日日夜夜精品| 国内精品伊人久久久久av一坑| 97成人超碰视| 日韩写真欧美这视频| 中文字幕欧美三区| 日韩精品乱码免费| 99re这里只有精品首页| 日韩一级精品视频在线观看| 中文字幕一区二区三中文字幕| 日本美女视频一区二区| 99久久精品国产一区二区三区| 日韩欧美一区在线观看| 亚洲日本护士毛茸茸| 国产一区二区三区在线观看免费| 99精品国产99久久久久久白柏| 欧美成人一级视频| 亚洲综合精品自拍| 国产99久久久国产精品潘金网站| 欧美精品丝袜久久久中文字幕| 日韩码欧中文字| 国产成人精品亚洲777人妖 | 国产在线观看一区二区| 欧美色网站导航| 亚洲欧美在线视频观看| 国精品**一区二区三区在线蜜桃| 欧美性猛交一区二区三区精品 | 亚洲制服丝袜av| 丁香桃色午夜亚洲一区二区三区| 欧美一区二区三区人| 一区二区三区资源| 成人18视频在线播放| 久久久久久亚洲综合| 日产国产高清一区二区三区| 欧美性猛片aaaaaaa做受| 国产精品电影院| 成人免费视频国产在线观看| 欧美精品一区二区蜜臀亚洲| 狂野欧美性猛交blacked| 欧美精品一卡二卡| 图片区小说区区亚洲影院| 色偷偷久久人人79超碰人人澡| 国产精品久久三| 成人app软件下载大全免费| 国产精品素人视频| 丁香亚洲综合激情啪啪综合| 欧美极品xxx| 丰满少妇在线播放bd日韩电影| 久久一二三国产| 另类小说色综合网站| 日韩欧美精品在线视频| 久久成人免费日本黄色| 精品99一区二区三区| 激情丁香综合五月| 久久久精品国产免大香伊| 国产美女在线观看一区| 欧美精品一区二区三区蜜臀 | 99精品视频在线观看| 国产精品美女久久久久久| 成人在线综合网站| 中文字幕一区二区三区av| 99re8在线精品视频免费播放| 亚洲麻豆国产自偷在线| 欧美在线观看视频在线| 亚洲v日本v欧美v久久精品| 欧美精品 日韩| 蜜桃视频一区二区三区| 久久综合久久综合久久| 成人亚洲一区二区一| 亚洲人成网站在线| 欧美丰满嫩嫩电影| 久久精品国产秦先生| 国产日韩欧美高清在线| av在线不卡电影| 亚洲国产日韩综合久久精品| 欧美一区中文字幕| 国产精品白丝jk白祙喷水网站| 国产精品美女久久久久aⅴ| 色综合久久66| 免费看欧美女人艹b| 久久精品在这里| 在线亚洲一区二区| 美脚の诱脚舐め脚责91| 日本一区二区三区国色天香| 欧美亚洲精品一区| 九九九精品视频| 国产精品毛片大码女人| 在线免费不卡视频| 精品中文字幕一区二区| 亚洲图片激情小说| 91麻豆精品国产91久久久更新时间| 五月天精品一区二区三区| 国产日韩精品一区二区浪潮av| 91福利区一区二区三区| 激情综合色综合久久综合| 亚洲三级免费电影| 欧美一区二视频| 国产不卡在线一区| 日韩专区一卡二卡| 国产精品不卡在线观看| 91精品国产综合久久蜜臀| 成人深夜视频在线观看| 蜜臀99久久精品久久久久久软件| 国产精品乱人伦一区二区| 欧美精品久久99久久在免费线| 成人在线综合网站| 美女视频免费一区| 亚洲免费在线视频| 久久亚洲春色中文字幕久久久| 在线观看不卡视频| 粉嫩av一区二区三区| 日韩精品成人一区二区在线| 日韩一区欧美小说| 精品第一国产综合精品aⅴ| 欧美精选一区二区|