BT Sözlüğü › Donanım › Noinit RAM

Noinit RAM

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

Başlangıç kodunun bilerek dokunmadığı bir RAM bölümü; içeriği yazılımsal sıfırlamadan sağ çıkar.

Başlangıç kodu her sıfırlamada .bss’i sıfırlar ve .data’yı doldurur. Çoğunlukla istenen budur, ama sıfırlamanın nedenini açıklayabilecek her şeyi de siler. Değişkenleri kendi bölümlerine koyarsanız — bağlayıcı betiğinde NOLOAD ile işaretlenir, __attribute__((section(".noinit"))) ile yerleştirilir — watchdog sıfırlamasından, yazılım sıfırlamasından ve önyükleyiciye geçişten sağ çıkarlar.

Tipik kiracılar: program sayacı ve hata koduyla bir çökme kaydı, art arda yeniden başlatma sayacı ya da önyükleyiciye “yerinde kal” diyen bir bayrak. Güç kesilip verilmesi başka bir hikâyedir: açılışta bölümde çöp bulunur. Bu yüzden neredeyse her zaman bir sihirli sayı ya da sağlama toplamıyla korunur; böylece bellenim önceki yaşamdan kalma bir mesajı rastgele bitlerden ayırt edebilir.

← Sözlüğe dön