Не верю глазам. В бесплатном Coocox это легко можно посмотреть, а в дорогущем IAR <Call stack> не показывает откуда был вызов исключения.
Или я что-то не так делаю?

Отлегло. Если поставить точку останова в обработчике исключения, то показывает. Видимо способ останова ( asm("loop: BL loop")), использованный в обработчике, что-то портит.