Bir süredir bu konuda takılıp kaldım, belki bu noktada 2-3 hafta. Neyi yanlış yaptığımdan emin değilim. Bu spi flash bölümüne yazmaya çalışıyorum ve şimdi sadece yalıtmak için okumak, yazmak ve okumak için rutinleri çalıştırıyorum ama şimdiye kadar şans yok. Tabii ki yol boyunca bir demet hata çözdüm ...
Her neyse, WP hattımı tahtaya bağladım ve saati 200khz'ye kadar yavaşlattım, sonra silme rutinimi çalıştırıyorum ve şöyle görünüyor:
Önce kimliği sadece hata ayıklama için kontrol ediyorum, bu 9F komutu, sonra WREN'i 06 komutuyla ayarlıyorum, C7 tüm çip silme ve sonra durum bitini 05 ile kontrol ediyorum ve açık. Bu şeyin çip silme süresi sadece 35 ms.
Şimdi kodumu yeniden yükleyin ve bir yazma deneyin:
Önce WREN'i 06 ile ayarladım, WREN'in 05 ile ayarlandığını görmek için durumu kontrol ettim, daha sonra sayfa programı komutu 02'yi 0x000000 adresine gönderin. İlk birkaç bit olarak deadcafe yazdığımı görebilirsiniz. Ayrıca burada yazma tamamlanmadığında (bir sayfa veya 256 bayt), WREN'i devre dışı bırakmak için 0x04 komutunu gönderirim. Bunu gözlemledim ve sayfa arabelleğimin son dört baytını 0xAA, 0x55, 0xAA, 0x55 olarak ayarladım ve CS yükselmeden hemen önce gördüm.
Şimdi yeniden yükleme kodunu durdurun ve bir okuma döngüsü çalıştırmayı deneyin: Okuma komutu olarak 0x03 ve adres olarak 0x000000 ve ... hepsi de cihazdan 0xFF gönderin.
Cihazın okuma kimliğime yanıt verdiğini görebiliyorum ve WREN komutlarını ayarladım, böylece beni duyduğunu ve yanıt verebileceğini biliyorum. Bu noktada neyi yanlış yaptığımı bilmiyorum. Sanırım veri sayfasını okumaya ve bazı şeyleri denemeye geri döneceğim, ancak herhangi bir görüş varsa, yardımı takdir ediyorum. Bu şey üzerinde çalışan başka bir sinir bozucu hafta sonu olmak için şekilleniyor.