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

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

?? obj_dfudesc.h

?? at91rm9200的一級bootloader
?? H
字號:
//*----------------------------------------------------------------------------

//*         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           : obj_dfudesc.h

//* Object              : DFU filter.

//*

//* 1.0 07/24/01 ODi    : Creation

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

#ifndef obj_dfudesc_h

#define obj_dfudesc_h



#include "services/obj_usbdesc.h"

#include "services/obj_svctempo.h"

#include "services/obj_svcudp.h"



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

/* DFU definitions extracted from the USB Device Firmware Upgrade         */

/* Specification, revision 1.0                                            */

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



/* Run-Time DFU Functional Descriptor */

/* This descriptor is identical for both run-time and the DFU mode */

/* descriptor set */



typedef __packed struct _AT91S_DfuFDesc {

	volatile char  bLength;

	volatile char  bDescriptorType;

	volatile char  bmAttributes;

	volatile unsigned short wDetachTimeout;

	volatile unsigned short wTransferSize;

} AT91S_DfuFDesc, *AT91PS_DfuFDesc;



/* Device status structure as defined in */

/* USB Device Firmware Upgrade Specification, rev 1.1 */

typedef __packed struct _AT91S_DfuStatus {

	volatile char bStatus;

	volatile char bwPollTimeout[3];

	volatile char bState;

	char iString;

} AT91S_DfuStatus, *AT91PS_DfuStatus;



__inline char bmAttributes(AT91S_DfuFDesc const *pUSBDfuFDesc)

{

	char const *pChar = (char *) pUSBDfuFDesc;

	return pChar[2];

}



__inline unsigned short wDetachTimeOut(AT91S_DfuFDesc const *pUSBDfuFDesc)

{

	char const *pChar = (char *) pUSBDfuFDesc;

	return (((pChar[4]) << 8) | pChar[3]);

}



__inline unsigned short wTransferSize(AT91S_DfuFDesc const *pUSBDfuFDesc)

{

	char const *pChar = (char *) pUSBDfuFDesc;

	return ((pChar[6] << 8) | pChar[5]);

}



__inline unsigned int bwPollTimeout(AT91S_DfuStatus const *pStatus)

{

	char const *pChar = (char *) pStatus;

	return ((pChar[3] << 16) | (pChar[2] << 8) | pChar[1]);

}



/* DFU class-Specific Request Values */

#define AT91C_DFU_DETACH    0

#define AT91C_DFU_DNLOAD    1

#define AT91C_DFU_UPLOAD    2

#define AT91C_DFU_GETSTATUS 3

#define AT91C_DFU_CLRSTATUS 4

#define AT91C_DFU_GETSTATE  5

#define AT91C_DFU_ABORT     6



/* DFU state values, as defined in */

/* USB Device Firmware Upgrade Specification, rev 1.1 */

#define AT91C_DFU_appIDLE                0

#define AT91C_DFU_appDETACH              1

#define AT91C_DFU_dfuIDLE                2

#define AT91C_DFU_dfuDNLOAD_SYNC         3

#define AT91C_DFU_dfuDNBUSY              4

#define AT91C_DFU_dfuDNLOAD_IDLE         5

#define AT91C_DFU_dfuMANIFEST_SYNC       6

#define AT91C_DFU_dfuMANIFEST            7

#define AT91C_DFU_dfuMANIFEST_WAIT_RESET 8

#define AT91C_DFU_dfuUPLOAD_IDLE         9

#define AT91C_DFU_dfuERROR               10



/* DFU status values, as defined in */

/* USB Device Firmware Upgrade Specification, rev 1.1 */

#define AT91C_DFU_OK              0x00

#define AT91C_DFU_errTARGET       0x01

#define AT91C_DFU_errFILE         0x02

#define AT91C_DFU_errWRITE        0x03

#define AT91C_DFU_errERASE        0x04

#define AT91C_DFU_errCHECK_ERASED 0x05

#define AT91C_DFU_errPROG         0x06

#define AT91C_DFU_errVERIFY       0x07

#define AT91C_DFU_errADDRESS      0x08

#define AT91C_DFU_errNOTDONE      0x09

#define AT91C_DFU_errFIRMWARE     0x0A

#define AT91C_DFU_errVENDOR       0x0B

#define AT91C_DFU_errUSBR         0x0C

#define AT91C_DFU_errPOR          0x0D

#define AT91C_DFU_errUNKNOWN      0x0E

#define AT91C_DFU_errSTALLPKT     0x0F



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

/* DFU definitions used in lib_dfu.c                                      */

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





typedef struct _AT91S_DfuDesc {

	AT91PS_Pipe  pPipe;     // Link to a AT91S_Pipe object

	AT91S_SvcTempo tempo; // Link to a AT91S_Tempo object



	// Private methods:

	void (*State0)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State1)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State2)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State3)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State4)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State5)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State6)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State7)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State8)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State9)  (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);

	void (*State10) (struct _AT91S_DfuDesc *, AT91PS_UsbSetup);



	void (*GetStatus) (struct _AT91S_DfuDesc *);

	void (*GetState)  (struct _AT91S_DfuDesc *);



	// public methods:

	void (*DispatchClassRequest) (AT91PS_UsbSetup, void *);

	void (*Download)(struct _AT91S_DfuDesc *, unsigned short, AT91PF_PipeReadCallBack);

	void (*Upload)(struct _AT91S_DfuDesc *, unsigned short);



	// Public data:

	AT91S_DfuStatus dfuStatus;

	AT91S_DfuFDesc const *pDfuFDesc;

	char manifestComplete;

	char blockComplete;



} AT91S_DfuDesc, *AT91PS_DfuDesc;



// Types definition:

typedef void (*AT91PF_DfuDescDownload)  (AT91PS_DfuDesc, unsigned short, AT91PF_PipeReadCallBack);

typedef void (*AT91PF_DfuDescUpload)  (AT91PS_DfuDesc, unsigned short);



typedef AT91PS_DfuDesc (*AT91PF_OpenDfuDesc) (

	AT91PS_DfuDesc, 

	AT91PS_Pipe, 

	AT91PS_CtlTempo, 

	char, 

	AT91S_DfuFDesc const *, 

	AT91PF_DfuDescDownload, 

	AT91PF_DfuDescUpload);

typedef void (*AT91PF_DfuDescDispatchClassRequest) (AT91PS_DfuDesc, void *);

typedef void (*AT91PF_DfuDescState0)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState1)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState2)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState3)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState4)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState5)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState6)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState7)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState8)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState9)  (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescState10) (AT91PS_DfuDesc, AT91PS_UsbSetup);

typedef void (*AT91PF_DfuDescGetStatus) (AT91PS_DfuDesc);

typedef void (*AT91PF_DfuDescGetState)  (AT91PS_DfuDesc);



// Function declaration:

extern AT91PS_DfuDesc AT91F_OpenDfuDesc(AT91PS_DfuDesc, AT91PS_Pipe, AT91PS_CtlTempo, char, AT91S_DfuFDesc const *, AT91PF_DfuDescDownload, AT91PF_DfuDescUpload);



extern void AT91F_DfuDescDispatchClassRequest (AT91PS_UsbSetup, void *);

extern void AT91F_DfuDescState0  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState1  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState2  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState3  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState4  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState5  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState6  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState7  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState8  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState9  (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescState10 (AT91PS_DfuDesc, AT91PS_UsbSetup);

extern void AT91F_DfuDescGetStatus(AT91PS_DfuDesc);

extern void AT91F_DfuDescGetState (AT91PS_DfuDesc);

extern void AT91F_DfuDescSuccess  (AT91PS_DfuDesc);

extern void AT91F_DfuDescError    (AT91PS_DfuDesc);

extern void AT91F_DfuDescDetachTimeout(AT91S_TempoStatus status, void *pVoid);

extern void AT91F_DfuDescStatusPollTimeOut(AT91S_TempoStatus status, void *pVoid);

extern void AT91F_DfuDescDownload(AT91S_PipeStatus status, void *pVoid);

#endif // obj_dfudesc_h

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合欧美亚洲| 色哟哟精品一区| 亚洲自拍偷拍综合| 国产亚洲va综合人人澡精品| 911国产精品| 在线观看av一区二区| 国产999精品久久| 亚洲一区二区av在线| 欧美精品欧美精品系列| 99在线热播精品免费| 国产毛片精品国产一区二区三区| 午夜电影久久久| 亚洲嫩草精品久久| 国产精品每日更新| 国产精品丝袜91| 久久久久久久久岛国免费| 欧美一三区三区四区免费在线看| 欧美在线不卡视频| 91免费看视频| 91无套直看片红桃| 看国产成人h片视频| 夜夜夜精品看看| 亚洲色图制服丝袜| 中文字幕日韩av资源站| 日本一区二区三级电影在线观看 | 亚洲午夜久久久久中文字幕久| 国产精品女同一区二区三区| 国产精品嫩草99a| 国产欧美日韩综合| 国产精品妹子av| 国产精品久久毛片av大全日韩| 日韩视频在线你懂得| 日韩精品一区二区三区三区免费| 91在线免费视频观看| 91亚洲资源网| 欧美亚洲动漫另类| 777色狠狠一区二区三区| 欧美日韩一区二区三区高清 | 不卡av免费在线观看| 国产不卡视频一区| 99riav一区二区三区| 在线观看三级视频欧美| 欧美绝品在线观看成人午夜影视| 在线电影院国产精品| 欧美不卡激情三级在线观看| 精品国产凹凸成av人网站| 欧美国产亚洲另类动漫| 有坂深雪av一区二区精品| 日韩一区欧美一区| 国产欧美日韩在线视频| 亚洲九九爱视频| 日韩av一级片| 国产a久久麻豆| 欧美三级蜜桃2在线观看| 久久无码av三级| 亚洲欧美在线另类| 青青草原综合久久大伊人精品| 国产精品一区免费在线观看| 色综合久久中文综合久久牛| 日韩欧美www| 欧美日韩不卡一区二区| 日本中文字幕一区二区视频| 欧美一区二区视频在线观看2022| 国产人成一区二区三区影院| 午夜电影一区二区三区| 51精品视频一区二区三区| 午夜精品久久久| 国产成人在线视频网址| 欧美草草影院在线视频| 黄页网站大全一区二区| 2017欧美狠狠色| 在线精品国精品国产尤物884a| 樱桃视频在线观看一区| 国产嫩草影院久久久久| 国产中文一区二区三区| 欧美三级三级三级爽爽爽| 国产日韩三级在线| 成人三级伦理片| 日韩一卡二卡三卡| 亚洲在线免费播放| 欧美亚洲精品一区| 中文字幕欧美一| 国产a区久久久| 国产精品国产三级国产有无不卡 | 亚洲国产精品高清| 麻豆精品在线视频| 粉嫩aⅴ一区二区三区四区| 国产日韩欧美一区二区三区综合| 日韩成人免费电影| 精品噜噜噜噜久久久久久久久试看| 亚洲一区成人在线| 色婷婷激情一区二区三区| 亚洲狠狠丁香婷婷综合久久久| www.亚洲免费av| 国产午夜精品一区二区三区视频 | 555www色欧美视频| 亚洲精品乱码久久久久久黑人| 国产成人免费视频一区| 91麻豆精品国产91久久久使用方法 | 亚洲综合色视频| 欧洲一区在线电影| 香蕉成人伊视频在线观看| 在线免费观看日韩欧美| 亚洲午夜国产一区99re久久| 色综合久久中文字幕| 久久久99精品免费观看| 久久99精品国产麻豆婷婷洗澡| 日韩欧美不卡在线观看视频| 欧美国产国产综合| 亚洲成av人片观看| 国产大陆a不卡| 一区在线观看视频| 亚洲欧美另类在线| 亚洲成人第一页| 国产精品一品二品| 久久超碰97中文字幕| 偷偷要91色婷婷| 成人午夜免费视频| 欧美精品日韩一区| 99国产一区二区三精品乱码| 99久久精品一区| 国产精一区二区三区| 国产精品免费视频观看| 在线视频综合导航| 国产91清纯白嫩初高中在线观看 | 亚洲国产精品国自产拍av| 成人av电影免费观看| 一区二区三区在线播| 日韩一级黄色大片| 极品少妇xxxx精品少妇偷拍| 国产精品沙发午睡系列990531| 在线成人午夜影院| 高清不卡一区二区在线| 亚洲最色的网站| 久久精品一区八戒影视| 97久久精品人人做人人爽| 久久爱另类一区二区小说| 亚洲视频 欧洲视频| 亚洲福利一区二区| 中文欧美字幕免费| 欧美一区日韩一区| 99re成人在线| 黑人巨大精品欧美黑白配亚洲| 亚洲精品中文字幕在线观看| 日韩视频在线观看一区二区| 一本色道久久综合精品竹菊| 免费观看成人av| 亚洲欧美激情插| 久久美女艺术照精彩视频福利播放 | 久久亚洲一级片| 欧美日韩另类一区| 99麻豆久久久国产精品免费| 麻豆91免费看| 亚洲国产精品视频| 国产精品久久久久一区| 精品奇米国产一区二区三区| 在线观看免费视频综合| 成人av电影在线播放| 韩国欧美一区二区| 婷婷久久综合九色国产成人| 亚洲人成7777| 精品粉嫩超白一线天av| 欧美日韩国产小视频| 91免费在线播放| 成人激情动漫在线观看| 国产一区在线视频| 久久99国产精品久久99果冻传媒| 亚洲午夜免费电影| 亚洲图片欧美综合| 日韩制服丝袜先锋影音| 一区二区三区电影在线播| 亚洲精品亚洲人成人网在线播放| 亚洲免费视频成人| 91黄色免费版| 91精品国产综合久久精品麻豆 | 欧美日本乱大交xxxxx| 国产91在线观看| 波多野结衣欧美| 成人av午夜影院| 欧美日韩精品一区二区| 欧美三区免费完整视频在线观看| 欧美无砖砖区免费| 日韩专区欧美专区| 日韩黄色免费网站| 极品美女销魂一区二区三区| 国产成人免费av在线| 91偷拍与自偷拍精品| 欧美在线高清视频| 欧美xxxxxxxx| 自拍偷自拍亚洲精品播放| 亚洲制服欧美中文字幕中文字幕| 看电视剧不卡顿的网站| av在线不卡观看免费观看| 欧美日韩一级黄| 中文字幕免费观看一区| 午夜精品成人在线| 成人免费观看av| 日韩一区二区电影| 亚洲欧美欧美一区二区三区| 免费看日韩精品|