Выполняю перезагрузку с помощью прыжка по адресу ResetISR, хранящемуся во флэше 0x4:
Код
((void (*)(void))HWREG(0x00000004))();
Всё перезагружается нормально, проходит __iar_program_start, main, вообще всё работает кроме прерываний SysTick. При этом SysTick работает, считает его счётчик, он ставит бит пендинг прерывания, если бит снять, то SysTick его опять ставит. Другие прерывания происходят. Да и вообще ошибки в коде инициализации нет, так как при аппаратном ресете всё работает. А при софтварном ресете вот такое чудо.
Такое ощущение, что я чего-то не знаю про инициализацию Cortex-M3 ядра.
Есть советы куда копать?