| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Data Structures
- Data Structure Index
- Data Fields

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
USBD_DFU_API_T Struct Reference
Device Firmware Upgrade (DFU) Class Function Driver

## Detailed Description

DFU class API functions structure.

This module exposes functions which interact directly with USB device controller hardware.

Definition at line 182 of file usbd_dfuuser.h.

`#include "usbd_dfuuser.h"`

## Data Fields
uint32_t(* | GetMemSize )(USBD_DFU_INIT_PARAM_T *param)
ErrorCode_t(* | init )(USBD_HANDLE_T hUsb, USBD_DFU_INIT_PARAM_T *param, uint32_t init_state)

## Field Documentation

uint32_t(* GetMemSize)(USBD_DFU_INIT_PARAM_T *param)

Function to determine the memory required by the DFU function driver module.

This function is called by application layer before calling pUsbApi->dfu->Init(), to allocate memory used by DFU function driver module. The application should allocate the memory which is accessible by USB controller/DMA controller.

Note
  Some memory areas are not accessible by all bus masters.

Parameters

  [in] | param | Structure containing DFU function driver module initialization parameters.

Returns
  Returns the required memory size in bytes.

Function to determine the memory required by the DFU function driver module.

This function is called by application layer before calling pUsbApi->dfu->Init(), to allocate memory used by DFU function driver module. The application should allocate the memory which is accessible by USB controller/DMA controller.

Note
  Some memory areas are not accessible by all bus masters.

Parameters

  param | Structure containing DFU function driver module initialization parameters.

Returns
  Returns the required memory size in bytes.

Definition at line 195 of file usbd_dfuuser.h.

ErrorCode_t(* init)(USBD_HANDLE_T hUsb, USBD_DFU_INIT_PARAM_T *param, uint32_t init_state)

Function to initialize DFU function driver module.

This function is called by application layer to initialize DFU function driver module.

Parameters

  [in] | hUsb | Handle to the USB device stack.
  [in,out] | param | Structure containing DFU function driver module initialization parameters.

Returns
  Returns ErrorCode_t type to indicate success or error condition.

Return values

  LPC_OK | On success
  ERR_USBD_BAD_MEM_BUF | Memory buffer passed is not 4-byte aligned or smaller than required.
  ERR_API_INVALID_PARAM2 | Either DFU_Write() or DFU_Done() or DFU_Read() callbacks are not defined.
  ERR_USBD_BAD_DESC | USB_DFU_DESCRIPTOR_TYPE is not defined immediately after interface descriptor. wTransferSize in descriptor doesn't match the value passed in param->wTransferSize. DFU_Detach() is not defined while USB_DFU_WILL_DETACH is set in DFU descriptor.
  ERR_USBD_BAD_INTF_DESC | Wrong interface descriptor is passed.

Function to initialize DFU function driver module.

This function is called by application layer to initialize DFU function driver module.

Parameters

  hUsb | Handle to the USB device stack.
  param | Structure containing DFU function driver module initialization parameters.

Returns
  Returns ErrorCode_t type to indicate success or error condition.

Return values

  LPC_OK | On success
  ERR_USBD_BAD_MEM_BUF | Memory buffer passed is not 4-byte aligned or smaller than required.
  ERR_API_INVALID_PARAM2 | Either DFU_Write() or DFU_Done() or DFU_Read() callbacks are not defined.
  ERR_USBD_BAD_DESC | USB_DFU_DESCRIPTOR_TYPE is not defined immediately after interface descriptor. wTransferSize in descriptor doesn't match the value passed in param->wTransferSize. DFU_Detach() is not defined while USB_DFU_WILL_DETACH is set in DFU descriptor.
  ERR_USBD_BAD_INTF_DESC | Wrong interface descriptor is passed.

Definition at line 217 of file usbd_dfuuser.h.

The documentation for this struct was generated from the following files:

- C:/nxp/v1.03/lpcopen_v1.03/lpcopen/software/lpc_core/lpc_ip/usbd_rom/usbd_dfuuser.h
- C:/nxp/v1.03/lpcopen_v1.03/lpcopen/software/LPCUSBLib/Drivers/USB/Core/DCD/USBRom/usbd_dfuuser.h