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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? embedded_services.h

?? at91rm9200的一級bootloader
?? H
?? 第 1 頁 / 共 3 頁
字號:
/*----------------------------------------------------------------------------	*/

/*      ATMEL Microcontroller Software Support  -  ROUSSET  -			*/

/*----------------------------------------------------------------------------	*/

/* The software is delivered "AS IS" without warranty or condition of any	*/

/* kind, either express, implied or statutory. This includes without		*/

/* limitation any warranty or condition with respect to merchantability or	*/

/* fitness for any particular purpose, or against the infringements of		*/

/* intellectual property rights of others.					*/

/*----------------------------------------------------------------------------	*/

/* File Name           : embedded_sevices.h					*/

/* Object              : Header File with all the embedded software services definitions*/

/* 1.0 24 Jan 2003 FB  : Creation						*/

/*----------------------------------------------------------------------------	*/

#ifndef embedded_sevices_h

#define embedded_sevices_h



#include "AT91RM9200.h"



#define AT91C_BASE_ROM	0x00100000





/*----------------------------------------------------------------------------	*/

/* Buffer Structure								*/

/*----------------------------------------------------------------------------	*/

/* Return values */

#define AT91C_BUFFER_SUCCESS	       0

#define AT91C_BUFFER_ERROR_SHIFT      16

#define AT91C_BUFFER_ERROR            (0x0F << AT91C_BUFFER_ERROR_SHIFT)



#define AT91C_BUFFER_OVERFLOW         (0x01 << AT91C_BUFFER_ERROR_SHIFT)

#define AT91C_BUFFER_UNDERRUN         (0x02 << AT91C_BUFFER_ERROR_SHIFT)



typedef unsigned int AT91S_BufferStatus;



struct _AT91S_Pipe;



/* This structure is a virtual object of a buffer */

typedef struct _AT91S_Buffer

{

	struct _AT91S_Pipe *pPipe;

	void *pChild;



	/* Functions invoked by the pipe */

	AT91S_BufferStatus (*SetRdBuffer)     (struct _AT91S_Buffer *pSBuffer, char *pBuffer, unsigned int Size);

	AT91S_BufferStatus (*SetWrBuffer)     (struct _AT91S_Buffer *pSBuffer, char const *pBuffer, unsigned int Size);

	AT91S_BufferStatus (*RstRdBuffer)     (struct _AT91S_Buffer *pSBuffer);

	AT91S_BufferStatus (*RstWrBuffer)     (struct _AT91S_Buffer *pSBuffer);

	char (*MsgWritten)      (struct _AT91S_Buffer *pSBuffer, char const *pBuffer);

	char (*MsgRead)         (struct _AT91S_Buffer *pSBuffer, char const *pBuffer);

	/* Functions invoked by the peripheral */

	AT91S_BufferStatus (*GetWrBuffer)     (struct _AT91S_Buffer *pSBuffer, char const **pData, unsigned int *pSize);

	AT91S_BufferStatus (*GetRdBuffer)     (struct _AT91S_Buffer *pSBuffer, char **pData, unsigned int *pSize);

	AT91S_BufferStatus (*EmptyWrBuffer)   (struct _AT91S_Buffer *pSBuffer, unsigned int size);

	AT91S_BufferStatus (*FillRdBuffer)    (struct _AT91S_Buffer *pSBuffer, unsigned int size);

	char (*IsWrEmpty)      (struct _AT91S_Buffer *pSBuffer);

	char (*IsRdFull)       (struct _AT91S_Buffer *pSBuffer);

} AT91S_Buffer, *AT91PS_Buffer;



/*----------------------------------------------------------------------------	*/

/* End of Buffer Structure							*/

/*----------------------------------------------------------------------------	*/



/*----------------------------------------------------------------------------	*/

/* SBuffer Structure								*/

/*----------------------------------------------------------------------------	*/



/* ===========================================================================	*/

/* SimpleBuffer definition							*/

/*										*/

/* This structure is pointed by pRealBuffer field in the SBuffer		*/

/* It contains usefull information for a real implementation of			*/

/* a SBuffer object.								*/

/* The application just create an instance of SSBUffer and SBuffer,		*/

/* call OpenSimpleBuffer, and continue using SBuffer instance			*/



typedef struct _AT91S_SBuffer

{

	AT91S_Buffer parent;

	char         *pRdBuffer;

	char const   *pWrBuffer;

	unsigned int szRdBuffer;

	unsigned int szWrBuffer;

	unsigned int stRdBuffer;

	unsigned int stWrBuffer;

} AT91S_SBuffer, *AT91PS_SBuffer;



typedef AT91PS_Buffer (*AT91PF_OpenSBuffer) (AT91PS_SBuffer);



/* This function is called by the application */

extern AT91PS_Buffer AT91F_OpenSBuffer(AT91PS_SBuffer pBuffer);



/* Functions invoked by the pipe */

extern AT91S_BufferStatus AT91F_SbSetRdBuffer  (AT91PS_Buffer pBuffer, char *pData, unsigned int Size);

extern AT91S_BufferStatus AT91F_SbSetWrBuffer  (AT91PS_Buffer pBuffer, char const *pData, unsigned int Size);

extern AT91S_BufferStatus AT91F_SbRstRdBuffer  (AT91PS_Buffer pBuffer);

extern AT91S_BufferStatus AT91F_SbRstWrBuffer  (AT91PS_Buffer pBuffer);

extern char AT91F_SbMsgWritten   (AT91PS_Buffer pBuffer, char const *pMsg);

extern char AT91F_SbMsgRead      (AT91PS_Buffer pBuffer, char const *pMsg);

/* Functions invoked by the peripheral */

extern AT91S_BufferStatus AT91F_SbGetWrBuffer  (AT91PS_Buffer pBuffer, char const **pData, unsigned int *pSize);

extern AT91S_BufferStatus AT91F_SbGetRdBuffer  (AT91PS_Buffer pBuffer, char **pData, unsigned int *pSize);

extern AT91S_BufferStatus AT91F_SbEmptyWrBuffer(AT91PS_Buffer pBuffer, unsigned int size);

extern AT91S_BufferStatus AT91F_SbFillRdBuffer (AT91PS_Buffer pBuffer, unsigned int size);

extern char AT91F_SbIsWrEmpty   (AT91PS_Buffer pBuffer);

extern char AT91F_SbIsRdFull    (AT91PS_Buffer pBuffer);



#ifdef DBG_DRV_BUFFER

extern char const *AT91F_SbGetError(AT91S_BufferStatus errorNumber);

#endif

/*----------------------------------------------------------------------------	*/

/* End of SBuffer Structure							*/

/*----------------------------------------------------------------------------	*/





/*----------------------------------------------------------------------------	*/

/* Tempo service								*/

/*----------------------------------------------------------------------------	*/

#define AT91C_OPEN_CTRLTEMPO_SUCCESS	0

#define AT91C_ERROR_OPEN_CTRLTEMPO	1

#define AT91C_START_OK			2

#define AT91C_STOP_OK			3

#define AT91C_TIMEOUT_REACHED		4



/************************************************************************************************************************/

typedef enum _AT91E_SvcTempo {

	AT91E_SVCTEMPO_DIS,

	AT91E_SVCTEMPO_EN

} AT91E_SvcTempo;



/************************************************************************************************************************/

typedef unsigned int AT91S_TempoStatus;



/************************************************************************************************************************/

/* AT91S_SvcTempo */

typedef struct _AT91S_SvcTempo

{



	/* Methods: */

	AT91S_TempoStatus (*Start)  (

		struct _AT91S_SvcTempo *pSvc,

		unsigned int timeout,

		unsigned int reload,

		void (*callback) (AT91S_TempoStatus, void *),

		void *pData);

	AT91S_TempoStatus (*Stop)   (struct _AT91S_SvcTempo *pSvc);



	struct _AT91S_SvcTempo *pPreviousTempo;

	struct _AT91S_SvcTempo *pNextTempo;



	/* Data */

	unsigned int TickTempo;	/* timeout value */

	unsigned int ReloadTempo;/* Reload value for periodic execution */

	void (*TempoCallback)(AT91S_TempoStatus, void *);

	void *pPrivateData;

	AT91E_SvcTempo flag;

} AT91S_SvcTempo, *AT91PS_SvcTempo;





/************************************************************************************************************************/

/* AT91S_CtrlTempo */

typedef struct _AT91S_CtlTempo

{

	/* Members: */



	/* Start and stop for Timer	hardware */

	AT91S_TempoStatus (*CtlTempoStart)  (void *pTimer);

	AT91S_TempoStatus (*CtlTempoStop)   (void *pTimer);



	/* Start and stop for Tempo service */

	AT91S_TempoStatus (*SvcTempoStart)  (

		struct _AT91S_SvcTempo *pSvc,

		unsigned int timeout,

		unsigned int reload,

		void (*callback) (AT91S_TempoStatus, void *),

		void *pData);

	AT91S_TempoStatus (*SvcTempoStop)   (struct _AT91S_SvcTempo *pSvc);

	AT91S_TempoStatus (*CtlTempoSetTime)(struct _AT91S_CtlTempo *pCtrl, unsigned int NewTime);

	AT91S_TempoStatus (*CtlTempoGetTime)(struct _AT91S_CtlTempo *pCtrl);

	AT91S_TempoStatus (*CtlTempoIsStart)(struct _AT91S_CtlTempo *pCtrl);

	AT91S_TempoStatus (*CtlTempoCreate) (

								struct _AT91S_CtlTempo *pCtrl,

								struct _AT91S_SvcTempo *pTempo);

	AT91S_TempoStatus (*CtlTempoRemove) (

								struct _AT91S_CtlTempo *pCtrl,

								struct _AT91S_SvcTempo *pTempo);

	AT91S_TempoStatus (*CtlTempoTick)   (struct _AT91S_CtlTempo *pCtrl);



	/* Data: */



	void *pPrivateData;     /* Pointer to devived class */

	void const *pTimer;			/* hardware */

	AT91PS_SvcTempo pFirstTempo;

	AT91PS_SvcTempo pNewTempo;

} AT91S_CtlTempo, *AT91PS_CtlTempo;

/************************************************************************************************************************/

typedef AT91S_TempoStatus (*AT91PF_OpenCtlTempo)   ( AT91PS_CtlTempo, void const *);



/************************************************************************************************************************/

/* This function is called by the application. */

extern AT91S_TempoStatus AT91F_OpenCtlTempo( AT91PS_CtlTempo pCtrlTempo, void const *pTempoTimer );



extern AT91S_TempoStatus AT91F_STStart   (void *);

extern AT91S_TempoStatus AT91F_STStop    (void *);

extern AT91S_TempoStatus AT91F_STSetTime (AT91PS_CtlTempo, unsigned int);

extern AT91S_TempoStatus AT91F_STGetTime (AT91PS_CtlTempo);

extern AT91S_TempoStatus AT91F_STIsStart (AT91PS_CtlTempo);

extern AT91S_TempoStatus AT91F_CtlTempoCreate (AT91PS_CtlTempo, AT91PS_SvcTempo);

extern AT91S_TempoStatus AT91F_CtlTempoRemove (AT91PS_CtlTempo, AT91PS_SvcTempo);

extern AT91S_TempoStatus AT91F_CtlTempoTick   (AT91PS_CtlTempo);

extern AT91S_TempoStatus AT91F_SvcTempoStart (

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产美女一区二区| 色综合久久综合| 亚洲欧美另类久久久精品| 91精品国产色综合久久ai换脸| 成人免费电影视频| 麻豆成人av在线| 亚洲国产cao| 成人欧美一区二区三区视频网页| 91精品蜜臀在线一区尤物| 一本在线高清不卡dvd| 精品综合久久久久久8888| 一级中文字幕一区二区| 国产欧美日韩精品一区| 日韩一区二区三| 欧美剧情片在线观看| 不卡高清视频专区| 国产成人在线网站| 激情都市一区二区| 日本午夜一本久久久综合| 亚洲线精品一区二区三区 | 国产午夜精品久久久久久免费视| 欧美性一级生活| 99麻豆久久久国产精品免费优播| 狠狠色丁香久久婷婷综合丁香| 日韩精品国产精品| 婷婷一区二区三区| 午夜视频一区二区三区| 亚洲国产另类精品专区| 亚洲最色的网站| 亚洲精品免费看| 成人欧美一区二区三区白人| 国产精品免费视频网站| 国产日产精品一区| 欧美国产日韩一二三区| 国产婷婷一区二区| 国产调教视频一区| 欧美精品一区二区精品网| 日韩午夜电影在线观看| 69av一区二区三区| 日韩一区二区三区电影在线观看| 欧美一区二区在线播放| 欧美一二三四区在线| 91精品在线一区二区| 日韩欧美一区二区免费| 日韩一区二区三区高清免费看看| 欧美一级久久久久久久大片| 欧美变态凌虐bdsm| 国产亚洲综合在线| 中文字幕不卡三区| 亚洲老司机在线| 亚洲一区二区视频在线观看| 午夜精品爽啪视频| 蜜臀久久久99精品久久久久久| 蜜臀久久99精品久久久久宅男| 蜜桃在线一区二区三区| 国产激情一区二区三区桃花岛亚洲| 国内精品伊人久久久久av一坑| 国产精品99久久久久久有的能看| 国产黄人亚洲片| 99久久婷婷国产| 欧美日韩1区2区| 日韩精品一区二区三区在线| 欧美韩国一区二区| 亚洲综合在线五月| 欧美aⅴ一区二区三区视频| 韩国欧美国产1区| 成人h动漫精品| 欧美亚洲免费在线一区| 日韩一卡二卡三卡四卡| 日本一区二区久久| 亚洲超碰精品一区二区| 久久97超碰色| 久久婷婷综合激情| 国产精品久久久久久妇女6080| 亚洲伦理在线精品| 美女免费视频一区二区| 成人午夜电影久久影院| 欧美精品黑人性xxxx| 欧美经典一区二区| 亚洲成人av一区| 国产精品一区二区久久不卡| 欧美主播一区二区三区| 精品久久久久一区二区国产| 亚洲三级免费电影| 久久99精品久久久久久久久久久久 | 成人一级片在线观看| 欧美日韩一区二区三区免费看| 精品久久国产97色综合| 一区二区三区欧美日| 国产精品一二三| 欧美日韩国产在线播放网站| 国产日韩精品视频一区| 午夜日韩在线观看| 99re这里都是精品| 精品奇米国产一区二区三区| 一区二区三区在线高清| 国产一二三精品| 欧美美女bb生活片| 亚洲视频免费在线观看| 国产制服丝袜一区| 在线不卡一区二区| 亚洲日本韩国一区| 国产精品18久久久久久久久| 欧美一区二区女人| 亚洲国产日韩一区二区| 成人性视频网站| 欧美成人精品二区三区99精品| 亚洲免费毛片网站| 成人免费高清视频在线观看| 精品国产乱码久久| 蜜桃久久精品一区二区| 欧美视频一区二| 粉嫩av一区二区三区粉嫩| 欧美不卡123| 免费人成在线不卡| 777午夜精品视频在线播放| 亚洲一区影音先锋| 色婷婷一区二区三区四区| 亚洲国产精品ⅴa在线观看| 精品一区二区三区在线观看| 91精品一区二区三区久久久久久| 亚洲一区二区三区小说| 欧美在线小视频| 一区二区三区**美女毛片| 一本大道久久a久久精品综合| 国产精品三级电影| 成人激情免费网站| 国产精品美女久久久久aⅴ| 国产电影精品久久禁18| 久久久久久9999| 东方aⅴ免费观看久久av| 中文字幕第一区二区| 成人手机在线视频| 亚洲天堂2016| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 日韩高清一级片| 欧美一区二区在线播放| 理论电影国产精品| xf在线a精品一区二区视频网站| 久久99久久99| 国产欧美一区二区三区在线老狼| 国产精品夜夜爽| 亚洲欧洲无码一区二区三区| 91麻豆成人久久精品二区三区| 亚洲人成网站精品片在线观看| 色先锋久久av资源部| 亚洲成av人片在线观看| 欧美一区二区三区啪啪| 国产呦萝稀缺另类资源| 国产精品视频免费| 色香蕉成人二区免费| 亚洲成av人影院| 精品福利一二区| 成人app网站| 亚洲综合丁香婷婷六月香| 欧美日韩情趣电影| 精品一区二区在线看| 中文一区二区在线观看| 91老司机福利 在线| 亚洲国产精品视频| 精品国产露脸精彩对白| youjizz国产精品| 亚洲国产日日夜夜| 2021国产精品久久精品| 99久久久无码国产精品| 亚洲福利视频一区| 久久久久久久久久久久久女国产乱 | 亚洲成人av一区二区三区| 精品国产乱码久久久久久图片| 国产高清视频一区| 亚洲欧美国产77777| 日韩视频免费直播| 成人高清视频在线| 天使萌一区二区三区免费观看| 久久夜色精品国产噜噜av| av在线不卡免费看| 青青草一区二区三区| 国产精品电影一区二区三区| 91精品国产全国免费观看| 成人影视亚洲图片在线| 亚欧色一区w666天堂| 日本一二三四高清不卡| 欧美电影在线免费观看| 不卡的电影网站| 日本视频一区二区| 亚洲精品视频观看| 久久―日本道色综合久久| 在线观看91精品国产入口| 国产成人精品亚洲日本在线桃色| 亚洲一区在线观看免费观看电影高清| 欧美精品一区二| 欧美日韩一本到| 99视频有精品| 国产成人日日夜夜| 日韩电影在线一区二区| 亚洲免费观看视频| 欧美国产97人人爽人人喊| 日韩精品一区二区在线| 91国产视频在线观看| 波多野结衣中文一区|