STM32WB55 Running BLE Stack not resettable using hardware reset
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-13 3:24 PM
I have a custom board running the BLE (full) stack. The application code is written using the Zephyr RTOS. The power source is a CR2032 coin cell battery. After operating for a while (the actual times vary), some units (not all as far as I know) get into a state where I cannot get the device back by asserting the reset signal on the processor. Only a POR will recover the device.
Some notes:
- I've measured the current consumption in this state and it is a consistent 400-500uA. The current consumption increases when I assert reset so I know the reset signal is getting asserted
- It does not seem to be going into the bootloader as it doesn't come up as a DFU device over USB.
- The ST-LINK debugger cannot connect to the target using any mode (Hot-plug, normal, or under reset).
How can the chip get into such a state where power cycling is necessary to effectively restart it? Has anyone seen something like this before?
- Labels:
-
BLE
-
STM32WB series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-11-23 11:44 AM
Do you use the SMPS?
Can you get access to the device and download the option bytes (OB)?
I assume you connect to your board via the SWD port. Get the OB just after the POR.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-11-24 4:42 PM
Yes, I am using the SMPS. When the processor is in this state, I cannot access it at all over SWD. Once I do a BOR, I can access it. The only option byte I modify is the "User configuration" bytes where nBOOT0, nBOOT1, and nSWBOOT0 are all set, The other bytes are all at their default values. Initially, the radio stack is working. After a time, it would stop and end up in this state where a BOR is required to continue.
