2024-05-16 03:18 AM - last edited on 2024-05-17 01:29 AM by SofLit
We have a product containing the STM32G030K8T6 MCU. The code is working like expected and the product is meeting all specifications. The product is battery powered and can be charged via USB.
If the product is assembled it will go into a burn-in test where 70 plus products will be charged and de-charged between 3 to 10 times. During this test 1 to 3 products are failing, and with failing I mean the MCU does not advance further or freeze as shown in the below picture.
It stops at the following line of code:
Currently we are at a dead end situation, does anybody has any suggestions?
Thanks a ton!
2024-05-16 03:31 AM
Seems to be the same problem here:
https://community.st.com/t5/stm32-mcus-products/mcu-stm32g030k8t6-hangs/m-p/665657
2024-05-16 05:50 AM
I wonder if his BOOT0 pin is left floating too?
2024-05-16 05:56 AM
Hi,
Boot0 pin is left open, we use this pin for debugging/programming.
Is there any related reason for asking?
2024-05-16 06:23 AM
Leaving it open makes it susceptible to noise.
Have a resistor to pull it to your "normal" level - you can override that for debugging/programming
2024-05-16 06:35 AM
Do you mean pull it up?
B.t.w. I did not see any point regarding an external pull-up/down in the application note.
and it cannot be done by internal pull up/down resistor?
2024-05-16 07:00 AM
To boot from main flash (ie, run your code), you want it pulled low:
Does your application use Standby mode?
Are you working with @PLER on that same product they posted earlier?
2024-05-16 07:12 AM
Yes, we utilize Stand-by mode.
We're collaborating on the same product with @PLER.
Understood, for running the code from Flash memory, the BOOT0 pin should be low.
Considering this, there would be two questions:1. Is it possible to use the internal pull-down for the BOOT0 pin?
2. In the event that the Boot pin get noise and resulting in the MCU freezes, would a reset or re-powering typically resolve the issue? However, in our scenario, the device works after re-flashing the MCU.
2024-05-16 07:25 AM - edited 2024-05-16 07:40 AM
@Farhadpi wrote:We're collaborating on the same product with @PLER.
Then why start a whole new thread, when you already had one existing on this very problem?
@Farhadpi wrote:1. Is it possible to use the internal pull-down for the BOOT0 pin?.
Not familiar with this part, but I guess not: the internal pull-up/down is probably only available when the pin is configured as a GPIO - not BOOT0 ?
@Farhadpi wrote:2. In the event that the Boot pin get noise and resulting in the MCU freezes, would a reset or re-powering typically resolve the issue?
I wouldn't rely on it!
A bad value on BOOT0 could end up with you running from RAM, or in System Bootloader mode - so I'd say it is entirely possible that the Flash could get corrupted.
EDIT:
And @PLER did previously report that you do see Flash corrupted.
2024-05-16 07:43 AM
When we re-flash the firmware, it works absolutely fine again, without pulling the BOOT0 pin up or down. What I don't understand is, how the device can work just by re-flashing the binary?