Lessico IT › Hardware › HardFault

HardFault

Hardware Svenska → Aggiornato: 2026-11-02

L'eccezione generica dei Cortex-M per gli errori gravi: l'equivalente firmware di un segfault, senza un sistema operativo che stampi qualcosa.

È l'eccezione numero 3 della tabella dei vettori. Sul Cortex-M0 è l'unica eccezione di errore; dal M3 in su ne esistono di più granulari — MemManage, BusFault, UsageFault — che si trasformano in HardFault se non abilitate, e per impostazione predefinita non lo sono. I soliti sospetti sono lo stack overflow, l'accesso non allineato, una scrittura in flash, una chiamata tramite un puntatore a funzione corrotto o un breakpoint di semihosting dimenticato.

Una finezza: leggere da un puntatore nullo raramente manda in crash, perché l'indirizzo 0 è la flash e lì risiede la tabella dei vettori. L'handler predefinito è un ciclo infinito. Chi ne scrive uno vero legge i registri di stato CFSR e HFSR e recupera il program counter dallo stack frame salvato dall'hardware: indica l'istruzione esatta che è caduta.

← Torna al lessico