Skip to main content
Explorer II
March 31, 2024
Solved

STM32L431CCY not reliably booting

  • March 31, 2024
  • 2 replies
  • 1143 views

I made a little proof-of-concept board for the L431, as I wanted to see what it would take to do a BGA design.

 

I've been able to program is using the STM32CubeIDE, but the board won't boot reliably.

  • STM32CubeIDE v1.13.1
  • Jlink Plus Compact
  • 0.1uF Bypass caps on all power pins
  • No external circuit on NRST
  • Code is a simple GPIO toggle, which works about 75% of the time when I power cycle.  

What I've tried:

  1. Adding a 10uF cap to the VDD rail.  This reduces the percentage above, making me think there's a POR or Brownout circuit that's not working.
  2. Added the 0.1uF to the NRST pin, as recommended by the getting started doc.  No change, if anything looks worse.
  3. I've verified that the 3.3V rail is stable, and that the NRST line goes low and then goes high (as expected. 

When it doesn't boot, it gets stuck drawing 16mA of current from the 3.3V rail.  

What else can I try to get this booting reliably?

    This topic has been closed for replies.
    Best answer by sethkaz

    Looks like the BOOT0 ball is floating (I'll verify this in a bit). 

    If anyone finds this thread in the future, using STM32CubeProgrammer allowed me to clear the nSWBOOT0 bit, and it's booting reliably now.  

    2 replies

    sethkazAuthor
    Explorer II
    March 31, 2024

    Though the Debugger, I found that I'm jumping into the Boot Loader, as I was halting at address 0x1FFF2CF6 (for example).

    However, I'm not sure why this is inconsistent. Boot0 is pulled low through a 1k like the Getting Started Guide recommends, and Boot1 isn't exposed as a pin (as far as I can tell).

    sethkazAuthorAnswer
    Explorer II
    April 1, 2024

    Looks like the BOOT0 ball is floating (I'll verify this in a bit). 

    If anyone finds this thread in the future, using STM32CubeProgrammer allowed me to clear the nSWBOOT0 bit, and it's booting reliably now.