1 /* 2 * Copyright (c) 2022, sakumisu 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef USBD_DFU_H 7 #define USBD_DFU_H 8 9 #include "usb_dfu.h" 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 /* Init dfu interface driver */ 16 struct usbd_interface *usbd_dfu_init_intf(struct usbd_interface *intf); 17 18 /* Interface functions that need to be implemented by the user */ 19 uint8_t *dfu_read_flash(uint8_t *src, uint8_t *dest, uint32_t len); 20 uint16_t dfu_write_flash(uint8_t *src, uint8_t *dest, uint32_t len); 21 uint16_t dfu_erase_flash(uint32_t add); 22 void dfu_leave(void); 23 #ifdef __cplusplus 24 } 25 #endif 26 27 #endif /* USBD_DFU_H */ 28