94 #define DFU_SAMPLE_FREQ(frq) (uint8_t)(frq), (uint8_t)((frq >> 8)), (uint8_t)((frq >> 16)) 96 #define DFU_PACKET_SZE(frq) (uint8_t)(((frq * 2 * 2)/1000) & 0xFF), \ 97 (uint8_t)((((frq * 2 * 2)/1000) >> 8) & 0xFF) 120 static uint8_t *USBD_DFU_GetCfgDesc (uint16_t *length);
122 static uint8_t *USBD_DFU_GetDeviceQualifierDesc (uint16_t *length);
138 #if (USBD_SUPPORT_USER_STRING == 1) 139 static uint8_t* USBD_DFU_GetUsrStringDesc (
USBD_HandleTypeDef *pdev, uint8_t index , uint16_t *length);
172 USBD_DFU_EP0_TxReady,
173 USBD_DFU_EP0_RxReady,
177 USBD_DFU_IsoINIncomplete,
178 USBD_DFU_IsoOutIncomplete,
182 USBD_DFU_GetDeviceQualifierDesc,
183 #if (USBD_SUPPORT_USER_STRING == 1) 184 USBD_DFU_GetUsrStringDesc
206 #if (USBD_DFU_MAX_ITF_NUM > 1) 211 #if (USBD_DFU_MAX_ITF_NUM > 2) 216 #if (USBD_DFU_MAX_ITF_NUM > 3) 221 #if (USBD_DFU_MAX_ITF_NUM > 4) 226 #if (USBD_DFU_MAX_ITF_NUM > 5) 231 #if (USBD_DFU_MAX_ITF_NUM > 6) 232 #error "ERROR: usbd_dfu_core.c: Modify the file to support more descriptors!" 303 hdfu->
data_ptr = USBD_DFU_APP_DEFAULT_ADD;
381 DFU_Download(pdev, req);
385 DFU_Upload(pdev, req);
393 DFU_ClearStatus(pdev);
405 DFU_Detach(pdev, req);
465 static uint8_t *USBD_DFU_GetCfgDesc (uint16_t *length)
467 *length =
sizeof (USBD_DFU_CfgDesc);
468 return USBD_DFU_CfgDesc;
637 static uint8_t *USBD_DFU_GetDeviceQualifierDesc (uint16_t *length)
639 *length =
sizeof (USBD_DFU_DeviceQualifierDesc);
640 return USBD_DFU_DeviceQualifierDesc;
651 #if (USBD_SUPPORT_USER_STRING == 1) 652 static uint8_t* USBD_DFU_GetUsrStringDesc (
USBD_HandleTypeDef *pdev, uint8_t index , uint16_t *length)
654 static uint8_t USBD_StrDesc[255];
802 uint8_t *phaddr =
NULL;
Header file for the usbd_dfu.c file.
#define DFU_ERROR_UNKNOWN
#define DFU_STATE_DNLOAD_IDLE
#define DFU_CMD_SETADDRESSPOINTER
USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev)
USBD_Stop Stop the USB Device Core.
#define USB_LEN_DEV_QUALIFIER_DESC
#define DFU_STATE_UPLOAD_IDLE
#define TRANSFER_SIZE_BYTES(size)
uint8_t d8[USBD_DFU_XFER_SIZE]
#define DFU_STATE_DNLOAD_SYNC
__IO uint32_t alt_setting
#define DFU_STATE_MANIFEST_SYNC
#define USB_REQ_GET_DESCRIPTOR
#define USB_REQ_GET_INTERFACE
#define DFU_STATE_DNLOAD_BUSY
#define DFU_MEDIA_PROGRAM
#define USB_DFU_CONFIG_DESC_SIZ
#define USBD_IDX_INTERFACE_STR
USBD_ClassTypeDef USBD_DFU
#define USBD_DFU_MAX_ITF_NUM
union USBD_DFU_HandleTypeDef::@34 buffer
#define USB_REQ_SET_INTERFACE
void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_CtlError Handle USB low level Error.
#define DFU_DESCRIPTOR_TYPE
#define USB_REQ_TYPE_CLASS
void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len)
USBD_GetString Convert Ascii string into unicode one.
#define DFU_STATE_MANIFEST
#define DFU_ERROR_STALLEDPKT
#define USB_DESC_TYPE_CONFIGURATION
#define USB_REQ_TYPE_STANDARD
uint8_t dev_status[DFU_STATUS_DEPTH]
__STATIC_INLINE void NVIC_SystemReset(void)
System Reset.
#define USBD_DFU_IF_DESC(n)
#define DFU_CMD_GETCOMMANDS
USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlPrepareRx receive data on the ctl pipe.
uint8_t USBD_DFU_RegisterMedia(USBD_HandleTypeDef *pdev, USBD_DFU_MediaTypeDef *fops)
USBD_DFU_GetUsrStringDesc Manages the transfer of memory interfaces string descriptors.
#define DFU_MANIFEST_IN_PROGRESS
USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev)
USBD_Start Start the USB Device Core.
USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *buf, uint16_t len)
USBD_CtlSendData send data on the ctl pipe.
#define DFU_STATE_MANIFEST_WAIT_RESET
#define USB_DESC_TYPE_DEVICE_QUALIFIER
#define USB_REQ_TYPE_MASK
#define DFU_MANIFEST_COMPLETE