सेविंग रैम मेमोरी जब 2K पेज साइज नंद फ्लैश पर लिख रहा हो


10

मैं Samsung K9WAG08U1D NAND flashचिप के लिए एक ड्राइवर लिख रहा हूं । मेमोरी चिप के विनिर्देश में यह उल्लेख है कि इसका पृष्ठ आकार 2048 बाइट्स (2kB) है। मैं TI MSP430F26194096 बाइट्स (4kB) RAM का उपयोग कर रहा हूं । इसका मतलब है कि मुझे केवल फ्लैश करने के लिए एक 2k मेमोरी बफर आवंटित करने की आवश्यकता है। मेरा आवेदन एक प्रोटोकॉल कनवर्टर है और इसलिए इसे संभालने और प्रेषण संचरण के लिए एक अतिरिक्त बफर की आवश्यकता है। कृपया मुझे पृष्ठ के आकार के कारण रैम की आवश्यकता को कम करने के लिए बेहतर दृष्टिकोण का सुझाव दें।

जवाबों:


7

आपको पेज रजिस्टर को एक बार में भरने की जरूरत नहीं है।

आप सीरियल डेटा इनपुट कमांड ( 0x80), स्तंभ पता और पंक्ति पता लिखकर एक पृष्ठ लिखना शुरू करते हैं (यानी "पेज प्रोग्राम" ऑपरेशन) । फिर आप डेटा को पेज रजिस्टर (2112 बाइट तक) में स्थानांतरित करते हैं। इस स्थानांतरण को विखंडू में तोड़ा जा सकता है, चेंकों के बीच किसी भी देरी से आपको आवश्यकता होती है।

जब आप पृष्ठ रजिस्टर भर लेते हैं, तो आप पृष्ठ प्रोग्राम से सरणी के लिए पेज प्रोग्राम कन्फर्म कमांड ( 0x10) के साथ स्थानांतरण शुरू करते हैं ।


कृपया ध्यान दें कि नंद फ्लैश आमतौर पर प्रति पृष्ठ 4 आंशिक लेखन तक सीमित हैं

1
@ Jacen मैं प्रति पृष्ठ आंशिक लेखन का उल्लेख नहीं कर रहा हूँ। यह एक अलग कमांड / एड्रेस / डाटा / कमांड सीक्वेंस प्रति भाग के द्वारा किया जाता है। मैं पेज रजिस्टर में स्थानांतरण को तोड़ने की बात कर रहा हूं, जो आवश्यक होने पर प्रति बाइट में एक "चंक" हो सकता है।
पैट्रिक

मूल रूप से मेरे वर्तमान चालक तर्क पूरे 2K बफर के लिए RAM में प्रतीक्षा करने और फिर फ्लैश करने के लिए लिख रहे थे। लेकिन अब मेरे पास न्यूनतम 1 बाइट रैम बफर भी हो सकता है।

अरे हाँ, आप सही पैट्रिक हैं, मैं इस विकल्प को भूल गया।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.