NAND Flash'lar, standart BIOS entegreleri gibi "tertemiz" hafıza birimleri değildir. İçlerinde üretimden gelen hatalar ve karmaşık bir dosya sistemi barındırırlar. Elnec bu dökümanda işi şu 4 ana başlıkta topluyor:
1. Bad Block (Bozuk Blok) Gerçeği
NAND yongaları fabrikadan çıktığında bile %100 sağlam değildir. İçinde mutlaka birkaç tane "Bozuk Blok" (Bad Block) bulunur.- Kritik Bilgi: Eğer bir blok bozuksa, Elnec bunu işaretler. Sen dosyayı yazarken Elnec o bloğu atlar (Skip) ve bir sonrakine yazar.
- Sorun nerede? Eğer senin elindeki "Dump" dosyası (yedeğin), bozuk blokları hesaba katmadan alınmışsa (Raw Image), adresler kayar ve cihaz açılmaz.
2. Spare Area (Yedek Alan) ve ECC Karışıklığı
NAND'da her 2048 byte'lık verinin yanında bir de 64 byte'lık "Yedek Alan" (Spare Area) vardır. Burası, verinin hatasız okunmasını sağlayan ECC (Error Correction Code) bilgilerini tutar.- Dosya Formatı Önemli: * Eğer dosyan 2048 byte ise: Sadece veri vardır. Elnec'e "ECC'yi sen hesapla ve yedek alana yaz" demelisin.
- Eğer dosyan 2112 byte (2048+64) ise: İçinde zaten ECC bilgisi vardır. Elnec'e "Benim dosyamı olduğu gibi yaz, ECC hesaplama" demelisin.
3. Partitioning (Bölümlendirme)
Yeni nesil akıllı TV ve uydu alıcılarında NAND tek bir parça değildir. İçinde Boot, Kernel, RootFS gibi bölümler (Partition) vardır.- Elnec Çözümü: Dökümanda, Elnec yazılımındaki "NAND Flash Partition Table" özelliğinden bahsediliyor. Eğer yedeğin sadece belirli bir bölümü kapsıyorsa, başlangıç ve bitiş adreslerini manuel girmelisin.
4. Neden "Verify Error" (Doğrulama Hatası) Alıyoruz?
Elnec diyor ki: "NAND'da yazma işlemi bitince hemen doğrulama yapmayın."- Bazı yongalar yazıldıktan sonra ilk okumada küçük hatalar verebilir (Bit Flip). Elnec'in ayarlarında "Ignore Bit Flips" (Küçük bit hatalarını görmezden gel) seçeneğini işaretlemek, programlamanın başarıyla tamamlanmasını sağlar.
Atölye İçin Pratik Ayar Listesi (Checklist):
Eğer BeeProg2'de NAND yazarken zorlanıyorsan şu adımları izle:- Device Options -> NAND Flash Settings: Buradan "Bad Block Management" kısmını kontrol et. Genellikle "Skip Bad Blocks" seçili olmalıdır.
- Spare Area: Eğer dump dosyanın boyutu standarttan büyükse (2112, 4224 vb.), "Include Spare Area" kutucuğunu işaretle.
- Vcc Ölçümü: NAND yazarken cihaz çok akım çeker. Adaptörün yanındaki voltajın stabil olduğundan emin ol. Elnec bazen voltajı %5 artırmanı (örneğin 3.3V yerine 3.45V) önerir.
- Chip ID: Eğer "ID Not Found" alıyorsan, TSOP48 ayaklarını tinerle/alkolle temizle. NAND pinleri çok hassastır.