В hard fault он улетает потому, что bus fault замаскирован по
умолчанию. Корректно использовать busfault, так как он позволяет
реализовать разный полезный функционал типа https://habr.com/ru/post/437256/Можно и hard fault запретить, тогда ядро перейдёт в обработчик nmi.