2K sayfa boyutuna yazarken RAM Belleği kaydetme NAND flash


10

Samsung K9WAG08U1D NAND flashÇip için bir sürücü yazıyorum . Bellek yongasının spesifikasyonunda sayfa boyutu 2048 bayt (2kB) olduğu belirtiliyor. Ben TI MSP430F26194096 Byte (4kB) RAM olan bir kullanıyorum. Bu sadece flaş yazmak için bir 2k bellek tamponu ayırmak gerekir anlamına gelir. Uygulamam bir protokol dönüştürücüdür ve bu nedenle ileri ve geri iletim için ek bir tampon gerektirir. Flash sayfa boyutu nedeniyle RAM gereksinimini azaltmak için lütfen daha iyi bir yaklaşım önerin.

Yanıtlar:


7

Sayfa kaydını tek seferde doldurmanıza gerek yoktur.

Seri Veri Girişi komutunu ( 0x80), sütun adresini ve satır adresini yazarak sayfa yazmaya (yani "Sayfa Programı" işlemi) başlıyorsunuz . Ardından verileri sayfa kaydına aktarırsınız (2112 bayta kadar). Bu transfer, ihtiyacınız olan parçalar arasındaki herhangi bir gecikmeyle, parçalara ayrılabilir.

Sayfa kaydını doldurduğunuzda, Sayfa Kaydını Onayla komutuyla ( 0x10) sayfa kaydından diziye aktarmaya başlarsınız .


NAND flaşlar genellikle sayfa başına 4 kısmi yazma sınırlı olduğunu lütfen unutmayın

1
@Jacen Sayfa başına kısmi yazmaya değinmiyorum. Bu, parça başına ayrı bir komut / adres / veri / komut dizisi ile yapılır. Gerekirse, bayt başına bir "yığın" olabilen sayfa kaydına aktarımı ayırmaktan bahsediyorum.
Patrick

Temelde şu anki sürücü mantığım RAM'deki tüm 2K arabelleğin doldurulmasını ve ardından flaşa yazılmasını bekliyordu. Ama şimdi de en az 1 bayt RAM arabelleğe sahip olabilirim.

Oh evet, haklısın Patrick, bu seçeneği unuttum.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.