The STM32F4-Discovery_FW_V1.1.0 library has USB code that I'm using in an STM32F4 project for USB HID support. usb_bsp.h has the board support package function definitions. I'm implementing these for my own custom board and everything is working fine. There is however, one odd thing. usb_bsp.h also includes stm32f4_discovery.h, but apparently doesn't use anything from that include. So to get my code to compile I need to put an empty stm32f4_discovery.h file in the include path. Seems like this is a bug and the include of stm32f4_discovery.h should be removed from usb_bsp.h.