I have a project that includes a STM32L152. It has been built up before, and had no major issues so I assume that the design is at least functional (I did not design it myself, although am familiar with it). The firmware file has been confirmed working on another copy of the hardware, so I know it's not a firmware issue. I can communicate with the STM32 via my ST-Link V2 programmer, load firmware, and pull the serial number off it so I conclude that at the very least it's functional.
The problem I'm having is that the firmware doesn't seem to execute at all. I've checked a few things, but am fairly unexperienced with the STM32 line (used to 8-bit Atmels mostly). I could just build another board, but I'd rather figure out what's wrong first. Schematics and BOM are at
https://endless-sphere.com/forums/viewtopic.php?f=14&t=57673&start=25#p1016913 for reference.
1. I've verified the firmware has loaded properly (disconnected the programmer, removed power to board, reconnected and everything still has the proper checksum). Same hex file runs fine on other copies of the board.
2. I've checked that the clock input to the MCU looks good (12Mhz, 0.4Vmin, 2.2Vmax, nice clean sine wave. See attached image).
3. Reset line is high
4. I've loaded a basic "LED blink" firmware that I know is good since it works on other hardware, and no blinking.
5. Supply voltage is stable at 3.0V (linear reg fed by USB)
6. Checked that all the components are soldered correctly, no bridges or open pins anywhere.
Any suggestions?