2023-03-10 12:20 AM
Hello,
We observe issues with a set of stm32F407ZETx.
The application stalls / hangs somewhere while calling MX_USB_DEVICE_Init(). We are using the USB in CDC class. The board is powered via a USB cable, and the issue is not observed when using a good-quality USB power block, but it is observed if we e.g. put a dongle in between (https://us.transcend-info.com/product/card-reader-accessory/hub2). The production site (in a different country) is also observing these issues, I'll ask if they use a hub as well.
The application seems to hang, but I could not pinpoint where exactly, since the program counter register suddenly becomes 0x0!!! That seems to happen on a random place during MX_USB_DEVICE_Init(). Sometimes, the application recovers automatically (on the production site, they say that the startup time usually takes 2 minutes instead of 3 seconds), but on our reproduction setup, the application never recovers automatically.
Surprisingly, the application DOES recover if we touch the groundplane with e.g. a pin from a multimeter. We have had strange observations when e.g. plugging in the programmer, but eventually we could pin it down to 'touching' the groundplane.
This is all very puzzling, but I still assume that there is a common root cause for the observations. So as a summary, I'd like to know:
Solved! Go to Solution.
2023-04-25 01:11 AM
Hi all,
I was about to start testing the standard example. Unfortunately, quite some desks have been shuffled around at the office and I'm no longer able to reproduce the original issue. It's possible that we daisy-chained too many power extenders in the past, and that this also had an influence on the occurrence rate.
For the sake of giving some answers:
As long as I can't reproduce, there's not much I can do. So if you prefer, the ticket can be closed for now.
2023-03-29 03:29 AM
Hi @Sebastiaan ,
Could you please first make sure to be aligned with latest tools versions & latest USB libraries?
Then let us know if problem is still there or not.
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-03-31 05:18 AM
Hello Amel,
I have tried with the following combination:
The behavior is exactly the same, the issue is still there.
2023-03-31 07:54 AM
Hi @Sebastiaan ,
Is it possible please to do the same test using the standard example provided in STM32F4 CubeFW ?(https://github.com/STMicroelectronics/STM32CubeF4/tree/master/Projects/STM324xG_EVAL/Applications/USB_Device/CDC_Standalone )
Of course it is not the same board, but the example doesn't use significant resources from the board except LEDs and some IOs that you can remap or completely ignore/remove.
The objective is to first isolate the root cause category (software/hardware).
My first intuition would be that when USB is activated, it drains more current from the supply and uncovers the existing issue of the unstable power which leads to supply failure which would explain the 0x00 on program counter. But this is just a first guess. Need some additional tests to confirm the direction of debugging.
We'd appreciate if you can do the test with the standard example.
2023-04-25 01:11 AM
Hi all,
I was about to start testing the standard example. Unfortunately, quite some desks have been shuffled around at the office and I'm no longer able to reproduce the original issue. It's possible that we daisy-chained too many power extenders in the past, and that this also had an influence on the occurrence rate.
For the sake of giving some answers:
As long as I can't reproduce, there's not much I can do. So if you prefer, the ticket can be closed for now.
2023-04-25 02:25 AM
Hi @Sebastiaan
Thanks a lot for posting the update, it's very helpful and for other community users.
Indeed, without a reproduction scheme not much can be done. But at least this provides us an additional information: the issue is related to a specific configuration of the power on specific devices.
It consolidates the idea that USB activation, draining more current, exposes the power supply instability.
Anyway, please feel free to come back to this topic anytime you have more info/details.