Skip to main content
petereckstrand9
Associate II
July 3, 2015
Question

USB HS core in FS mode

  • July 3, 2015
  • 4 replies
  • 1097 views
Posted on July 03, 2015 at 22:56

Hi,

I am using a stm32f427 as a USB host/MSC class, with the host library from the STM32F4-Discovery_FW_V1.1.0 package.

My question is, if I want to use the HS core in FS mode, how should I set the defines in usb_conf.h?

Should I use:

#define USE_USB_OTG_HS or #define USE_USB_OTG_FS?

I call the USBH_Init() with coreID parameter set to USB_OTG_HS_CORE_ID, so the HS core is chosen.

First I used USE_USB_OTG_HS, but could not get the code to work. The device was not enumerated.

Then I changed to USE_USB_OTG_FS and it worked! So I just wanted to chek if this is the correct setting for HS core in FS mode?

Thanks

Peter
    This topic has been closed for replies.

    4 replies

    Tesla DeLorean
    Guru
    July 4, 2015
    Posted on July 04, 2015 at 02:01

    STM32F429I-Discovery_FW_V1.0.1\Projects\FW_upgrade

    Uses

    USE_STDPERIPH_DRIVER, STM32F429_439xx, USE_USB_OTG_HS, USE_EMBEDDED_PHY

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    petereckstrand9
    Associate II
    July 4, 2015
    Posted on July 04, 2015 at 16:10

    Thanks for reply.

    Do you know the status of the host library? Should I change to the Cube version? Is it much better than the Discovery_FW_V1.1.0 version or are they about the same?

     

    Tesla DeLorean
    Guru
    July 4, 2015
    Posted on July 04, 2015 at 16:32

    When the code is relatively bug-free you don't have to release a new version every few weeks..

    The USB library in the STM32F429I-DISCO is basically the V2.1.0 release, which is good for the F2/F4 parts.

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    petereckstrand9
    Associate II
    July 4, 2015
    Posted on July 04, 2015 at 17:59

    I don't like their use of blocking wait in several places in the code. In a real application you can't have the CPU blocked for tens of milliseconds. That is really bad code. I can't understand they released such code in fact.