राइट-प्रोटेक्शन के प्रकार और प्रोग्रामिंग
फ़ॉर्म फ़ैक्टर बताता है कि मॉड्यूल की फ़ील्ड कहाँ रहती हैं। एक दूसरा, स्वतंत्र एक्सिस तय करता है कि आप उन्हें बदल सकते हैं या नहीं: मॉड्यूल अपनी मेमोरी को राइट होने से कैसे बचाता है। मैन्युफ़ैक्चरर पाँच तरीक़े इस्तेमाल करते हैं, और हर एक को अलग प्रोग्रामिंग मेथड चाहिए। टाइप को पहले पहचान लेना नाकाम राइट कोशिशों में जाने वाले घंटों को बचा देता है।
पाँच प्रोटेक्शन टाइप
| # | टाइप | कैसे पहचानें | कैसे प्रोग्राम करें |
|---|---|---|---|
| 1 | अनप्रोटेक्टेड | तुरंत राइट स्वीकार करता है | डायरेक्ट राइट — लेकिन धीमी क्लॉक पर |
| 2 | हार्डवेयर राइट-प्रोटेक्ट पिन | आप जो भी करें, रीड-ओनली रहता है; कोई पासवर्ड काम नहीं आता | राइट के दौरान WP लाइन को कंट्रोल करें |
| 3 | पासवर्ड (फ़र्मवेयर कंट्रोलर) | पासवर्ड डालने तक WRITE FAIL | पहले 0x7B पर पासवर्ड डालें |
| 4 | टेम्परेरी स्टोरेज + सेव कमांड | राइट “सफल” होता है लेकिन पावर साइकल के बाद पलट जाता है | विक्रेता की सेव सीक्वेंस भेजें |
| 5 | कॉम्बाइंड | अनलॉक के लिए विक्रेता-स्पेसिफ़िक I/O सीक्वेंस चाहिए | विक्रेता का प्रोग्रामिंग एल्गोरिद्म (स्क्रिप्ट) |
1. अनप्रोटेक्टेड
EEPROM पर कोई राइट पाबंदी नहीं है। असली दिक़्क़त टाइमिंग है: भरोसेमंद प्रोग्रामिंग के लिए आमतौर पर क़रीब 1 kHz की टू-वायर क्लॉक चाहिए — जो सामान्य रीड स्पीड से लगभग दस गुना धीमी है। स्टैंडर्ड स्पीड पर राइट बीच-बीच में फ़ेल होते हैं और आधी-लिखी पेज छोड़ जाते हैं। एक जुड़ा हुआ संकेत: कुछ सिंपल मॉड्यूल पर सिर्फ़ A0h साफ़ तरीक़े से पढ़ा जाता है जबकि A2h एरर लौटाता है।
2. हार्डवेयर राइट-प्रोटेक्ट पिन
EEPROM का WP पिन एक रेज़िस्टर के ज़रिए सप्लाई से जुड़ा होता है, इसलिए चिप लॉक्ड स्टेट में पावर-अप होती है। अनलॉक करने का मतलब है राइट चलते समय WP लाइन को एक लो-इम्पीडेंस पाथ के ज़रिए ग्राउंड की तरफ़ खींचना — यह सिर्फ़ वह प्रोग्रामर बोर्ड कर सकता है जिसका उस लाइन पर कंट्रोल हो। अकेला सॉफ़्टवेयर इस टाइप को पार नहीं कर सकता: मॉड्यूल पावर साइकल और पासवर्ड कोशिशों के बावजूद रीड-ओनली बना रहता है।
3. पासवर्ड-प्रोटेक्टेड (फ़र्मवेयर कंट्रोलर)
SFF-8472 के मुताबिक़, A2h ब्लॉक ऑफ़सेट 0x7B से शुरू होने वाला 7-बाइट पासवर्ड एरिया रिज़र्व करता है; ज़्यादातर मॉड्यूल 4-बाइट पासवर्ड इस्तेमाल करते हैं। मॉड्यूल के अंदर का एक कंट्रोलर वहाँ लिखी गई वैल्यू की तुलना अपनी स्टोर की गई वैल्यू से करता है, और तभी EEPROM राइट अनलॉक करता है। पासवर्ड के बिना हर राइट WRITE FAIL लौटाता है।
- सही पासवर्ड डालें, फिर राइट करें।
- अगर पासवर्ड मालूम न हो: जाने-पहचाने विक्रेता पासवर्ड की डिक्शनरी सर्च (आम वैल्यू के लिए देखें EEPROM रीकोडिंग) या मैन्युफ़ैक्चरर से संपर्क।
- ये कंट्रोलर क्लॉक स्पीड और ब्लॉक के बीच के गैप के प्रति संवेदनशील होते हैं — धीरे प्रोग्राम करने की एक और वजह।
4. सेव कमांड के साथ टेम्परेरी स्टोरेज
राइट वोलैटाइल मेमोरी में जाते हैं। सब कुछ ठीक दिखता है — जब तक मॉड्यूल पावर साइकल न हो और पुराना कोड वापस न आ जाए। विक्रेता के फ़र्मवेयर को टेम्परेरी इमेज को परमानेंट स्टोरेज में कमिट करने के लिए एक साफ़ सेव कमांड (एक प्रोप्राइटरी बाइट सीक्वेंस) चाहिए। कोई स्टैंडर्ड इसे परिभाषित नहीं करता; हर विक्रेता की सीक्वेंस अलग होती है और उसे एक स्क्रिप्ट के तौर पर कैप्चर किया जाता है।
5. कॉम्बाइंड प्रोटेक्शन
सबसे नए मॉड्यूल कई मैकेनिज़्म एक साथ लगाते हैं: हार्डवेयर WP और एक पासवर्ड और एक सेव कमांड और ऑपरेशनल प्रीकंडीशन — उदाहरण के लिए, राइट स्वीकार करने से पहले मॉड्यूल को लो-पावर मोड में रखना ज़रूरी होता है। यह हाल की SFF-8472 रिविज़न वाले उन मॉड्यूल की ख़ासियत है जो A2h ऑफ़सेट 0x80 के ऊपर 256+ पेज दिखाते हैं, और CMIS मॉड्यूल की भी। प्रोग्रामिंग के लिए मैन्युफ़ैक्चरर का एल्गोरिद्म चाहिए, जो आमतौर पर बल्क-परचेज़ ग्राहकों के साथ शेयर किया जाता है।
टाइप कैसे पहचानें
- एक साधारण रीड करके देखें: क्या A2h साफ़ तरीक़े से पढ़ा जाता है? (टाइप 1 यहाँ अक्सर फ़ेल होता है।)
- किसी अनप्रोटेक्टेड फ़ील्ड पर सिंगल-बाइट राइट करके देखें। तुरंत सफलता → टाइप 1।
WRITE FAIL→ टाइप 3 (या 5)। चुपचाप सफल होकर पावर साइकल के बाद पलट जाना → टाइप 4। - जाने-पहचाने पासवर्ड डालें। फिर भी रीड-ओनली → टाइप 2 (हार्डवेयर) या टाइप 5 (कॉम्बाइंड)।
- फ़ॉर्म फ़ैक्टर और स्पेक रिविज़न जाँचें — CMIS और लेट-रिविज़न SFF-8472 मॉड्यूल आमतौर पर टाइप 5 होते हैं।
CodingBox में
- पासवर्ड सेटिंग — टेबल एड्रेस, पासवर्ड एड्रेस (0x7B) और वैल्यू राइट-प्रोटेक्टेड मेमोरी और पासवर्ड में सेट होती हैं; जाने-पहचाने पासवर्ड डेटाबेस से अपने आप लागू होते हैं।
- स्क्रिप्ट — CodingBox की प्रोग्रामिंग स्क्रिप्ट टाइप 4 और 5 के लिए विक्रेता की सेव सीक्वेंस और अनलॉक एल्गोरिद्म साथ रखती हैं।
- स्टैंडर्ड स्पीड पर फ़ेल होने वाले मॉड्यूल के लिए बाइट-दर-बाइट राइटिंग और धीमी क्लॉकिंग।
- हार्डवेयर WP प्रोग्रामर बोर्ड हैंडल करता है, सॉफ़्टवेयर नहीं।
- राइट करने से पहले हर रीड code database में सेव हो जाती है, इसलिए नाकाम कोशिश हमेशा रिकवर की जा सकती है।
बेंच पर लक्षण —
WRITE FAIL, पलट जाने वाला राइट, रिजेक्ट होता पासवर्ड — और हर एक के लिए क्या करें: EEPROM रीड और राइट एरर।
ये टाइप क्यों मौजूद हैं — डिस्क्रीट EEPROM बनाम MCU-एमुलेटेड मैप, सेव कमांड, फ़र्मवेयर मिरर और सिग्नेचर जैसा कि फ़र्मवेयर उन्हें लागू करता है: कंट्रोलर और फ़र्मवेयर।