Skip to main content
Explorer II
July 18, 2024
Question

Bootloader jumps to some crazy address, but only on some PCBs

  • July 18, 2024
  • 2 replies
  • 682 views

I'm having a strange issue here. I have a custom board design using the STM32L452RETx.

I have 17 boards in front of me, and most of them work as expected: bootloader runs at power up, and when it times-out, it jumps to the main app ( at 0x08008000). Perfect.

However, 4 of theses boards don't correctly make the jump. Everything seems to run as expected stepping through the code, but then when the time for the jump comes, they will jump to some address like 0x40010400.

All the boards are running the same boot loader code. One thing is that I think that some (maybe all) of the that aren't working correctly might have been programmed with from CubeIDE, were as the others were programmed using the .bin file with STM32 Programmer.... but, I'm not totally sure if that is a perfect 1-1 relationship

I have gone back and reprogrammed some of those failing ones with STM32 Programmer app, not the IDE, and it didn't resolve the issues.

Any idea what may be going on here?

Steve

 

    This topic has been closed for replies.

    2 replies

    Graduate II
    July 18, 2024

    Probably some combination of power, clocking, and flash wait states..

    On other parts, might look at the VCAP, or bulk capacitance on the supplies.

    I'd probably recommend some kind of CRC or integrity check of exactly what's running from FLASH.

    Perhaps look at ST's safety libraries (STL ?) for a sanity check of MCU / functionality.

    Super User
    July 18, 2024

    Compare the flash on a working board to a non-working board to determine if they are the same. Should be identical regardless of how they were programmed, assuming the same program was used.