RAM noinit
Una sezione di RAM che il codice di avvio lascia deliberatamente intatta, così il suo contenuto sopravvive a un reset software.
Il codice di avvio azzera .bss e inizializza .data a ogni reset. Di norma è ciò che si vuole, ma cancella anche ciò che potrebbe spiegare perché il reset sia avvenuto. Se si collocano le variabili in una sezione apposita, marcata NOLOAD nel linker script e assegnata con __attribute__((section(".noinit"))), esse attraversano un reset del watchdog, un reset software o un salto al bootloader.
Gli inquilini tipici sono un record di crash con program counter e codice di errore, un contatore di riavvii consecutivi o un flag che dice al bootloader di restare in attesa. Un ciclo di alimentazione è un'altra faccenda: dopo l'accensione la sezione contiene spazzatura. Per questo quasi sempre è protetta da un numero magico o da un checksum, in modo che il firmware distingua un messaggio della vita precedente da bit casuali.