BT Sözlüğü › Donanım › HardFault

HardFault

Donanım Svenska → Güncellendi: 2026-11-02

Cortex-M’in ciddi hatalar için kullandığı her şeyi kapsayan istisnası — firmware dünyasının segfault’u, üstelik bir şey yazdıracak işletim sistemi olmadan.

Vektör tablosunda 3 numaralı istisnadır. Cortex-M0’da tek hata istisnasıdır; M3’ten itibaren daha ince taneli olanlar (MemManage, BusFault, UsageFault) vardır, ancak etkinleştirilmedikçe HardFault’a yükselirler ve varsayılan olarak etkin değillerdir. Olağan şüpheliler: yığın taşması, hizasız erişim, flaşa yazma, bozulmuş bir işlev göstericisi üzerinden çağrı ya da unutulmuş bir semihosting kesme noktası.

Güzel bir ayrıntı: null göstericiyi okumak nadiren çökme yapar, çünkü 0 adresi flaştır ve vektör tablosu orada durur. Varsayılan işleyici sonsuz bir döngüdür. Gerçek bir işleyici yazan kişi CFSR ve HFSR durum yazmaçlarını okur ve donanımın kaydettiği yığın çerçevesinden program sayacını çeker — çöken komutu tam olarak o söyler.

← Sözlüğe dön