STM32Cube  Version 2.0
Create Projects for STM32H7 Series with STM32Cube HAL and STM32CubeMX
 All Files Functions Variables Macros Pages
CMSIS-Driver USBH_HS1 Setup

The CMSIS-Driver USBH_HS1 requires:

  • Setup of USB clock to 48MHz (if internal Full-speed Phy is used)
  • Configuration of USB_OTG_HS as Host_Only

The example below uses correct settings for STM32H743I_EVAL Board:

  • USB_OTG_HS: External Phy: Host_Only

For different boards, refer to the hardware schematics to reflect correct setup values.

The STM32CubeMX configuration steps for Pinout, Clock, and System Configuration are listed below. Enter the values that are marked bold.

Pinout tab

  1. Configure USBH mode
    • Peripherals USB_OTG_HS: External Phy=Host_Only
  2. Configure USB_OTG_HS_ULPI_NXT pin (is not the default pin):
    • Click in chip diagram on pin PH4 and select USB_OTG_HS_ULPI_NXT

Clock Configuration tab

  1. AHB frequency should be higher than 30 MHz

Configuration tab

  1. Under Connectivity open USB_HS Configuration:
    • Parameter Settings: not used
    • User Constants: not used
    • NVIC Settings: disable interrupts
      Interrupt Table Enabled Preemption Priority Sub Priority
      USB On The Go HS End Point 1 Out global interrupt OFF 0 0
      USB On The Go HS End Point 1 In global interrupt OFF 0 0
      USB On The Go HS global interrupt OFF 0 0
      - GPIO Settings: review settings, no changes required
      Pin Name Signal on Pin GPIO mode GPIO Pull-up/Pull..Maximum out..User Label
      PA3 USB_OTG_HS_ULPI_D0 Alternate No pull-up and no..High .
      PA5 USB_OTG_HS_ULPI_CK Alternate No pull-up and no..High .
      PB0 USB_OTG_HS_ULPI_D1 Alternate No pull-up and no..High .
      PB1 USB_OTG_HS_ULPI_D2 Alternate No pull-up and no..High .
      PB5 USB_OTG_HS_ULPI_D7 Alternate No pull-up and no..High .
      PB10 USB_OTG_HS_ULPI_D3 Alternate No pull-up and no..High .
      PB11 USB_OTG_HS_ULPI_D4 Alternate No pull-up and no..High .
      PB12 USB_OTG_HS_ULPI_D5 Alternate No pull-up and no..High .
      PB13 USB_OTG_HS_ULPI_D6 Alternate No pull-up and no..High .
      PC0 USB_OTG_HS_ULPI_STP Alternate No pull-up and no..High .
      PH4 USB_OTG_HS_ULPI_NXT Alternate No pull-up and no..High .
      PI11 USB_OTG_HS_ULPI_DIR Alternate No pull-up and no..High .
      - Click OK to close the USB_OTG_HS Configuration dialog

Generate source code by click on Generate source code tool on toolbar, or select project Generate Code, or or press keys Ctrl + Shift + G.