cancel
Showing results for 
Search instead for 
Did you mean: 

U585 failure to configure voltage scaling

EC.3
Associate III

Hello,

I'm looking for some troubleshooting advice. I saw a few tickets regarding this kind of problem and confirmed that __HAL_RCC_PWR_CLK_ENABLE() is called before setting the initial voltage scaling. This test code is completely auto-generated from IOC configured for 160MHz SYSCLK/HCLK (driven by PLLCLK which is sourced by 24MHz MSIS) and LL library for RCC, with no custom code. The code works on several of our custom development boards but does not work on their production counterparts. Both use STM32U585QII6. I assume there is some unexpected hardware difference (they're supposed to be "the same"), but I am not sure how to investigate.

The debugger will crash with no debug info when stepping into or over the MODIFY_REG() statement below, where VoltageScaling is LL_PWR_REGU_VOLTAGE_SCALE1.

__STATIC_INLINE void LL_PWR_SetRegulVoltageScaling(uint32_t VoltageScaling)
{
MODIFY_REG(PWR->VOSR, PWR_VOSR_VOS, VoltageScaling);
}

When I inspect the PWR register on dev boards that work and production boards that don't - before executing the MODIFY_REG(), they look the same - VOSR is VOSRDY and SVMSR is ACTVOSRDY. Any suggestions as to what to look for would be appreciated.

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
EC.3
Associate III

Sorry, it seems this had to do with overly long wires used as part of the test setup, when testing the production boards but not the dev board. Dialing down the SWD speed made the issue go away.

View solution in original post

1 REPLY 1
EC.3
Associate III

Sorry, it seems this had to do with overly long wires used as part of the test setup, when testing the production boards but not the dev board. Dialing down the SWD speed made the issue go away.