खैर मैं इस पर थोड़ी देर के लिए अटक गया, शायद इस बिंदु पर 2-3 सप्ताह। मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं। मैं इस स्पाई फ्लैश भाग को लिखने की कोशिश कर रहा हूं , और अब मैं इसे मिटाने, लिखने और इसे अलग करने की कोशिश करने के लिए सिर्फ रूटीन चला रहा हूं लेकिन अभी तक कोई भाग्य नहीं है। बेशक मैं एक गुच्छा रास्ते में एक कीड़े को हल किया है ...
वैसे भी मैंने अपनी WP लाइन को बोर्ड पर ऊंचा बांध दिया है, और मैंने घड़ी की राह को 200khz तक धीमा कर दिया है, फिर मैं अपनी रूटीन रूटीन चलाता हूं और यह इस तरह दिखता है:
पहले मैं सिर्फ डिबग के लिए आईडी की जांच करता हूं, यह 9F कमांड है, फिर मैंने 06 कमांड के साथ WREN सेट किया है, C7 पूरे चिप-इरेज है, और फिर मैं 05 के साथ स्थिति बिट की जांच करता हूं और यह स्पष्ट है। इस चीज़ का चिप मिटने का समय केवल 35ms है।
अब मैं अपना कोड पुनः लोड करता हूं और लिखने का प्रयास करता हूं:
पहले मैंने 06 के साथ WREN सेट किया, यह देखने के लिए स्थिति जांचें कि WREN 05 के साथ सेट है, यह है, तो 0x000000 पता करने के लिए पेज प्रोग्राम कमांड 02 भेजें। आप देख सकते हैं कि मैं पहले कुछ बिट्स के रूप में डेडकैफ़ लिख रहा हूं। यहाँ भी चित्रित नहीं किया गया है लिखने के पूरा होने के बाद (एक पृष्ठ या 256 बाइट्स), मैं 0x04 कमांड को WREN को अक्षम करने के लिए भेजता हूं। मैंने देखा है कि और मैंने अपने पेज बफ़र के अंतिम चार बाइट्स 0xAA, 0x55, 0xAA, 0x55 होने के लिए सेट किए और मैंने उन्हें सीएस के उच्च होने से ठीक पहले देखा।
अब पुनः लोड कोड बंद करें और पढ़ने का चक्र चलाने का प्रयास करें: 0x03 को रीड कमांड के रूप में भेजें और 0x000000 पते के रूप में, और ... सभी 0xFF डिवाइस से वापस।
मैं डिवाइस को अपनी पढ़ी गई आईडी पर प्रतिक्रिया दे सकता हूं और WREN कमांड सेट कर सकता हूं ताकि मुझे पता हो कि यह मुझे सुनता है, और जवाब दे सकता है। मुझे नहीं पता कि मैं इस बिंदु पर क्या कर रहा हूं। मुझे लगता है कि मैं डेटाशीट पढ़ने, और कुछ चीजों की कोशिश करने पर वापस जाऊँगा, लेकिन अगर किसी के पास कोई अंतर्दृष्टि है तो मैं मदद की सराहना करूँगा। यह इस बात पर काम करने वाला एक और निराशाजनक सप्ताहांत है।