cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with USB Virtual COM After SBSFU on STM32WB55RG

G_P
Associate II

Hello everyone,

My team and I are working with a custom board based on the STM32WB55RG. Due to limited pin availability, we need to use USB as a virtual COM port for serial communication. We successfully configured the USB Virtual COM and were able to print messages on the console without any issues.

However, we encountered a problem after integrating SBSFU.

The USB Virtual COM works fine within the SBSFU application, but once the SBSFU process completes and our custom application starts, the USB stops functioning. We can no longer see messages in the terminal, even though our application is running as expected by debugging it with the USART / LPUART.

We have already checked the USB and clock configurations in both the SBSFU app and our custom application, and everything seems to be set up correctly. Furthermore, we also attempted the following:

  • Forcing a USB re-enumeration by pulling the D+ pin low for a few milliseconds.
  • Playing around with initializing and de-initializing the USB in both applications.
  • Verifying that USB interrupts are triggering correctly in our custom application.

As another test, we configured the SBSFU application to use USART instead of USB for serial communication, but the USB Virtual COM still fails in our custom application.

At this point, we are unsure what is causing the issue. Has anyone encountered a similar problem, or does anyone have suggestions on what else we could check?

Any help would be greatly appreciated!

Thanks in advance.

 

6 REPLIES 6
CMYL
ST Employee

Hello @G_P 

I created internal request for expert to help answering your questions.

 

I let you know when I got any feedback (Ticket 205141, internal just for me to remind the internal tracking).

 

Best regards,

CMYL
ST Employee

Hello @G_P 

Do you enabled the  SECBOOT_DISABLE_SECURITY_IPS  switch in your project ? This will help to know if the root cause of the issue is related to security protections.

 

Best regards

G_P
Associate II

Hello @CMYL ,

Apologies for the late reply.


@CMYL wrote:

Do you enabled the  SECBOOT_DISABLE_SECURITY_IPS  switch in your project ? This will help to know if the root cause of the issue is related to security protections.


Yes, the SECBOOT_DISABLE_SECURITY_IPS switch is enabled in our project (uncommented).

 

Best regards.

CMYL
ST Employee

Thanks @G_P, I will share it

CMYL
ST Employee

Hello @G_P 

Our last update.

You mention that the switch SECBOOT_DISABLE_SECURITY_IPS is enabled. This means that all security protections are disabled. So it seems that it is not a security protection which is triggering the USB to not work anymore.

You said, "once the SBSFU process completes and our custom application starts, the USB stops functioning...."

- To test whether the issue is related to the hardware board, can you check the same thing (SBSFU + your customer application) on a Nucleo-WB55 board ?

 

Best Regards

 

G_P
Associate II

Hello @CMYL,

We conducted the same test on a Nucleo-WB55 development board and observed some interesting results.

Initially, we encountered the same issue mentioned in the original post, but we managed to resolve it. However, when we disconnected and reconnected the USB, we noticed that the logs appeared as expected before FreeRTOS started (simple "Hello Word" message). Additionally, if we deinitialize the USB at the end of the SBFU app, there is no need to physically reconnect it to see the logs before FreeRTOS begins.

Once FreeRTOS starts, however, the logs are no longer visible.

We repeated the test on our custom board and observed the same behavior.

 

Best Regards.