IT-lexicon › Hardware › Noinit-RAM

Noinit-RAM

Hardware Svenska → Bijgewerkt: 2026-11-04

Een RAM-sectie die de opstartcode bewust ongemoeid laat, zodat de inhoud een soft reset overleeft.

De opstartcode nult .bss en vult .data bij elke reset. Meestal is dat precies wat gewenst is, maar het wist ook alles wat zou kunnen verklaren waarom de reset plaatsvond. Variabelen in een eigen sectie, gemarkeerd als NOLOAD in het linkerscript en geplaatst met __attribute__((section(".noinit"))), overleven een watchdogreset, een softwarereset of een sprong naar de bootloader.

Gebruikelijke bewoners zijn een crashrecord met programmateller en foutcode, een teller voor opeenvolgende herstarts, of een vlag die de bootloader vertelt te blijven wachten. Na een power cycle is het een ander verhaal: bij het inschakelen bevat de sectie willekeurige waarden. Daarom wordt hij vrijwel altijd beveiligd met een magisch getal of checksum, zodat de firmware een bericht uit een vorig leven kan onderscheiden van toevallige bits.

← Terug naar het lexicon