Skip to main content
Associate II
January 27, 2025
Question

TouchGFX with USB cdc Host

Hello everyone,
I am developing firmware for the STM32F7469I discovery board, and I'm utilizing TouchGFX for the GUI aspect of the project. However, I am encountering a problem when enabling USB-FS HOST functionality. The GUI and other peripherals such as UART and I2C are functioning correctly. However, as soon as I connect a device to the USB port on the discovery board, the device is in START state, but subsequently, the entire board freezes. Specifically, the USBH_UserProcess callback is invoked, and the HOST_USER_CONNECTION line is executed, but afterwards, the system becomes unresponsive.  The device doesn't go into ready state.

I am set proper clock, i have attached the image of my clock setting.

I would greatly appreciate any insights or potential solutions to address this deadlock issue.

This topic has been closed for replies.

8 replies

ST Technical Moderator
January 27, 2025

Hi @tejashwini 

Did you ensure that there are no conflicts with other peripherals? Have you tried the example CDC Host provided here ?

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.Best regards,FBL
Andrew Neil
Super User
January 27, 2025

@tejashwini wrote:

I am encountering a problem when enabling USB-FS HOST functionality. The GUI and other peripherals such as UART and I2C are functioning correctly. However, as soon as I connect a device to the USB port on the discovery board, the device is in START state, but subsequently, the entire board freezes.


Does your USB code work on its own - without all the "GUI and other peripherals such as UART and I2C" ?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Associate II
January 28, 2025

Hi,

my TouchGFX only code is working fine and also USB CDC HOST only code is also working fine.

But in combining both the usb host is not going into ready state.

Please suggest some reasons and solution why it is not getting ready

Thank you

 

Andrew Neil
Super User
January 28, 2025

So same answer as in the other thread:

Compare & contrast the operation of the two.

See where they differ:

  • what is happening in the working case, that's not happening in the non-working case?
  • what is not happening in the working case, that is happening in the non-working case?

Instrument your code to give visibility of what's going on ...

 

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Andrew Neil
Super User
January 27, 2025
A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Associate II
January 31, 2025

Hi,

 

I am getting 

phost->gState = HOST_ABORT_STATE;

USBH_UsrLog("Device not supporting %s class.", phost->pActiveClass->Name);

and host is moving into abort state.

I have attached debug trace at that particular line. 

Please suggest some reasons and solution why it is not getting ready

Thank You