Кажись, нашел причину крайне редко случающихся зависаний, когда процессор не выходит из засыпания. Ошибка в драйверах HAL от ST.
Перед входом в режим засыпания CPU (команды WFI, WFE) обязательно нужно выполнить команду DSB, а перед ней прочитать что-нибудь из периферийных регистров:
http://infocenter.arm.com/help/index.../BIHICBGB.html
В драйвере почему-то это не было сделано.
Тестирую.