Noinit-RAM
En RAM-sektion som startkoden medvetet lämnar orörd, så att innehållet överlever en mjuk återställning.
Startkoden nollar .bss och fyller .data vid varje reset. Det är oftast vad man vill, men det raderar också allt som kunde förklara varför omstarten skedde. Med en egen sektion, markerad NOLOAD i länkskriptet och placerad med __attribute__((section(".noinit"))), får variabler ligga kvar genom en watchdog-reset, en mjukvarureset eller ett hopp till bootloadern.
Typiska användningar är en kraschpost med programräknare och felkod, en räknare för hur många omstarter som skett i rad, eller en flagga som säger åt bootloadern att stanna. Strömavbrott överlever innehållet däremot inte: efter power-on ligger där skräp. Därför skyddas sektionen nästan alltid med ett magiskt tal eller en kontrollsumma, så att firmware kan skilja ett meddelande från förra livet från slumpmässiga bitar.