В "HardFault" должна быть не "ловушка", а минимальный обработчик способный выдать куда-то (записать в память, передать по каналу связи) диагностическую информацию и ПЕРЕЗАПУСТИТЬ программу. Если у тебя этого не сделано -- то не морочьте голову, наймите в ваш коллектив профессионального программиста, и не пытайтесь сделать то, чего не умеете.