Тут есть два решения: простое и быстрое. Простое: наставить в startup-коде точек останова. После вылета перенести те точки, до которых не дошли и те, которые прошли, в промежуток между последней отработавшей точкой и первой не отработавшей. Так, постепенно, найдете команду, на которой происходит вылет. Дальше разбираться, почему у этой команды оказались такие параметры, которые вызывают вылет. Быстрое: делаете обработчик HardFault с таким кодом: {     volatile int i = 0;     while(i==0)