Getting stuck at memory address 0x1fff'5064 on boot.
I have a couple dozen of custom boards with STM32G4s on them. These boards are all 'identical' and the software being loaded on them is the same. BOOT0 pin is currently floating so on my initial load I held it to ground and changed the option bytes via HAL functions to choose the software boot bits to use flash memory.
All boards initially passed functional testing, but recently some boards get stuck at memory address 0x1fff`5064 on the chip. The assembly command at this address is B . W 0x1fff'5064 which I think holds the chip at this instruction forever.
That is the latest bit of information I've gotten. I'm trying to stop short of easter egging this and am hoping for some good tests I can perform to figure out exactly what's happening here. I've included more detail below.
Background: Using CubeMx, I'm generating a project with HAL libraries and then adding code around them but leaving generated files untouched. Initial indication of an issue, beyond the chip not behaving as expected, was that uwTick was never incrementing, leading to the problem that SysTick_Handler is never getting reached. This lead me to look at the IPSR register which reports a value of 1e, which is the DMA1_Channel4_IRQHandler in my project. This only updated to have a value when I paused the debugger, which showed me the instruction the chips are stuck on, 0x1fff'5064.
The full line in the debugger is:
0x1fff'5064: 0xf7ff 0xbffe B . W 0x1fff'5064
