Цитата(prottoss @ Feb 6 2016, 16:31)

Код
void HardFault_Handler(void)
{
__asm volatile
(
" tst lr, #4 \n"
" ite eq \n"
" mrseq r0, msp \n"
" mrsne r0, psp \n"
" ldr r1, [r0, #24] \n"
" b GetRegistersFromStack \n"
);
}
Хочу поинтересоваться, для чего нужна предпоследняя строка в Вашей асмовой вставке, если Вы и так в GetRegistersFromStack читаете PC?
Цитата(prottoss @ Feb 6 2016, 16:31)

Интересно - можно ли такое сварганить для других компиляторов?
Конечно можно.
Я раньше одновременно использовал и KEIL и GCC.
Потом понял, что GCC меня полностью устраивает...