/* usbdfu.c */ extern uint8_t usbd_control_buffer[1024]; extern const struct usb_device_descriptor dev; extern const struct usb_dfu_descriptor dfu_function; extern const struct usb_interface_descriptor iface; extern const struct usb_interface ifaces[]; extern const struct usb_config_descriptor config; extern int main(void); /* ring.c */ extern void ring_init(ring_t *r, uint8_t *buf, size_t len); extern int ring_write_byte(ring_t *r, uint8_t c); extern int ring_read_byte(ring_t *r, uint8_t *c); extern int ring_write(ring_t *r, uint8_t *buf, size_t len); /* usart.c */ extern void usart1_isr(void); extern int _write(int file, char *ptr, int len); extern void usart_queue(uint8_t d); extern void usart_init(void);