मायक्रोचिप PIC24 ड्युअल विभाजन फ्लॅश प्रोग्राम मेमरी
उत्पादन माहिती
सर्व PIC24 आणि dsPIC33 डिव्हाइस अंतर्गत प्रोग्राम करण्यायोग्य फ्लॅश अॅरेसह येतात ज्याचा वापर वापरकर्ता कोड कार्यान्वित करण्यासाठी केला जाऊ शकतो. फ्लॅश अॅरेमध्ये दीर्घकाळ टिकवून ठेवण्याचे आयुष्य आणि उच्च संख्येने वाचन/लेखन चक्र आहे, जे कोड डेव्हलपमेंट आणि स्टोरेजमध्ये उत्कृष्ट लवचिकता प्रदान करते. दुहेरी विभाजन फ्लॅश प्रोग्राम मेमरीमध्ये नवीन वैशिष्ट्यांसह अद्यतनित आवृत्ती आहे.
- पत्त्याची जागा: PIC24 आणि dsPIC33 डिव्हाइसेस 4M x 24-बिट प्रोग्राम मेमरी अॅड्रेस स्पेसचा पत्ता देतात.
- वापरकर्ता प्रोग्राम जागा: प्रोग्राम मेमरी मॅप युजर प्रोग्रॅम स्पेसमध्ये (000000h ते 7FFFFFh) समान रीतीने विभागलेला आहे.
- कॉन्फिगरेशन मेमरी स्पेस: प्रोग्राम मेमरी मॅप कॉन्फिगरेशन (किंवा चाचणी) मेमरी स्पेस (800000h ते FFFFFFh) मध्ये समान रीतीने विभागलेला आहे.
- प्रोग्राम स्पेसमध्ये प्रवेश करणे: प्रोग्राम स्पेसमध्ये प्रवेश करण्यासाठी तीन पद्धती आहेत:
- 23-बिट प्रोग्राम काउंटर (पीसी).
- टेबल रीड (TBLRD) आणि टेबल राइट (TBLWT) सूचना.
- प्रोग्राम मेमरीचा कोणताही 32-Kbyte विभाग डेटा मेमरी अॅड्रेस स्पेसमध्ये मॅप करून.
परिचय
सर्व PIC24 आणि dsPIC33 उपकरणांमध्ये वापरकर्ता कोडच्या अंमलबजावणीसाठी अंतर्गत प्रोग्राम करण्यायोग्य फ्लॅश अॅरे आहे. उच्च-सहनक्षम फ्लॅश अॅरे कोड डेव्हलपमेंट आणि स्टोरेजमध्ये उत्तम लवचिकता प्रदान करते, मोठ्या संख्येने वाचन/लेखन चक्रांसह दीर्घ धारणा आयुष्य एकत्र करते.
फ्लॅश प्रोग्राम मेमरीची ही आवृत्ती ही नवीन वैशिष्ट्ये जोडते:
- दुहेरी विभाजन फ्लॅश ऑपरेशन, मजबूत बूटलोडर सिस्टमला समर्थन आणि अनुप्रयोग कोडचे अयशस्वी-सुरक्षित संचयन, कोड सुरक्षा वाढविण्यासाठी डिझाइन केलेल्या पर्यायांसह
- LiveUpdate ऑपरेशन, मुख्य ऍप्लिकेशन कार्यान्वित होत असताना निष्क्रिय कोड सेगमेंट (CS) सुधारित किंवा पूर्णपणे मिटवण्याची परवानगी देते
- डेटा रॅम स्पेसमधून फ्लॅश अॅरेचे डायरेक्ट रन-टाइम प्रोग्रामिंग, डेटा रॅम इमेजच्या वैकल्पिक कॉम्प्रेशनसह
उत्पादन वापर
दुहेरी विभाजन फ्लॅश प्रोग्राम मेमरी वापरण्यासाठी, या चरणांचे अनुसरण करा:
- हा दस्तऐवज तुम्ही वापरत असलेल्या डिव्हाइसला समर्थन देतो की नाही हे तपासण्यासाठी सध्याच्या डिव्हाइस डेटा शीटमधील ड्युअल पार्टीशन फ्लॅश प्रोग्राम मेमरी प्रकरणाच्या सुरुवातीला दिलेल्या टीपचा सल्ला घ्या.
- मायक्रोचिप वर्ल्डवाइड वरून डिव्हाइस डेटा शीट आणि कुटुंब संदर्भ मॅन्युअल विभाग डाउनलोड करा Webयेथे साइट: http://www.microchip.com.
- वर वर्णन केलेल्या तीनपैकी कोणत्याही पद्धतीचा वापर करून प्रोग्राम स्पेसमध्ये प्रवेश करा.
- लागू केलेली प्रोग्राम मेमरी व्हेक्टर क्षेत्रामध्ये विभागली जाऊ शकते, ज्यामध्ये रीसेट आणि व्यत्यय व्हेक्टर आणि कोड क्षेत्र, ज्यामध्ये फ्लॅश कॉन्फिगरेशन डेटा देखील समाविष्ट असतो. वापरकर्ता प्रोग्राम स्पेस (म्हणजे, प्रोग्राम मेमरीच्या वरच्या अंमलात आणलेल्या सीमारेषेच्या वर) अप्रभावी क्षेत्रामध्ये प्रवेश केल्याने अॅड्रेस एरर ट्रॅप होईल.
कार्यक्रम मेमरी आर्किटेक्चर
PIC24 आणि dsPIC33 उपकरणे 4M x 24-बिट प्रोग्राम मेमरी अॅड्रेस स्पेस संबोधित करतात, आकृती 2-1 मध्ये दर्शविल्याप्रमाणे. प्रोग्राम मेमरी मॅप युजर प्रोग्राम स्पेस (000000h ते 7FFFFFh) आणि कॉन्फिगरेशन (किंवा चाचणी) मेमरी स्पेस (800000h ते FFFFFFh) मध्ये समान रीतीने विभागलेला आहे. वापरकर्ता प्रोग्राम स्पेसमध्ये रीसेट व्हेक्टर, इंटरप्ट वेक्टर टेबल्स (IVTs) आणि प्रोग्राम मेमरी असते. प्रोग्राम स्पेसमध्ये प्रवेश करण्यासाठी तीन पद्धती आहेत.
- 23-बिट प्रोग्राम काउंटर (पीसी).
- टेबल रीड (TBLRD) आणि टेबल राइट (TBLWT) सूचना.
- प्रोग्राम मेमरीचा कोणताही 32-Kbyte विभाग डेटा मेमरी अॅड्रेस स्पेसमध्ये मॅप करून.
लागू केलेली प्रोग्राम मेमरी व्हेक्टर क्षेत्रामध्ये विभागली जाऊ शकते, ज्यामध्ये रीसेट आणि व्यत्यय व्हेक्टर आणि कोड क्षेत्र, ज्यामध्ये फ्लॅश कॉन्फिगरेशन डेटा देखील समाविष्ट असतो. वापरकर्ता प्रोग्राम स्पेस (म्हणजे, प्रोग्राम मेमरीच्या वरच्या अंमलात आणलेल्या सीमारेषेच्या वर) अप्रभावी क्षेत्रामध्ये प्रवेश केल्याने अॅड्रेस एरर ट्रॅप होईल.
वेक्टर क्षेत्र
वेक्टर क्षेत्र प्रोग्राम मेमरी स्पेसच्या सुरूवातीस, 000000h वाजता सुरू होते. यामध्ये मास्टर रीसेट वेक्टर, हार्डवेअर ट्रॅप वेक्टर आणि सर्व लागू केलेल्या हार्डवेअर व्यत्ययांसाठी इंटरप्ट वेक्टर टेबल (IVT) समाविष्ट आहे.
आर्किटेक्चरल फरक आणि IVT च्या आकारामुळे, वेक्टर क्षेत्र वेगवेगळ्या डिव्हाइस कुटुंबांमध्ये भिन्न प्रमाणात मेमरी व्यापते. PIC24 उपकरणांसाठी, वेक्टर क्षेत्र 0000FEh पर्यंत विस्तारित आहे. dsPIC33 उपकरणांसाठी, वेक्टर क्षेत्र 0001FEh पर्यंत विस्तारित आहे. आकृती 2-2 वेगवेगळ्या उपकरणांसाठी IVT मध्ये फरक दर्शविते. डिव्हाइस फॅमिली काहीही असो, हार्डवेअर इंटरप्ट वेक्टर नेहमी इंटरप्ट वेक्टर 000014 सह 0h वाजता सुरू होतात.
CodeGuard™ सुरक्षा अंमलबजावणीमधील वेक्टर क्षेत्र साधारणपणे वेक्टर सेगमेंट (VS) शी संबंधित आहे. सुरक्षा कॉन्फिगरेशनवर अवलंबून, वेक्टर क्षेत्र बूट सेगमेंट (BS) किंवा जनरल सेगमेंट (GS) चा भाग म्हणून मानले जाऊ शकते.
वैकल्पिक वेक्टर इंटररप्ट टेबल
सर्व dsPIC33 आणि PIC24 उपकरणे पर्यायी IVT (AIVT) च्या अंमलबजावणीसाठी प्रदान करतात, ज्याचा वापर उच्च-सुरक्षा कोड अनुप्रयोगांमध्ये आणि पर्यायी अपवाद हाताळणीसाठी केला जाऊ शकतो. या कुटुंबातील पूर्वीच्या उपकरणांप्रमाणे, AIVT कायमस्वरूपी प्रोग्राम मेमरीमध्ये निश्चित अॅड्रेस रेंजमध्ये वाटप केले जात नाही. त्याऐवजी, AIVT फक्त तेव्हाच उपस्थित असतो जेव्हा:
- CodeGuard सुरक्षा किमान दोन पृष्ठांच्या आकारासह बूट विभागासाठी कॉन्फिगर केली आहे (FBSLIM कॉन्फिगरेशन रजिस्टरद्वारे सेट केलेली), आणि
- AIVT ला AIVTDIS कॉन्फिगरेशन बिटला '0' वर प्रोग्रामिंग करून सक्षम केले आहे.
जेव्हा AIVT सक्षम केले जाते, तेव्हा ते BS च्या शेवटच्या पृष्ठाच्या सुरूवातीस असलेल्या पत्त्याच्या श्रेणीवर स्थित असते; प्रत्येक वेक्टर पृष्ठाच्या सीमेपासून निश्चित ऑफसेटवर स्थित आहे. AIVT चा एकूण आकार आणि सामग्री (म्हणजे, वेक्टर ऑर्डर) IVT चे प्रतिबिंब आहे.
कोड क्षेत्र
कोड क्षेत्र हे वापरकर्ता प्रोग्राम मेमरीचे क्षेत्र आहे ज्यामध्ये वापरकर्त्याचा अनुप्रयोग कोड असतो. हे व्हेक्टर क्षेत्राच्या शेवटपासून फ्लॅश कॉन्फिगरेशन शब्दांच्या सुरुवातीपर्यंत विस्तारते. जर बूट सेगमेंट लागू केले असेल, तर ते वेक्टर क्षेत्राच्या शेवटी सुरू होते आणि पूर्वनिर्धारित श्रेणीसाठी विस्तारित होते. कोड क्षेत्राचा भाग जो बूट सेगमेंटमध्ये नाही तो CodeGuard सुरक्षा प्रणालीमधील जनरल सेगमेंट (GS) शी संबंधित आहे. खाली वर्णन केल्याप्रमाणे, अंमलात आणलेल्या मेमरीच्या शेवटी फ्लॅश कॉन्फिगरेशन शब्द वगळता, संपूर्ण क्षेत्र अनुप्रयोग कोडसाठी उपलब्ध आहे.
फ्लॅश कॉन्फिगरेशन डेटा
कार्यान्वित फ्लॅश प्रोग्राम मेमरीच्या शेवटी असलेले क्षेत्र (सामान्यत: शेवटची पंक्ती) फ्लॅश कॉन्फिगरेशन डेटासाठी राखीव आहे. डिव्हाइस रीसेटवर, ही कॉन्फिगरेशन माहिती योग्य डिव्हाइस कॉन्फिगरेशन रजिस्टरमध्ये कॉपी केली जाते, जी वापरकर्त्यासाठी प्रवेशयोग्य नसते. डिव्हाइस कॉन्फिगरेशन डेटा केवळ फ्लॅश कॉन्फिगरेशन शब्दांमध्ये इच्छित मूल्यांचे प्रोग्रामिंग करून प्रोग्राम केला जाऊ शकतो.
कॉन्फिगरेशन बिट्सची संख्या, क्रम आणि संघटना डिव्हाइस आर्किटेक्चरमध्ये आणि त्याच आर्किटेक्चरमधील डिव्हाइस कुटुंबांमध्ये बदलते. काही उपकरणे 16-बिट कॉन्फिगरेशन शब्द म्हणून कॉन्फिगरेशन बिट्स आयोजित करतात, जे सामान्यतः कार्यात्मक अटींमध्ये गटबद्ध केले जातात. इतर उपकरणे वैयक्तिकरित्या संबोधित करण्यायोग्य कॉन्फिगरेशन बाइट्सच्या दृष्टीने कॉन्फिगरेशन बिट्स आयोजित करतात. आकृती 2-3 कॉन्फिगरेशन शब्दांसाठी आयोजित केल्याप्रमाणे क्षेत्र दर्शविते. कुटुंब-विशिष्ट माहितीसाठी डिव्हाइस डेटा शीटचा संदर्भ घ्या.
दुहेरी विभाजन क्षमता असलेल्या उपकरणांसाठी, FBTSEQ कॉन्फिगरेशन वर्ड हा सहसा पुढील-टू-लास्ट कॉन्फिगरेशन शब्द असतो, जो लागू केलेल्या प्रोग्राम मेमरीच्या शेवटी असतो.
मेमरी ऑर्गनायझेशन
प्रोग्राम मेमरी स्पेस शब्द-अॅड्रेसेबल ब्लॉक्स म्हणून आयोजित केली जाते. जरी ते 24 बिट रुंद मानले जात असले तरी, प्रोग्राम मेमरीच्या प्रत्येक पत्त्याचा खालचा आणि वरचा शब्द म्हणून विचार करणे अधिक योग्य आहे, ज्यामध्ये वरच्या शब्दाच्या वरच्या बाइटची अंमलबजावणी होत नाही. खालच्या शब्दाला नेहमी सम पत्ता असतो, तर वरच्या शब्दाला विषम पत्ता असतो (आकृती 2-4). प्रोग्राम मेमरी पत्ते आणि PC नेहमी खालच्या शब्दावर शब्द-संरेखित असतात (म्हणजे, सर्वात कमी लक्षणीय बिट (LSb) नेहमी '0' असतो). कोडच्या अंमलबजावणीदरम्यान पत्ते दोनने वाढवले जातात किंवा कमी केले जातात.
संबोधित कार्यक्रम मेमरी
सामान्य कोडच्या अंमलबजावणीसाठी, अंमलबजावणीसाठी प्रभावी पत्ता (EA) प्रोग्राम काउंटर (PC) द्वारे प्रदान केला जातो. पीसी 23 बिट रुंद आहे, वापरकर्ता प्रोग्राम स्पेसमधील कोणत्याही स्थानावर थेट प्रवेश करण्याची परवानगी देतो. प्रोग्राम इंस्ट्रक्शन अलाइनमेंट राखण्यासाठी PC[0] '0' म्हणून निश्चित केले आहे. PC[1] वाढवून PC पुढील अनुक्रमिक पत्त्यावर वाढविला जातो, त्यामुळे PC चे मूल्य दोनने वाढते.
टेबल रीड आणि टेबल राईट ऑपरेशन्ससाठी, EA हे डब्ल्यू रजिस्टरपैकी एका 16-बिट पत्त्याला TBLPAG रजिस्टरमधील 8-बिट पत्त्यासोबत जोडून तयार केले जाते. हे टेबल ऑपरेशन्सना वापरकर्ता आणि कॉन्फिगरेशन स्पेस दोन्हीमध्ये प्रवेश करण्याची परवानगी देते. टेबल ऑपरेशन्ससाठी पत्ता निर्मितीची अधिक तपशीलवार चर्चा विभाग 4.2.1 “टेबल ऑपरेशन्ससाठी पत्ता निर्मिती” मध्ये केली आहे.
विस्तारित डेटा स्पेस (EDS) आणि प्रोग्राम स्पेस व्हिजिबिलिटी (PSV) ऑपरेशन्ससाठी, EA हे DSRPAG/DSWPAG (dsPIC15) किंवा PSVPAG (PIC8F) मधील 33-बिट पत्त्यासह W रजिस्टरच्या खालच्या 24 बिट्स जोडून तयार केले जाते. नोंदणी विस्तारित डेटा स्पेस आणि प्रोग्राम स्पेस दृश्यमानता ऑपरेशन्सची चर्चा “dsPIC33/PIC24 फॅमिली रेफरन्स मॅन्युअल”, “डेटा मेमरी” (dsPIC33, DS70595) आणि/किंवा “डेटा मेमरी” (PIC24, DS30009717) मध्ये केली आहे.
कार्यक्रम मेमरी विभाजन फ्लॅश ऑपरेशन
ड्युअल पार्टीशन फ्लॅश क्षमता असलेल्या उपकरणांसाठी, FBOOT कॉन्फिगरेशन वर्डमध्ये BTMODE[1:0] बिट्स प्रोग्रामिंग करून ड्युअल पार्टीशन प्रोग्राम मेमरी मोड निवडला जातो. इतर कॉन्फिगरेशन शब्दांच्या विपरीत, FBOOT इतर सर्व फ्लॅश कॉन्फिगरेशन रजिस्टर्सच्या व्यतिरिक्त, कॉन्फिगरेशन मेमरी स्पेसमध्ये स्थित आहे. अचूक पत्ता आर्किटेक्चर-विशिष्ट आहे (म्हणजे, PIC24 किंवा dsPIC33) आणि डिव्हाइस कुटुंबांमध्ये भिन्न असू शकतो. तक्ता 3-1 मध्ये संभाव्य फ्लॅश विभाजन पर्यायांची सूची दिली आहे, ज्याची चर्चा खालील विभागांमध्ये केली आहे.
जेव्हा डिव्हाइस प्रथम इन-सर्किट सिरीयल प्रोग्रामिंग™ (ICSP™) द्वारे प्रोग्राम केले जाते, तेव्हा प्रोग्रामरने डिव्हाइस फ्लॅश विभाजन मोड योग्यरित्या सेट करण्यासाठी FBOOT प्रोग्राम केला पाहिजे. लक्षात घ्या की रन-टाइम सेल्फ-प्रोग्रामिंग (RTSP) वापरून रन टाइमवर FBOOT रीप्रोग्राम करणे शक्य नाही. FBOOT बिट्स प्रोग्रामरद्वारे ICSP मोडमध्ये कॉन्फिगर केलेले असणे आवश्यक आहे. हे असे आहे कारण फ्लॅश कॉन्फिगरेशन शब्दांचे स्थान मानक विभाजन मोडमधून दुहेरी विभाजन मोडमध्ये बदलते, ज्यामुळे अनपेक्षित डिव्हाइस ऑपरेशन होऊ शकते.
तक्ता 3-1: फ्लॅश विभाजन पर्याय
BTMODE[1:0] | विभाजन पर्याय |
11 | मानक मोड (एकल विभाजन, डीफॉल्ट) |
10 | दुहेरी विभाजन मोड |
01 | संरक्षित दुहेरी विभाजन मोड |
00 | विशेषाधिकार प्राप्त दुहेरी विभाजन मोड(1) |
टीप 1: सर्व दुहेरी विभाजन उपकरणांवर लागू केलेले नाही.
मानक (एकल विभाजन) मोड
स्टँडर्ड मोड, ज्याला सिंगल पार्टीशन किंवा स्टँडर्ड विभाजन मोड असेही संबोधले जाते, हा प्रोग्राम मेमरीसाठी डीफॉल्ट ऑपरेटिंग मोड आहे. जेव्हा BTMODEx कॉन्फिगरेशन बिट्स '11' असतात (त्यांचे अनप्रोग्राम केलेले कॉन्फिगरेशन) तेव्हा ते निवडले जाते. मागील सर्व dsPIC33 आणि PIC24 उपकरणांसाठी हा एकल प्रोग्राम मेमरी ऑपरेटिंग मोड देखील उपलब्ध आहे. मानक मोडमध्ये, संपूर्ण वापरकर्ता प्रोग्राम मेमरी फ्लॅट, सतत मेमरी स्पेस म्हणून मॅप केली जाते, 000000h पासून लागू केलेल्या फ्लॅश मेमरीच्या वरच्या सीमेपर्यंत. उदाample, 256 Kbytes फ्लॅश मेमरी असलेल्या डिव्हाइसची प्रोग्राम मेमरी अॅड्रेस रेंज 000000h ते 02AFFFh आहे, या रेंजवरील पत्ते अकार्यक्षम आहेत. संपूर्ण अंमलात आणलेली मेमरी श्रेणी (रीसेट व्हेक्टर, IVT आणि फ्लॅश कॉन्फिगरेशन शब्दांसाठी राखीव जागा वगळून) वापरकर्त्याच्या अनुप्रयोगासाठी उपलब्ध आहे. सेगमेंटेड कोड सिक्युरिटी असलेल्या उपकरणांमध्ये, बूट सेगमेंट देखील लागू केले जाऊ शकते.
दुहेरी विभाजन मोड
जेव्हा BTMODEx कॉन्फिगरेशन बिट्स '11' व्यतिरिक्त इतर मूल्यावर प्रोग्राम केले जातात, तेव्हा डिव्हाइस तीनपैकी एका दुहेरी विभाजन मोडमध्ये कार्य करते. या सर्व मोडमध्ये, अंमलात आणलेली फ्लॅश मेमरी सममितीने दोन क्षेत्रांमध्ये विभागली जाते: एक सक्रिय विभाजन, 000000h पासून सुरू होणारे, आणि एक निष्क्रिय विभाजन, 400000h पासून सुरू होते. मागील माजी मधील डिव्हाइससाठीample, 256-Kbyte फ्लॅश मेमरी 128h ते 000000FFh आणि 0157h ते 400000FFh या पत्त्यांपर्यंत प्रत्येकी 4157 Kbytes चे दोन क्षेत्र म्हणून लागू केली जाईल. दोन क्षेत्रांमधील पत्ते लागू न केलेले आहेत (आकृती 3-1 पहा).
दुहेरी विभाजन मोडमध्ये, दोन स्वतंत्र अनुप्रयोग डिव्हाइसमध्ये प्रोग्राम केले जाऊ शकतात, प्रत्येक दोन फ्लॅश मेमरी विभाजनांपैकी एक, विभाजन 1 आणि विभाजन 2 म्हणून ओळखले जाते. जेव्हा डिव्हाइस सुरू केले जाते, तेव्हा यापैकी एक सक्रिय विभाजनामध्ये गतिमानपणे मॅप केला जातो आणि अंमलात आणले. दुसरे निष्क्रिय विभाजनामध्ये मॅप केले आहे, जेथे ते प्रोग्राम मेमरी ऑपरेशन्ससाठी उपलब्ध राहते. सक्रिय किंवा निष्क्रिय विभाजनासाठी विभाजनाची नियुक्ती कोड स्वाक्षरीद्वारे स्वयंचलितपणे निर्धारित केली जाते, ज्याला बूट अनुक्रम क्रमांक म्हणून ओळखले जाते. कोड विभाजने सक्रिय आणि निष्क्रिय विभाजनांमध्ये बदलली जाऊ शकतात, रन टाइम दरम्यान, सॉफ्टवेअर नियंत्रणाखाली.
दुहेरी विभाजन मोड सक्रिय विभाजनाच्या ऍप्लिकेशनला निष्क्रिय विभाजनातील प्रोग्राम डेटामध्ये प्रवेश करण्यासाठी (परंतु कार्यान्वित करू शकत नाही) किंवा निष्क्रिय विभाजन पुन्हा प्रोग्राम करण्यासाठी परवानगी देतात. निष्क्रिय विभाजनामध्ये फ्लॅश मेमरीवर लिहिण्यासाठी फ्लॅश लेखन होत असताना CPU ला थांबण्याची आवश्यकता नाही. हे LiveUpdate कार्यक्षमतेसाठी अनुमती देते, जेथे गंभीर नियंत्रण कार्ये किंवा वेळ-संवेदनशील संप्रेषणे एकाच वेळी ऍप्लिकेशन अद्यतनांसह होऊ शकतात. कोड सुरक्षितता आणि ऑपरेशनची मजबूतता सुनिश्चित करण्यात मदत करण्यासाठी काही दुहेरी विभाजन मोड प्रक्रियेवर अतिरिक्त मर्यादा घालतात. कोड निष्क्रीय विभाजनावर मॅप केला जातो तेव्हा ते कार्यान्वित केले जाऊ शकत नाही. विभाजने अदलाबदल केली जाऊ शकतात, परंतु केवळ सक्रिय विभाजनातील कोड कार्यान्वित केला जाऊ शकतो.
- दुहेरी विभाजन मोड
सर्वात सोपा ड्युअल विभाजन मोड विभाजन 1 किंवा 2 मधील सक्रिय विभाजनापासून कोडपर्यंतच्या ऑपरेशन्सवर कोणतेही प्रतिबंध ठेवत नाही. भिन्न विभाजनांमधील कोड विभागांमधील परस्परसंवादावरील कोणतीही मर्यादा वर्धित सुरक्षा वैशिष्ट्यांच्या कॉन्फिगरेशनद्वारे निर्धारित केली जाते. - संरक्षित ड्युअल पार्टीशन मोड
संरक्षित ड्युअल विभाजन मोड कोणत्याही फ्लॅश लेखन किंवा पुसून टाकण्याच्या ऑपरेशनपासून डीफॉल्ट कोड सेगमेंट (विभाजन 1) चे संरक्षण करते. हे विभाजन 1 मध्ये अयशस्वी-सुरक्षित बॅकअप प्रतिमा संग्रहित करण्यास अनुमती देऊन "फॅक्टरी डीफॉल्ट" मोडच्या अंमलबजावणीसाठी परवानगी देते. जेव्हा संरक्षित ड्युअल विभाजन मोड वापरला जातो, तेव्हा विभाजन 1 फ्लॅश मेमरी ऑपरेशन्सद्वारे लिहीले किंवा पुसले जाऊ शकत नाही. निष्क्रिय विभाजन. जर विभाजन 1 देखील कॉन्फिगरेशन बिट सेटिंग्जद्वारे लेखन-संरक्षित असेल, तर ते कधीही मिटवले किंवा लिहिता येणार नाही. याउलट, विभाजन 2 मिटवले जाऊ शकते किंवा कोणत्याही विभाजनातील ऑपरेशनद्वारे लिहीले जाऊ शकते. हे अयशस्वी-सुरक्षित बूटलोडरला विभाजन 1 मध्ये, अयशस्वी-सुरक्षित बॅकअप कोड प्रतिमेसह ठेवण्यास अनुमती देते. ही कोड प्रतिमा नंतर डीफॉल्टनुसार कार्यान्वित केली जाऊ शकते आणि फ्लॅश अपडेट अयशस्वी झाल्यास विभाजन 2 पुन्हा लिहिण्यासाठी वापरली जाऊ शकते. - विशेषाधिकार दुहेरी विभाजन मोड
विशेषाधिकारित दुहेरी विभाजन मोड अशा प्रकरणांमध्ये अतिरिक्त सुरक्षा संरक्षण लागू करतो जेथे अनुप्रयोगामध्ये भिन्न लेखकांनी लिहिलेले कोड विभाग असू शकतात आणि त्यापैकी एका विभागासाठी बौद्धिक संपत्तीचे संरक्षण करण्यासाठी उच्च पातळीची सुरक्षा आवश्यक असते. माजीample ही एक अशी प्रणाली असेल जिथे कोडचा मोठा भाग हार्डवेअरच्या ऍप्लिकेशन डेव्हलपरद्वारे लिहिला जातो, परंतु त्यात एक मालकी, तृतीय-पक्ष लायब्ररी समाविष्ट असते. हा मोड निवडक उपकरणांमधील वर्धित सुरक्षा वैशिष्ट्यांसह कार्य करण्यासाठी डिझाइन केला आहे, जो प्रोग्राम मेमरी स्पेसमधील भिन्न कोड विभाग निवडकपणे संरक्षित करू शकतो.
दोन्ही विभाजनांच्या BSLIMx कॉन्फिगरेशन बिट्समध्ये विशेष संरक्षण जोडून विशेषाधिकार प्राप्त दुहेरी विभाजन मोड मानक दुहेरी विभाजन मोडपेक्षा वेगळे आहे. हे संरक्षण प्रभावीपणे बिट्स लॉक करते, आणि बूट सेगमेंट आणि जनरल सेगमेंटच्या आकारात बदल होण्यापासून प्रतिबंधित करते. योग्य सुरक्षा सेटिंग्जसह, हे सुनिश्चित करते की रन टाइममध्ये कोणताही विभाग बदलला जाणार नाही किंवा अनपेक्षितपणे वाचला जाणार नाही.
दुहेरी विभाजन क्षमता असलेल्या सर्व उपकरणांवर विशेषाधिकार प्राप्त ड्युअल विभाजन मोड लागू केला जात नाही. तपशीलांसाठी विशिष्ट डिव्हाइस डेटा शीटचा संदर्भ घ्या. - कोड विभाजन निवडणे
दुहेरी विभाजन मोडमध्ये, कोणते विभाजन सक्रिय विभाजनामध्ये मॅप केले जाईल आणि कार्यान्वित केले जाईल हे निर्धारित करण्याच्या दोन पद्धती आहेत: बूट अनुक्रम क्रमांक आणि BOOTSWP सूचना. P2ACTIV बिट (NVMCON[10]) कोणते भौतिक विभाजन सक्रिय विभाजन आहे हे निर्धारित करण्यासाठी वापरले जाऊ शकते. P2ACTIV = 1 असल्यास, विभाजन 2 सक्रिय आहे; P2ACTIV = 0 असल्यास, विभाजन 1 सक्रिय आहे. बूट अनुक्रम क्रमांक हे 12-बिट मूल्य आहे जे डिव्हाइस रीसेट केल्यावर सक्रिय विभाजन स्वयंचलितपणे निर्धारित करण्यासाठी वापरले जाते. प्रत्येक विभाजनामध्ये एक अद्वितीय बूट अनुक्रम क्रमांक असावा, जो FBTSEQ फ्लॅश कॉन्फिगरेशन वर्डमध्ये संग्रहित केला जातो. BOOTSWP सूचना डिव्हाइस रीसेट न करता सक्रिय आणि निष्क्रिय विभाजने स्वॅप करण्यासाठी वापरली जाते.- बूट क्रम क्रमांक
12-बिट बूट अनुक्रम क्रमांक FBTSEQ फ्लॅश कॉन्फिगरेशन वर्डमध्ये संग्रहित केला जातो, जो नेहमी इतर फ्लॅश कॉन्फिगरेशन शब्दांच्या वर, वापरकर्ता प्रोग्राम मेमरीच्या शेवटच्या स्थानावर असतो (आकृती 3-2 पहा). इतर कॉन्फिगरेशन रजिस्टर्सच्या विपरीत, जे प्रोग्राम मेमरी शब्दाच्या फक्त खालच्या 16 बिट्सचा वापर करतात, FBTSEQ पूर्ण 24 बिट्स रुंद आहे. प्रत्येक विभाजनाचे, सामान्य ऑपरेटिंग परिस्थितीत, FBTSEQ साठी भिन्न मूल्य असावे. जेव्हा दुहेरी विभाजन मोड वापरले जात नाहीत, तेव्हा FBTSEQ चे मूल्य दुर्लक्षित केले जाते.
बूट अनुक्रम क्रमांक दोन भागांमध्ये संग्रहित केला जातो: बिट फील्डमधील वास्तविक मूल्य, BSEQx
(FBTSEQ[11:0]), आणि IBSEQx बिट्स फील्डमधील मूल्याचे पूरक
(FBTSEQ [२३:१२]). जेव्हा डिव्हाइस रीसेटवर बूट अनुक्रम क्रमांक वाचला जातो, तेव्हा BSEQx आणि IBSEQx च्या मूल्यांची आपोआप तुलना केली जाते. ही दोन मूल्ये परस्पर पूरक नसल्यास, बूट अनुक्रम क्रमांक अवैध मानला जातो. पूरक मूल्य हार्डवेअरद्वारे स्वयंचलितपणे तयार केले जात नाही किंवा प्रोग्रामिंगवर हार्डवेअरद्वारे सत्यापित केले जात नाही. अनुप्रयोगाने योग्य मूल्याची गणना आणि प्रोग्राम करणे आवश्यक आहे.
डिव्हाइस रीसेटवर, दोन्ही विभाजनांमधील बूट अनुक्रम क्रमांकांची तुलना केली जाते. कमी BSEQx मूल्य असलेले विभाजन हे सक्रिय विभाजनामध्ये मॅप केलेले असते आणि त्याचा कोड कार्यान्वित केला जातो. बूट क्रम क्रमांकांपैकी एक अवैध असल्यास, बूट अनुक्रम क्रमांक कमी असला तरीही डिव्हाइस सक्रिय विभाजन म्हणून वैध बूट अनुक्रम क्रमांकासह विभाजन निवडेल. दोन्ही बूट अनुक्रम क्रमांक अवैध असल्यास, विभाजन 1 मुलभूतरित्या सक्रिय विभाजन म्हणून निवडले जाईल.
कमी मूल्यासाठी निष्क्रिय विभाजनाच्या बूट अनुक्रम क्रमांकाचे पुनप्रोग्रामिंग करून विभाजनांना रन टाइम दरम्यान स्वॅप करण्यासाठी तयार केले जाऊ शकते. रीसेट कार्यान्वित केल्यावर, कमी मूल्य असलेले विभाजन आता सक्रिय होते. जेव्हा निष्क्रिय विभाजन अद्ययावत केले जाते आणि रीसेट केल्यानंतर सक्रिय विभाजनामध्ये मॅप केले जाते तेव्हा ही पद्धत वापरली जाते.
FBTSEQ चे स्थान चेकसम किंवा फ्लॅश प्रोग्राम मेमरीच्या इतर पडताळणीतून सहजपणे वगळण्याची परवानगी देते. कारण FBTSEQ मूल्य रन टाइमवर (इतर विभाजनाच्या BSEQx वर आधारित) निर्धारित केले जाण्याची शक्यता असते, ते सहसा चेकसममध्ये समाविष्ट केले जाऊ शकत नाही, जसे की CRC.
आकृती 3-3 च्या शीर्षस्थानी असलेला क्रम जेव्हा बूट क्रम क्रमांक बदलला जातो आणि डिव्हाइस रीसेट कार्यान्वित केला जातो तेव्हा कोड विभाजनांमधील संबंध दर्शवितो. - BOOTSWP सूचना
BOOTSWP सूचना हा PIC24 आणि dsPIC33 निर्देश संचाचा विस्तार आहे. हे कोड, LiveUpdate ला सपोर्ट करते, कोड सेगमेंट्सना डिव्हाईस रीसेट न करता सक्रिय आणि निष्क्रिय विभाजनांमध्ये अदलाबदल करण्याची परवानगी देऊन. BOOTSWP सूचना वापरून विभाजन स्वॅपला "सॉफ्ट स्वॅप" असे संबोधले जाते. BOOTSWP सूचना कार्यान्वित करण्यासाठी, कॉन्फिगरेशन बिट, BTSWP (FIDC[25]), साफ करणे आवश्यक आहे. जर BOOTSWP सूचना BTSWP संचासह प्रयत्न केला असेल, तर NOP सूचना प्राप्त होईल.
BOOTSWP सूचना नेहमी पीसी लिहिणारी एकल-शब्द सूचना (उदा. GOTO W, CALL W किंवा BRA W) पाळली पाहिजे; सूचनांचे लक्ष्य सध्याच्या पत्त्याच्या 32 Kbytes आत असलेल्या पत्त्यावर असणे आवश्यक आहे. कार्यान्वित केल्यावर, सक्रिय आणि निष्क्रिय विभाजने व्यापार करतात आणि पीसी व्हेक्टर नवीन सक्रिय विभाजनामध्ये GOTO निर्देशांद्वारे निर्दिष्ट केलेल्या स्थानावर जातात.
टीप: LNK सूचना वापरून नवीन स्टॅक फ्रेम तयार केलेल्या फंक्शनमधून जर BOOTSWP सूचना अंमलात आणली गेली असेल, तर GOTO ऐवजी BOOTSWP नुसार कॉल वापरणे आवश्यक आहे; अन्यथा, डिव्हाइस स्टॅक त्रुटी सापळा व्युत्पन्न करेल.- BOOTSWP सूचना अंमलात आणल्यानंतर, SFTSWP बिट (NVMCON[11]) सेट केला जातो. हा बिट फर्मवेअरला सूचित करतो की BOOTSWP सूचना योग्यरित्या आली आहे आणि सध्या सक्रिय विभाजन डिव्हाइस रीसेट ऐवजी BOOTSWP द्वारे प्रविष्ट केले गेले आहे. स्टेटस बिट, P2ACTIV (NVMCON[10]), कोणते विभाजन सक्रिय आहे हे सत्यापित करण्यासाठी देखील वाचले जाऊ शकते.
- हे लक्षात घेणे महत्त्वाचे आहे की, विभाजन स्वॅपनंतर, पूर्वी सक्षम केलेले सर्व परिधी आणि व्यत्यय सक्षम राहतात. याव्यतिरिक्त, RAM आणि स्टॅक स्वॅप नंतर त्यांची स्थिती राखतात. सॉफ्ट स्वॅप्स वापरणारे अॅप्लिकेशन अपेक्षेप्रमाणे चालत राहतील याची खात्री करण्यासाठी डिव्हाइसला पुन्हा सुरू करणाऱ्या रूटीनवर जाण्याची अत्यंत शिफारस केली जाते.
- ऑपरेशनच्या मजबूततेसाठी, BOOTSWP सूचना अंमलात आणण्यापूर्वी मानक NVM अनलॉकिंग क्रम कार्यान्वित करणे आवश्यक आहे (दोन अनुक्रमिक चरणांमध्ये NVMKEY रजिस्टरमध्ये 55h आणि AAh लिहिणे; अधिक माहितीसाठी विभाग 4.1 “नोंदणी” पहा). अनलॉक क्रम कार्यान्वित करण्यापूर्वी व्यत्यय अक्षम करणे देखील महत्त्वाचे आहे. अनलॉकिंग क्रम पूर्ण न केल्यास, BOOTSWP सक्ती NOP म्हणून कार्यान्वित केले जाईल. BOOTSWP खालील GOTO सूचना अद्याप कार्यान्वित आहे, ज्यामुळे पीसी वर्तमान ऑपरेटिंग विभाजनामध्ये त्या स्थानावर जाऊ शकतो. त्याचप्रमाणे, मानक विभाजन मोडमध्ये BOOTSWP चा कोणताही प्रभाव नाही.
- BOOTSWP सूचना कार्यान्वित केल्यावर आकृती 3-3 च्या तळाशी असलेला क्रम विभाजनांमधील संबंध दर्शवितो. लक्षात घ्या की BOOTSWP विभाजन बदल तात्पुरता आहे; नंतरचे उपकरण रीसेट केल्यानंतर, कमी बूट अनुक्रम क्रमांक असलेले विभाजन सक्रिय विभाजनाला पुन्हा नियुक्त केले जाते.
- बूट क्रम क्रमांक
फ्लॅश मेमरी प्रोग्रामिंग
PIC24 आणि dsPIC33 डिव्हाइस तीनपैकी कोणत्याही एका पद्धतीद्वारे प्रोग्राम केले जाऊ शकतात:
- रन-टाइम सेल्फ-प्रोग्रामिंग (RTSP)
- इन-सर्किट सीरियल प्रोग्रामिंग™ (ICSP™)
- वर्धित इन-सर्किट सीरियल प्रोग्रामिंग (EICSP)
RTSP कार्यान्वित करताना ऍप्लिकेशन सॉफ्टवेअरद्वारे केले जाते, तर ICSP आणि EICSP बाह्य प्रोग्रामरद्वारे डिव्हाइसवर अनुक्रमांक डेटा कनेक्शन वापरून केले जातात. ICSP आणि EICSP RTSP पेक्षा जास्त वेगवान प्रोग्रामिंग वेळ देतात. या विभागात आरटीएसपी तंत्रांचे वर्णन केले आहे. ICSP आणि EICSP प्रोटोकॉल संबंधित उपकरणांसाठी प्रोग्रामिंग तपशील दस्तऐवजांमध्ये परिभाषित केले आहेत, जे मायक्रोचिपवरून डाउनलोड केले जाऊ शकतात. webजागा (www.microchip.com).
नोंदणी करतो
प्रोग्रामिंग ऑपरेशन्स सहा रजिस्टर्सद्वारे नियंत्रित केली जातात. NVMCON आणि NVMKEY रजिस्टर सर्व ऑपरेशन्स सक्षम आणि निवडण्यासाठी वापरले जातात. उर्वरित चार रजिस्टर्स डेटा आणि अॅड्रेस पॉइंटर्स परिभाषित करतात.
टीप: सर्व उपकरणे डेटा रॅम बफर प्रोग्रामिंग लागू करत नाहीत. अधिक माहितीसाठी विशिष्ट डिव्हाइस डेटा शीटचा संदर्भ घ्या.
नियंत्रण नोंदणी
NVMCON रजिस्टर (नोंदणी 4-1) सर्व फ्लॅश प्रोग्रामिंग ऑपरेशन्स नियंत्रित करते. NVMOP[3:0] बिट्स (NVMCOM[3:0]) विशिष्ट लेखन किंवा पुसून टाकण्याचे ऑपरेशन निवडतात. WR बिट (NVMCOM[15]) योग्य ऑपरेशनला चालना देतो; ऑपरेशन पूर्ण होईपर्यंत ते सेट राहते आणि नंतर हार्डवेअरद्वारे साफ केले जाते. WREN बिट (NVMCOM[14]) लिहिणे आणि मिटवणे ऑपरेशन्स सक्षम किंवा अक्षम करते. WREN स्पष्ट असताना WR बिट ऑपरेशन ट्रिगर करण्यासाठी सेट केले जाऊ शकत नाही.
NVMKEY रजिस्टर (नोंदणी 4-2) हे NVMCON चे अपघाती लेखन रोखण्यासाठी वापरले जाणारे फक्त लिहिणारे रजिस्टर आहे जे फ्लॅश मेमरी दूषित करू शकते. एकदा अनलॉक केल्यावर, एका सूचना चक्रासाठी NVMCON ला लिहिण्याची परवानगी आहे, ज्यामध्ये WR बिट मिटवणे किंवा प्रोग्राम रूटीन सुरू करण्यासाठी सेट केले जाऊ शकते. वेळेची आवश्यकता लक्षात घेता, व्यत्यय अक्षम करणे आवश्यक आहे.
मिटवणे किंवा प्रोग्रामिंग क्रम सुरू करण्यासाठी, खालील पायऱ्या वापरल्या जातात:
- व्यत्यय अक्षम करा.
- NVMKEY वर 0x55 लिहा.
- NVMKEY वर 0xAA लिहा.
- WR बिट (NVMCON[15]) सेट करून प्रोग्रामिंग लेखन चक्र सुरू करा.
- दोन NOP सूचना अंमलात आणा.
- व्यत्यय पुनर्संचयित करा.
Example 4-1 अनलॉक क्रम कसा केला जातो ते दाखवते.
व्यत्यय अक्षम करत आहे
यशस्वी परिणाम सुनिश्चित करण्यासाठी सर्व फ्लॅश ऑपरेशन्ससाठी व्यत्यय अक्षम करणे आवश्यक आहे. NVMKEY अनलॉक क्रमादरम्यान व्यत्यय आल्यास, ते WR बिटवर लेखन अवरोधित करू शकते. NVMKEY अनलॉक क्रम कोणत्याही व्यत्ययाशिवाय कार्यान्वित करणे आवश्यक आहे, विभाग 3.2 “ड्युअल विभाजन मोड” मध्ये चर्चा केल्याप्रमाणे. ग्लोबल इंटरप्ट सक्षम (GIE बिट) अक्षम करून किंवा DISI सूचना वापरून, दोनपैकी एका पद्धतीमध्ये व्यत्यय अक्षम केला जाऊ शकतो. DISI सूचना केवळ प्रायोरिटी 6 किंवा त्यापेक्षा कमी व्यत्यय अक्षम करते, म्हणून याची शिफारस केलेली नाही आणि ग्लोबल इंटरप्ट सक्षम पद्धत वापरली जावी.
कोड फ्लोवर परिणाम होण्यापूर्वी CPU GIE ला दोन सूचना चक्र घेते. दोन NOP सूचना नंतर आवश्यक आहेत, किंवा NMVKEY लोड करण्यासारख्या इतर कोणत्याही उपयुक्त कामाच्या सूचनांसह बदलल्या जाऊ शकतात; हे सेट आणि क्लिअर दोन्ही ऑपरेशन्ससाठी लागू आहे. व्यत्यय पुन्हा-सक्षम करताना काळजी घेतली पाहिजे जेणेकरुन NVM लक्ष्यित दिनचर्या व्यत्यय आणू देत नाही जेव्हा पूर्वीच्या कॉल फंक्शनने इतर कारणांमुळे ते अक्षम केले असेल. असेंब्लीमध्ये याचे निराकरण करण्यासाठी, GIE बिटची स्थिती टिकवून ठेवण्यासाठी स्टॅक पुश आणि पॉपचा वापर केला जाऊ शकतो. C मध्ये, RAM मधील व्हेरिएबल GIE साफ करण्यापूर्वी INTCON2 संचयित करण्यासाठी वापरले जाऊ शकते.
व्यत्यय अक्षम करण्यासाठी खालील क्रम वापरला जावा:
- स्टॅकवर INTCON2 पुश करा.
- GIE बिट साफ करा.
- दोन NOPs किंवा NVMKEY ला पत्र.
- WR बिट (NVMCON[15]) सेट करून प्रोग्रामिंग सायकल सुरू करा.
- INTCON2 च्या POP द्वारे GIE स्थिती पुनर्संचयित करा.
Example 4-1 असेंब्लीमध्ये वाक्यरचना प्रदान करते.
पत्ता नोंदणी
NVMADRL आणि NVMADRH रजिस्टर्स लेखन ऑपरेशन्ससाठी स्टार्ट अॅड्रेस पॉइंटर परिभाषित करतात. दोन्ही प्रकारचे प्रोग्राम मेमरी राइट (लॅच-आधारित आणि रॅम बफर केलेले) गंतव्य पत्ता सेट करण्यासाठी या रजिस्टर्सचा वापर करतात. एनव्हीएमएसआरसीएडीआरएल आणि एनव्हीएमएसआरसीएडीआरएच रजिस्टर्स रॅम बफर केलेले प्रोग्रामिंग वापरताना स्त्रोत डेटाच्या डेटा रॅममध्ये सुरुवातीचा पत्ता परिभाषित करतात. विस्तारित डेटा स्पेस मेमरीमधील पत्ते दर्शवण्यासाठी विस्तारित डेटा स्पेस (EDS) असलेल्या उपकरणांवर NVMSRCADRH रजिस्टर वापरले जाते.
नोंदणी 4-1: NVMCON: फ्लॅश प्रोग्रामिंग कंट्रोल रजिस्टर
R/S-0(1) | R/C-0 | R/C-0 | R/W-0 | R/C-0 | R-0 | R/W-0 | R/C-0 |
WR | WREN | WRERR | NVMPIDL(5) | SFTSWP | P2ACTIV | RPDF(2) | URERR(2) |
बिट 15 | बिट 8 |
U-0 | U-0 | U-0 | U-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
— | — | — | — | NVMOP[3:0] | |||
बिट 7 | बिट 0 |
आख्यायिका: | S = सेट करण्यायोग्य फक्त बिट | C = क्लिअर करण्यायोग्य फक्त बिट |
आर = वाचनीय बिट | W = लिहिण्यायोग्य बिट | U = अपूरणीय बिट, '0' म्हणून वाचा |
-n = POR वर मूल्य | '1' = बिट सेट आहे | '0' = बिट साफ केले आहे x = बिट अज्ञात आहे |
नोंद
- हा बिट ब्राउन-आउट रीसेट (BOR) वर देखील रीसेट केला जातो.
- रॅम बफर रो ऑपरेशन्स सर्व उपकरणांवर उपलब्ध नाहीत; त्या प्रकरणांमध्ये, हे बिट्स अप्रभावी आहेत आणि '0' म्हणून वाचले जातात.
- हे पर्याय निवडल्याने WRERR बिट सेट होईल आणि WR बिट साफ होईल.
- दुहेरी-शब्द प्रोग्राम ऑपरेशन्ससाठी दोन समीप सूचना शब्द आवश्यक आहेत (प्रत्येकी 24 बिट), चार-सूचना शब्द सीमारेषेवर संरेखित.
- केवळ निवडक उपकरणांमध्ये लागू; तपशीलांसाठी विशिष्ट डिव्हाइस डेटा शीट पहा.
नोंद
- हा बिट ब्राउन-आउट रीसेट (BOR) वर देखील रीसेट केला जातो.
- रॅम बफर रो ऑपरेशन्स सर्व उपकरणांवर उपलब्ध नाहीत; त्या प्रकरणांमध्ये, हे बिट्स अप्रभावी आहेत आणि '0' म्हणून वाचले जातात.
- हे पर्याय निवडल्याने WRERR बिट सेट होईल आणि WR बिट साफ होईल.
- दुहेरी-शब्द प्रोग्राम ऑपरेशन्ससाठी दोन समीप सूचना शब्द आवश्यक आहेत (प्रत्येकी 24 बिट), चार-सूचना शब्द सीमारेषेवर संरेखित.
- केवळ निवडक उपकरणांमध्ये लागू; तपशीलांसाठी विशिष्ट डिव्हाइस डेटा शीट पहा.
नोंदणी 4-2: NVMKEY: नॉनव्होलॅटाइल मेमरी की रजिस्टर
U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
— | — | — | — | — | — | — | — |
बिट 15 | बिट 8 |
W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-XNUMX |
NVMKEY[7:0] |
बिट 7 बिट 0 |
आख्यायिका: | ||
आर = वाचनीय बिट | W = लिहिण्यायोग्य बिट | U = अपूरणीय बिट, '0' म्हणून वाचा |
-n = POR वर मूल्य | '1' = बिट सेट आहे | '0' = बिट साफ केले आहे x = बिट अज्ञात आहे |
टेबल ऑपरेशन सूचना
टेबल सूचना प्रोग्राम मेमरी स्पेस आणि PIC24 आणि dsPIC33 डिव्हाइसेसमधील डेटा मेमरी स्पेस दरम्यान डेटा हस्तांतरित करण्याची एक पद्धत प्रदान करते. फ्लॅश प्रोग्राम मेमरीच्या प्रोग्रामिंग दरम्यान वापरल्या जाणार्या टेबल सूचनांचा सारांश या विभागात प्रदान केला आहे.
टेबलमध्ये चार मूलभूत सूचना आहेत:
- TBLRDL: टेबल रीड कमी
- TBLRDH: टेबल उच्च वाचा
- TBLWTL: टेबल कमी लिहा
- TBLWTH: टेबल उच्च लिहा
TBLRDL आणि TBLWTL निर्देशांचा उपयोग प्रोग्राम मेमरी स्पेसच्या बिट[१५:०] वाचण्यासाठी आणि लिहिण्यासाठी केला जातो. TBLRDL आणि TBLWTL वर्ड किंवा बाइट मोडमध्ये प्रोग्राम मेमरी ऍक्सेस करू शकतात. TBLRDH आणि TBLWTH सूचना प्रोग्राम मेमरी स्पेसच्या बिट[२३:१६] वाचण्यासाठी किंवा लिहिण्यासाठी वापरल्या जातात. TBLRDH आणि TBLWTH वर्ड किंवा बाइट मोडमध्ये प्रोग्राम मेमरी ऍक्सेस करू शकतात. प्रोग्राम मेमरी फक्त 15 बिट रुंद असल्याने, TBLRDH आणि TBLWTH सूचनांमध्ये प्रोग्राम मेमरीच्या वरच्या बाइटला संबोधित करण्याची क्षमता आहे जी अस्तित्वात नाही. या बाइटला 'फँटम बाइट' म्हणतात. फॅंटम बाइटचे कोणतेही वाचन 0h परत करते; फॅंटम बाइटवर लिहिण्याचा कोणताही परिणाम होत नाही.
टेबल ऑपरेशन्ससाठी पत्ता निर्मिती
24-बिट प्रोग्राम मेमरी दोन, शेजारी 16-बिट स्पेस म्हणून ओळखली जाऊ शकते, प्रत्येक स्पेस समान पत्ता श्रेणी सामायिक करते. म्हणून, TBLRDL आणि TBLWTL सूचना 'लो' प्रोग्राम मेमरी स्पेसमध्ये प्रवेश करतात (PM[15:0]). TBLRDH आणि TBLWTH सूचना 'उच्च' प्रोग्राम मेमरी स्पेसमध्ये प्रवेश करतात (PM[31:16]). PM[31:24] ला कोणतेही वाचन किंवा लिहीले तर ते फँटम (अप्ररुपित) बाइटमध्ये प्रवेश करेल. जेव्हा टेबलच्या कोणत्याही सूचना बाइट मोडमध्ये वापरल्या जातात, तेव्हा टेबल अॅड्रेसचा LSb बाइट सिलेक्ट बिट म्हणून वापरला जाईल. उच्च किंवा कमी प्रोग्राम मेमरी स्पेसमधील कोणत्या बाइटमध्ये प्रवेश केला जातो हे LSb निर्धारित करते.
आकृती 4-1 टेबल निर्देशांचा वापर करून प्रोग्राम मेमरी कशी संबोधित केली जाते हे स्पष्ट करते. 24-बिट प्रोग्राम मेमरी अॅड्रेस TBLPAG[7:0] बिट्स वापरून तयार केला जातो आणि W रजिस्टर मधून Effective Address (EA) हे टेबल इंस्ट्रक्शनमध्ये नमूद केले आहे (24-बिट प्रोग्राम काउंटर संदर्भासाठी दर्शविले आहे). प्रोग्राम मेमरी स्थान निवडण्यासाठी EA च्या वरच्या 23 बिट्सचा वापर केला जातो. बाइट मोड टेबल सूचनांसाठी, 16-बिट प्रोग्राम मेमरी शब्दाचा कोणता बाइट संबोधित केला आहे हे निवडण्यासाठी W रजिस्टर EA चा LSb वापरला जातो. एक '1' बिट्स निवडतो[15:8], एक '0' बिट्स निवडतो[7:0]. वर्ड मोडमधील टेबल सूचनेसाठी W रजिस्टर EA च्या LSbकडे दुर्लक्ष केले जाते. प्रोग्राम मेमरी अॅड्रेस व्यतिरिक्त, टेबल सूचना W रजिस्टर (किंवा मेमरी स्थानासाठी डब्ल्यू पॉइंटर) देखील निर्दिष्ट करतात जो प्रोग्राम मेमरी डेटाचा स्त्रोत आहे किंवा प्रोग्राम मेमरी वाचण्याचे गंतव्यस्थान आहे. बाइट मोडमध्ये टेबल राइट ऑपरेशनसाठी, सोर्स वर्किंग रजिस्टरच्या बिट[१५:८] दुर्लक्षित केले जातात.
कमी शब्द प्रवेश
TBLRDL आणि TBLWTL सूचनांचा वापर प्रोग्राम मेमरी डेटाच्या खालच्या 16 बिट्समध्ये प्रवेश करण्यासाठी केला जातो. वर्ड-वाइड टेबल ऍक्सेससाठी W रजिस्टर पत्त्याच्या LSbकडे दुर्लक्ष केले जाते. बाइट-वाइड ऍक्सेससाठी, W रजिस्टर पत्त्याचा LSb कोणता बाइट वाचला आहे हे ठरवते. आकृती 4-2 TBLRDL आणि TBLWTL निर्देशांद्वारे ऍक्सेस केलेले प्रोग्राम मेमरी डेटा क्षेत्रे स्पष्ट करते.
उच्च शब्द प्रवेश
TBLRDH आणि TBLWTH सूचना प्रोग्राम मेमरी डेटाच्या वरच्या आठ बिट्समध्ये प्रवेश करण्यासाठी वापरल्या जातात. या सूचना ऑर्थोगोनॅलिटीसाठी वर्ड किंवा बाइट ऍक्सेस मोडला देखील समर्थन देतात, परंतु आकृती 0-4 मध्ये दर्शविल्याप्रमाणे प्रोग्राम मेमरी डेटाचा उच्च बाइट नेहमी '3' परत करेल.
प्रोग्राम मेमरीमध्ये डेटा स्टोरेज
असे गृहीत धरले जाते की बहुतेक ऍप्लिकेशन्ससाठी, हाय बाइट (PM[23:16]) डेटासाठी वापरला जाणार नाही, ज्यामुळे प्रोग्राम मेमरी डेटा स्टोरेजसाठी 16 बिट रुंद दिसते. प्रोग्राम डेटाचा वरचा बाइट एकतर NOP (00h किंवा FFh) किंवा बेकायदेशीर opcode (3Fh) मूल्य म्हणून प्रोग्राम केला जाण्याची शिफारस केली जाते, जेणेकरून संचयित डेटाच्या अपघाती अंमलबजावणीपासून डिव्हाइसचे संरक्षण होईल. TBLRDH आणि TBLWTH सूचना प्रामुख्याने अॅरे प्रोग्राम/पडताळणीच्या उद्देशांसाठी आणि संकुचित डेटा स्टोरेज आवश्यक असलेल्या अनुप्रयोगांसाठी प्रदान केल्या आहेत.
कार्यक्रम मेमरी बिट वर्तन
फ्लॅश प्रोग्राम मेमरीमधील बिट्स फक्त '1' ते '0' पर्यंत प्रोग्राम केले जाऊ शकतात आणि नंतर '1' मध्ये मिटवले जाऊ शकतात. प्रोग्रामिंग क्रमाने थोडा सेट करण्याचा प्रयत्न केल्याने कोणताही परिणाम होणार नाही.
टेबल वाचण्याच्या सूचना वापरणे
टेबल रीडसाठी दोन चरण आवश्यक आहेत. प्रथम, टीबीएलपीएजी रजिस्टर आणि डब्ल्यू रजिस्टरपैकी एक वापरून अॅड्रेस पॉइंटर सेट केले जाते. नंतर, पत्ता स्थानावरील प्रोग्राम मेमरी सामग्री वाचली जाऊ शकते.
कोड उदाampमाजी मध्ये लेसample 4-2 आणि माजीample 4-3 वर्ड मोडमधील टेबल सूचना वापरून प्रोग्राम मेमरीचा शब्द कसा वाचायचा ते दाखवा.
टीप: tblpage() आणि tbloffset() निर्देश dsPIC33 आणि PIC24 उपकरणांसाठी मायक्रोचिप असेंबलरद्वारे प्रदान केले जातात. हे निर्देश प्रोग्राम मेमरी अॅड्रेस व्हॅल्यूमधून टेबल इंस्ट्रक्शनसाठी योग्य TBLPAG आणि W रजिस्टर व्हॅल्यू निवडतात. अधिक माहितीसाठी “MPLAB® असेंबलर, लिंकर आणि PIC24 MCUs आणि dsPIC® DSCs वापरकर्ता मार्गदर्शक” (DS51317) साठी उपयुक्तता पहा.
टेबल राइट होल्डिंग लॅचेस
टेबल लेखन सूचना थेट फ्लॅश प्रोग्राम अॅरेवर लिहू नका. त्याऐवजी, सूचनांमुळे डेटा प्रोग्रॅम केला जातो आणि आधी होल्डिंग लॅचमध्ये लोड केला जातो. हे लॅचेस कॉन्फिगरेशन मेमरी स्पेसमध्ये मेमरी-मॅप केलेले असतात, सामान्यत: FA0000h पासून सुरू होतात आणि फक्त टेबल राइट सूचना वापरून प्रवेश करता येतो. जेव्हा सर्व होल्डिंग लॅचेस लोड केले जातात, तेव्हा वास्तविक मेमरी प्रोग्रामिंग ऑपरेशन सूचनांचा एक विशेष क्रम कार्यान्वित करून सुरू केले जाते.
भिन्न उपकरणे विशिष्ट प्रोग्राम अॅरे डिझाइनवर (म्हणजे, रो प्रोग्रामिंग आकार आणि रो प्रोग्रामिंग अल्गोरिदम) आधारित, होल्डिंग लॅचेसची भिन्न संख्या लागू करतात. कृपया अधिक तपशीलांसाठी विशिष्ट डिव्हाइस डेटा शीट आणि/किंवा प्रोग्रामिंग तपशील पहा.
दोन-शब्दांचे लेखन सादर करणे
TBLWTH आणि TBLWTL निर्देशांच्या जोडीचा वापर करून शब्द लेखन एका वेळी दोन शब्दांसाठी केले जाते. कोड अनुक्रम एकतर उदाample 4-4 किंवा माजीample 4-5 (C समतुल्य) दोन प्रोग्राम मेमरी लॅच स्थाने वर्ड राइट मोड वापरून फ्लॅशवर प्रोग्राम करण्यासाठी लिहिण्यासाठी वापरली जाऊ शकते.
रन-टाइम सेल्फ-प्रोग्रामिंग (RTSP)
RTSP वापरकर्ता कोडला फ्लॅश प्रोग्राम मेमरी सामग्री सुधारण्याची परवानगी देतो. RTSP TBLRD (टेबल रीड) आणि TBLWT (टेबल लेखन) सूचना आणि NVM कंट्रोल रजिस्टर वापरून पूर्ण केले जाते. PIC24 आणि dsPIC33 उपकरणे खालील फ्लॅश प्रोग्रामिंग ऑपरेशन्सना समर्थन देतात:
- फ्लॅश पृष्ठ पुसून टाकते
- पंक्ती प्रोग्रामिंग (एकतर लॅच-आधारित किंवा रॅम-आधारित)
- शब्द प्रोग्रामिंग
RTSP द्वारे फ्लॅश प्रोग्रामिंग, एकतर मेमरीच्या ब्लॉक्ससह, ज्याला रो म्हणतात, किंवा फ्लॅश मेमरीच्या दोन शब्दांसह केले जाते. प्रोग्रामिंग करण्यापूर्वी, मेमरी स्थान पुसून टाकणे आवश्यक आहे. इरेज ऑपरेशन मेमरीच्या ब्लॉक्सवर केले जातात, ज्याला पृष्ठे म्हणतात, ज्यामध्ये अनेक पंक्ती असतात. एका पंक्तीचा आकार उपकरणानुसार बदलू शकतो; तपशीलांसाठी डिव्हाइस डेटा शीट पहा. सामान्यतः, dsPIC33 आणि PIC24 उपकरणांसाठी, पृष्ठ आठ (8) पंक्ती म्हणून परिभाषित केले जाते. हा दस्तऐवज माजी वापरतोamples प्रति पंक्ती 64 सूचनांसह (प्रति पृष्ठ 512 सूचना).
राइट होल्डिंग लॅचेस वापरून पंक्ती प्रोग्रामिंग
विभाग 4.2.7 “टेबल राईट होल्डिंग लॅचेस” मध्ये चर्चा केल्याप्रमाणे, लॅच-आधारित रो प्रोग्रामिंग लागू करणाऱ्या उपकरणांमध्ये प्रोग्रामिंग डेटा असलेल्या लॅचेस होल्डिंग असतात. वास्तविक प्रोग्रामिंग ऑपरेशनपूर्वी, लेखन डेटा अनुक्रमिक क्रमाने TBLWT निर्देशांद्वारे लॅचमध्ये लोड करणे आवश्यक आहे. पंक्ती लिहिताना, सूचना शब्द संपूर्ण पंक्ती म्हणून लॅचमध्ये लोड केले जाणे आवश्यक आहे.
RTSP प्रोग्रामिंगसाठी मूलभूत क्रम म्हणजे टेबल पॉइंटर सेट करणे, त्यानंतर बफर लोड करण्यासाठी TBLWT सूचनांची मालिका करणे. NVMCON रजिस्टरमध्ये कंट्रोल बिट्स सेट करून प्रोग्रामिंग केले जाते. उदाample, 64 सूचना पंक्ती असलेल्या डिव्हाइसवर, एक प्रोग्रामिंग सायकलमध्ये 64 TBLWTL आणि 64 TBLWTH सूचना राइट लॅचेस लोड करण्यासाठी, त्यानंतर प्रोग्रामिंग क्रम NVMCON अनलॉक करून WR बिट सेट करेल. उदाample 4-6 माजी दाखवतेampप्रक्रियेचे le.
रॅम बफर वापरून रो प्रोग्रामिंग
निवडा dsPIC33 आणि PIC24 उपकरणे TBLWT सूचनांसह डेटा हस्तांतरित करण्यासाठी होल्डिंग लॅचेसमधून जाण्याऐवजी थेट डेटा रॅममधील बफर स्पेसमधून रो प्रोग्रामिंग करण्याची परवानगी देतात. RAM बफरचे स्थान NVMSRCADR रजिस्टर (रे) द्वारे निर्धारित केले जाते, जे प्रोग्राम डेटाचा पहिला शब्द असलेल्या डेटा रॅम पत्त्यासह लोड केले जाते.
प्रोग्राम ऑपरेशन करण्यापूर्वी, RAM मधील बफर स्पेस प्रोग्राम केलेल्या डेटाच्या पंक्तीसह लोड करणे आवश्यक आहे. RAM एकतर संकुचित (पॅक केलेले) किंवा असंपीडित स्वरूपात लोड केली जाऊ शकते. कॉम्प्रेस्ड स्टोरेज दोन समीप प्रोग्राम डेटा शब्दांचे मोस्ट सिग्निफिकंट बाइट्स (MSBs) संग्रहित करण्यासाठी एक डेटा शब्द वापरतो. अनकम्प्रेस्ड फॉरमॅट प्रत्येक प्रोग्राम डेटा शब्दासाठी दोन डेटा शब्द वापरते, प्रत्येक इतर शब्दाचा वरचा बाइट 00h असतो. कॉम्प्रेस्ड फॉरमॅट अनकम्प्रेस्ड फॉरमॅटच्या तुलनेत डेटा RAM मध्ये सुमारे 3/4 जागा वापरतो. अनकम्प्रेस्ड फॉरमॅट, दुसरीकडे, 24-बिट प्रोग्राम डेटा शब्दाच्या संरचनेची नक्कल करतो, वरच्या फॅंटम बाइटसह पूर्ण होतो. डेटा फॉरमॅट RPDF बिट (NVMCON[9]) द्वारे निवडला जातो. हे दोन स्वरूप आकृती 4-4 मध्ये दाखवले आहेत.
रॅम बफर लोड झाल्यावर, फ्लॅश अॅड्रेस पॉइंटर्स, NVMADRL आणि NVMADRH, फ्लॅश पंक्तीच्या 24-बिट प्रारंभ पत्त्यासह लोड केले जातात. लेखन लॅचेस प्रोग्रामिंग प्रमाणे, प्रक्रिया NVM अनलॉक क्रम लिहून सुरू केली जाते, त्यानंतर WR बिट सेट करून. एकदा सुरू केल्यावर, डिव्हाइस स्वयंचलितपणे योग्य लॅचेस लोड करते आणि सर्व बाइट्स प्रोग्राम होईपर्यंत NVM अॅड्रेसची नोंदणी वाढवते. उदाample 4-7 माजी दाखवतेampप्रक्रियेचे le. जर NVMSRCADR मूल्यावर सेट केले असेल जसे की डेटा अंडररन एरर कंडिशन उद्भवते, URERR बिट (NVMCON[8]) स्थिती दर्शवण्यासाठी सेट केले जाईल. RAM बफर रो प्रोग्रामिंगची अंमलबजावणी करणारी उपकरणे एक किंवा दोन लेखन लॅचेस देखील लागू करतात. हे TBLWT सूचना वापरून लोड केले जातात आणि शब्द प्रोग्रामिंग ऑपरेशन्स करण्यासाठी वापरले जातात.
सामान्य फ्लॅश प्रोग्रामिंग अल्गोरिदम
फ्लॅश प्रोग्रामिंग ऑपरेशन्स खालील नॉनव्होलॅटाइल मेमरी (NVM) कंट्रोल रजिस्टर वापरून नियंत्रित केली जातात:
- NVMCON
- NVMKEY
- NVMADRL/H
- NVMSRCADRL/H (काही उपकरणे)
RTSP मोडमध्ये प्रोग्रामिंग किंवा अंतर्गत फ्लॅश मिटवण्यासाठी संपूर्ण प्रोग्रामिंग क्रम आवश्यक आहे. WR बिट (NVMCON[15]) सेट केल्याने ऑपरेशन सुरू होते आणि ऑपरेशन पूर्ण झाल्यावर WR बिट आपोआप साफ होते.
सक्रिय विभाजनावर (विशेषत: मानक विभाजन मोडमध्ये) फ्लॅश प्रोग्रामिंग ऑपरेशन्स करत असताना, ऑपरेशन पूर्ण होईपर्यंत CPU थांबेल. निष्क्रिय विभाजन प्रोग्रामिंग करताना, CPU थांबविल्याशिवाय कार्य करणे सुरू ठेवू शकते. खालील विभाग प्रोग्रामिंग अल्गोरिदमची रूपरेषा देतात जे CPU स्टॉल आणि कोणतेही स्टॉल प्रदर्शित करतात.
प्रोग्राम मेमरी मिटवत आहे (सक्रिय विभाजन)
- पेज मिटवण्यासाठी कॉन्फिगर करण्यासाठी NVMOPx बिट्स (NVMCOM[3:0]) '0011' वर सेट करा आणि WREN बिट (NVMCOM[14]) सेट करा.
- NVMADRL/H रजिस्टर्समध्ये मिटवल्या जाणार्या ब्लॉकचा सुरुवातीचा पत्ता लिहा.
- व्यत्यय अक्षम करा.
- NVMKEY वर 55h लिहा.
- NVMKEY वर AAh लिहा.
- इरेज सायकल सुरू करण्यासाठी WR बिट (NVMCOM[15]) सेट करा.
- दोन NOP सूचना अंमलात आणा.
- व्यत्यय पुनर्संचयित करा (पर्यायी).
मिटवल्यानंतर, WR बिट आपोआप साफ होईल
रो प्रोग्रामिंग (सक्रिय विभाजन, मानक विभाजन मोड)
वापरकर्ता एका वेळी प्रोग्राम फ्लॅश मेमरीची एक पंक्ती प्रोग्राम करू शकतो. हे करण्यासाठी, इच्छित पंक्ती असलेले पृष्ठ पुसून टाकणे आवश्यक आहे. सक्रिय विभाजनासाठी पंक्ती प्रोग्रामिंगची सामान्य प्रक्रिया आहे:
- प्रोग्राम मेमरीच्या आठ ओळी वाचा (512 सूचना) आणि डेटा RAM मध्ये संग्रहित करा.
- इच्छित नवीन डेटासह RAM मध्ये प्रोग्राम डेटा अद्यतनित करा.
- ब्लॉक पुसून टाका:
- a) पेज मिटवण्यासाठी कॉन्फिगर करण्यासाठी NVMOPx बिट्स (NVMCOM[3:0]) '0011' वर सेट करा आणि WREN बिट (NVMCOM[14]) सेट करा.
- b) NVMADRL/H रजिस्टर्समध्ये मिटवल्या जाणार्या ब्लॉकचा सुरुवातीचा पत्ता लिहा.
- c) व्यत्यय अक्षम करा.
- d) NVMKEY वर 55h लिहा.
- e) NVMKEY वर AAh लिहा.
- f) WR बिट (NVMCOM[15]) सेट करा. मिटवण्याचे चक्र सुरू होते आणि मिटवण्याच्या चक्राच्या कालावधीसाठी CPU थांबते. मिटवल्यानंतर, WR बिट आपोआप साफ होईल.
- g) व्यत्यय पुनर्संचयित करा (पर्यायी).
- डेटा RAM मधील पहिल्या 64 सूचना प्रोग्राम मेमरी बफरमध्ये लिहा (विभाग 4.2.7 “टेबल राईट होल्डिंग लॅचेस” पहा) किंवा RAM मध्ये संग्रहित डेटाच्या सुरुवातीच्या पत्त्यासह NVMSRCADR रजिस्टर लिहा.
- फ्लॅश मेमरीवर प्रोग्राम ब्लॉक लिहा:
- a) पंक्ती प्रोग्रामिंगसाठी कॉन्फिगर करण्यासाठी NVMOPx बिट्स '0010' वर सेट करा आणि WREN बिट सेट करा.
- b) व्यत्यय अक्षम करा.
- c) NVMKEY वर 55h लिहा.
- d) NVMKEY वर AAh लिहा.
- e) WR बिट सेट करा. प्रोग्रामिंग सायकल सुरू होते आणि CPU लेखन सायकलच्या कालावधीसाठी थांबते. फ्लॅश मेमरीवर लिहिणे पूर्ण झाल्यावर, WR बिट आपोआप साफ होते.
- f) व्यत्यय पुनर्संचयित करा (पर्यायी).
- सर्व 4 सूचना फ्लॅश मेमरीवर परत लिहिल्या जाईपर्यंत, NVMADRL/H मधील पत्ते वाढवून, डेटा RAM मधील ब्लॉकमधील पुढील उपलब्ध 5 सूचना वापरून चरण 64 आणि 512 ची पुनरावृत्ती करा.
टीप: लेखन किंवा मिटवण्याच्या चक्रादरम्यान सर्व उपकरणे CPU स्टॉल प्रदर्शित करणार नाहीत. स्टॉल टाळण्यासाठी, मिटवल्या जाणार्या किंवा लिहिल्या जाणार्या पंक्तीला अनुप्रयोगाद्वारे वाचणे किंवा लिहिणे टाळण्याची शिफारस केली जाते.
आकस्मिक ऑपरेशन्सपासून संरक्षणासाठी, NVMKEY साठी लेखन इनिशिएट क्रम कोणत्याही इरेज किंवा प्रोग्राम ऑपरेशनपूर्वी आवश्यक आहे. प्रोग्रामिंग कमांड कार्यान्वित झाल्यानंतर, प्रोग्रामिंग पूर्ण होईपर्यंत वापरकर्त्याने प्रोग्रामिंग वेळेची प्रतीक्षा करावी. प्रोग्रामिंग क्रम सुरू झाल्यानंतर दोन सूचना NOPs असाव्यात.
नोंद
- पंक्ती, ब्लॉक्स आणि होल्डिंग लॅचची संख्या डिव्हाइसनुसार भिन्न असू शकते; कृपया वास्तविक संख्यांसाठी विशिष्ट डिव्हाइस डेटा शीट, तसेच फ्लॅश मेमरी प्रोग्रामिंगचा संपूर्ण संदर्भ कोड पहा.
- सिंगल होल्डिंग लॅच असलेल्या उपकरणांसाठी, फ्लॅश प्रोग्राम मेमरी शब्द प्रोग्रामिंगद्वारे लिहिली जाणे आवश्यक आहे.
निष्क्रिय विभाजनामध्ये पृष्ठाचे प्रोग्रामिंग (ड्युअल पार्टीशन मोड)
दुहेरी विभाजन मोडमधील प्रोग्रामिंगसाठी विशेष विचार करणे आवश्यक आहे. निष्क्रिय विभाजन प्रोग्राम केले जात असताना CPU सूचना कार्यान्वित करणे सुरू ठेवण्यास सक्षम असल्यामुळे, CPU स्टॉल्स होणार नाहीत.
दुहेरी विभाजन मोडपैकी एकामध्ये डेटाचे पृष्ठ पुसून टाकण्यासाठी आणि पुन्हा प्रोग्राम करण्यासाठी अल्गोरिदम खालीलप्रमाणे आहे:
- ब्लॉक पुसून टाका:
- a) पृष्ठ पुसण्यासाठी कॉन्फिगर करण्यासाठी NVMOPx बिट्स (NVMCOM[3:0]) '0011' वर सेट करा.
- b) WREN बिट (NVMCOM[14]) सेट करा.
- c) मिटवल्या जाणार्या ब्लॉकचा सुरुवातीचा पत्ता NVMADR रजिस्टरमध्ये लिहा
पृष्ठ पत्ता. - d) व्यत्यय अक्षम करा.
- e) NVMKEY वर 55h लिहा.
- f) NVMKEY वर AAh लिहा.
- g) WR बिट (NVMCOM[15]) सेट करा. मिटवण्याचे चक्र सुरू होते आणि CPU चालू राहील.
- h) पुसून टाकल्यावर, WR बिट आपोआप साफ होईल आणि NVM Write Complete Interrupt Flag (NVMIF) येईल.
- i) व्यत्यय पुनर्संचयित करा (पर्यायी).
- रॅम बफर भरून प्रोग्राम केलेला डेटा तयार करा; वैकल्पिकरित्या, मेमरीच्या पहिल्या पंक्तीसाठी डेटासह TBLWT निर्देशांसह लेखन लॅचेस लोड करा (64 सूचना).
- ब्लॉक प्रोग्राम करा:
- a) पंक्ती प्रोग्रामिंगसाठी कॉन्फिगर करण्यासाठी NVMOPx बिट्स (NVMCON[3:0]) '0010' वर सेट करा.
- b) WREN (NVMCON[14]) बिट सेट करा.
- c) पंक्तीच्या सुरुवातीच्या पत्त्यासह NVMADR रजिस्टरमध्ये लिहिल्या जाणार्या ब्लॉकचा सुरुवातीचा पत्ता लिहा.
- d) व्यत्यय अक्षम करा.
- e) NVMKEY वर 55h लिहा.
- f) NVMKEY वर AAh लिहा.
- g) WR बिट (NVMCOM[15]) सेट करा. लेखन चक्र सुरू होते आणि CPU चालू राहील.
- h) पुसून टाकल्यावर, WR बिट आपोआप साफ होईल आणि NVM Write Complete Interrupt Flag (NVMIF) येईल.
- i) व्यत्यय पुनर्संचयित करा (पर्यायी).
- मिटवलेल्या पृष्ठावरील डेटाच्या प्रत्येक उर्वरित पंक्ती प्रोग्राम करण्यासाठी चरण 2 आणि 3 ची पुनरावृत्ती करा.
संपूर्ण निष्क्रिय विभाजनाचे प्रोग्रामिंग (ड्युअल विभाजन मोड)
निष्क्रिय विभाजनातील कोड पूर्णपणे अद्यतनित करण्यासाठी:
- निष्क्रिय विभाजन पुसून टाका:
- a) निष्क्रिय विभाजन पुसण्यासाठी कॉन्फिगर करण्यासाठी NVMOPx बिट्स (NVMCOM[3:0]) '0100' वर सेट करा.
- b) WREN बिट (NVMCOM[14]) सेट करा.
- c) व्यत्यय अक्षम करा.
- d) NVMKEY वर 55h लिहा.
- e) NVMKEY वर AAh लिहा.
- f) WR बिट (NVMCOM[15]) सेट करा. मिटवण्याचे चक्र सुरू होते आणि सायकल दरम्यान CPU चालू राहील.
- g) पुसून टाकल्यावर, WR बिट आपोआप साफ होतो आणि NVM Write Complete Interrupt Flag (NVMIF) येतो.
- h) व्यत्यय पुनर्संचयित करा (पर्यायी).
- विभाग 4.4.3 “निष्क्रिय विभाजन (ड्युअल विभाजन मोड) मध्ये पृष्ठ प्रोग्रामिंग” मध्ये वर्णन केल्याप्रमाणे निष्क्रिय विभाजनाचे प्रत्येक पृष्ठ पृष्ठ लेखन वापरून लिहा.
- लेखी डेटा सत्यापित करा. एक सुचविलेली पद्धत म्हणजे लिहील्या जाणार्या डेटावर CRC करणे आणि डेटा योग्यरित्या लिहिला गेला आहे याची खात्री करण्यासाठी पूर्ण विभाजनावर CRC मूल्य सत्यापित करणे.
बूटलोडर वापरून सक्रिय विभाजन अद्यतनित करणे
- विभाग 4.4.4 “संपूर्ण निष्क्रिय विभाजनाचे प्रोग्रामिंग (ड्युअल विभाजन मोड)” मध्ये वर्णन केल्यानुसार संपूर्ण निष्क्रिय विभाजन पुसून टाका आणि प्रोग्राम करा.
- सक्रिय विभाजनाचे FBTSEQ कॉन्फिगरेशन रजिस्टर वाचा.
- मूल्य एकने कमी करा आणि निष्क्रिय विभाजनाच्या FBTSEQ वर लिहा.
- सक्तीने विभाजन स्वॅप करा:
- a) जर CPU स्टॉल्स ही चिंता नसतील तर, डिव्हाइस रीसेट करा. निष्क्रिय विभाजनामध्ये कमी बूट अनुक्रम क्रमांक असल्याने, ते रीसेट केल्यानंतर सक्रिय विभाजन होईल.
- b) CPU स्टॉल स्वीकार्य नसल्यास, BOOTSWP सूचना अंमलात आणा.
प्रोग्राम स्पेस दृश्यमानता आणि विस्तारित डेटा स्पेस (PSV आणि EDS)
सर्व dsPIC33 आणि PIC24 उपकरणांसाठी, टेबल सूचना (विभाग 4.2 “टेबल ऑपरेशन सूचना” पहा) प्रोग्राम मेमरी स्पेसमधील डेटामध्ये प्रवेश करण्यासाठी वापरल्या जाऊ शकतात. जेव्हा डेटा फक्त वाचणे किंवा लिहिणे आवश्यक असते तेव्हा हे उपयुक्त आहे, एका वेळी एक बाइट किंवा शब्द. प्रोग्राम मेमरी स्पेसची 16K शब्द पृष्ठे डेटा अॅड्रेस स्पेसच्या वरील 32 Kbytes मध्ये मॅप करणे देखील शक्य आहे. हे डेटा स्पेसचा त्याच्या सामान्य 64-Kbyte अॅड्रेसिंग मर्यादेपलीकडे प्रभावी विस्तार करण्यास तसेच टेबल निर्देशांचा वापर न करता पारदर्शक प्रवेशास अनुमती देते. सर्व dsPIC33 आणि PIC24 उपकरणे लागू केलेल्या प्रोग्राम मेमरी स्पेसमधील कोणतेही पृष्ठ डेटा स्पेसमध्ये मॅप करण्यास सक्षम आहेत. हे वैशिष्ट्य प्रोग्राम स्पेस व्हिजिबिलिटी (PSV) म्हणून ओळखले जाते. काही उपकरणे PSV चा विस्तार व्हर्च्युअल प्रोग्राम मेमरी पृष्ठांच्या विशिष्ट रेंजवर मेमरी-मॅपिंग करून काही पेरिफेरल्स करतात. हे वैशिष्ट्य विशेषत: प्रगत ग्राफिक्स कंट्रोलर सारख्या परिघांसाठी उपयुक्त आहे, ज्यात उच्च डेटा थ्रूपुट आवश्यकता आहे. PSV चा हा विस्तार विस्तारित डेटा स्पेस (EDS) म्हणून ओळखला जातो.
डेटा मेमरीची वैशिष्ट्ये म्हणून PSV आणि EDS लागू केले जातात. ते dsPIC33 आणि PIC24 उपकरणांसाठी वेगळ्या पद्धतीने लागू केले जातात. तपशीलवार वर्णनासाठी, “dsPIC33/PIC24 फॅमिली रेफरन्स मॅन्युअल”, “डेटा मेमरी” पहा. (dsPIC33, DS70595) आणि/किंवा “डेटा मेमरी” (PIC24, DS30009717).
PSV आणि सूचना स्टॉल
PSV वापरून सूचना स्टॉल्सबद्दल अधिक माहितीसाठी, “dsPIC33/PIC24 फॅमिली रेफरन्स मॅन्युअल”, “dsPIC33E एन्हांस्ड CPU” (DS70005158) पहा.
नकाशा नोंदणी करा
दुहेरी विभाजन फ्लॅश प्रोग्राम मेमरीशी संबंधित SFRs चा सारांश तक्ता 6-1 मध्ये प्रदान केला आहे.
तक्ता 6-1: फ्लॅश प्रोग्राम मेमरीशी संबंधित विशेष कार्य नोंदणी(1)
File नाव | बिट 15 | बिट 14 | बिट 13 | बिट 12 | बिट 11 | बिट 10 | बिट 9 | बिट 8 | बिट 7 | बिट 6 | बिट 5 | बिट 4 | बिट 3 | बिट 2 | बिट 1 | बिट 0 | सर्व रीसेट(2) |
TBLPAG | — | — | — | — | — | — | — | — | सारणी पृष्ठ पत्ता सूचक | 0000 | |||||||
NVMCON | WR | WREN | WRERR | NVMPIDL | SFTSWP | P2ACTIV | RPDF | URERR | — | — | — | — | NVMOP[3:0] | 0000 | |||
NVMKEY | — | — | — | — | — | — | — | — | NVMKEY[7:0] | 0000 | |||||||
NVMSRCADRL | डेटा रॅम प्रोग्रामिंग बफर प्रारंभ पत्ता | 0000 | |||||||||||||||
NVMSRCADH | डेटा रॅम प्रोग्रामिंग बफर पत्ता (केवळ ईडीएस ऑपरेशन्स) | 0000 | |||||||||||||||
NVMADRL | फ्लॅश प्रोग्राम मेमरी डेस्टिनेशन अॅड्रेस, लोअर बाइट (ADDR[15:0]) | 0000 | |||||||||||||||
NVMADRH | — | — | — | — | — | — | — | — | फ्लॅश प्रोग्राम मेमरी डेस्टिनेशन अॅड्रेस, अप्पर बाइट (ADDR[23:16]) | 0000 |
हा विभाग मॅन्युअलच्या या विभागाशी संबंधित असलेल्या ऍप्लिकेशन नोट्सची सूची देतो. या ऍप्लिकेशन नोट्स विशेषतः PIC24 किंवा dsPIC33 उत्पादन कुटुंबांसाठी लिहिल्या जाऊ शकत नाहीत, परंतु संकल्पना समर्पक आहेत आणि त्या बदल आणि संभाव्य मर्यादांसह वापरल्या जाऊ शकतात. दुहेरी विभाजन फ्लॅश प्रोग्राम मेमरीशी संबंधित वर्तमान अनुप्रयोग नोट्स आहेत:
टीप: कृपया मायक्रोचिप ला भेट द्या webजागा (www.microchip.com) अतिरिक्त ऍप्लिकेशन नोट्स आणि कोड उदाampउपकरणांच्या PIC24 आणि dsPIC33 कुटुंबांसाठी.
पुनरावृत्ती इतिहास
- पुनरावृत्ती A (मार्च 2014)
या दस्तऐवजाची मूळ आवृत्ती. - पुनरावृत्ती B (फेब्रुवारी 2015)
"ड्युअल बूट फ्लॅश प्रोग्राम मेमरी" या वाक्यांशाचे शीर्षक आणि सर्व उदाहरणे "ड्युअल पार्टीशन फ्लॅश प्रोग्राम मेमरी" किंवा "ड्युअल पार्टीशन फ्लॅश" मध्ये बदलली. - पुनरावृत्ती C (नोव्हेंबर 2021)
4.1.1.1 जोडले “व्यत्यय अक्षम करणे”.
अपडेटेड 4.1.1 “कंट्रोल रजिस्टर्स”, 4.4.2 “रो प्रोग्रामिंग (सक्रिय विभाजन, मानक विभाजन मोड)”, 4.4.3 “निष्क्रिय विभाजन (ड्युअल विभाजन मोड) मध्ये पृष्ठ प्रोग्रामिंग” आणि 4.4.4 “संपूर्ण प्रोग्रामिंग निष्क्रिय विभाजन (ड्युअल विभाजन मोड)”. अद्यतनित माजीample 4-5, उदाample 4-6 आणि माजीampले 4-7.
मायक्रोचिप उत्पादनांवरील कोड संरक्षण वैशिष्ट्याचे खालील तपशील लक्षात घ्या:
- मायक्रोचिप उत्पादने त्यांच्या विशिष्ट मायक्रोचिप डेटा शीटमध्ये समाविष्ट असलेल्या वैशिष्ट्यांची पूर्तता करतात.
- मायक्रोचिपचा असा विश्वास आहे की त्याच्या उत्पादनांचे कुटुंब इच्छित पद्धतीने, ऑपरेटिंग वैशिष्ट्यांमध्ये आणि सामान्य परिस्थितीत वापरल्यास सुरक्षित आहे.
- मायक्रोचिप त्याच्या बौद्धिक संपदा अधिकारांचे मूल्य आणि आक्रमकपणे संरक्षण करते. मायक्रोचिप उत्पादनाच्या कोड संरक्षण वैशिष्ट्यांचा भंग करण्याचा प्रयत्न कठोरपणे प्रतिबंधित आहे आणि डिजिटल मिलेनियम कॉपीराइट कायद्याचे उल्लंघन करू शकते.
- मायक्रोचिप किंवा इतर कोणताही सेमीकंडक्टर निर्माता त्याच्या कोडच्या सुरक्षिततेची हमी देऊ शकत नाही. कोड संरक्षणाचा अर्थ असा नाही की आम्ही उत्पादन "अटूट" असल्याची हमी देत आहोत. कोड संरक्षण सतत विकसित होत आहे. मायक्रोचिप आमच्या उत्पादनांची कोड संरक्षण वैशिष्ट्ये सतत सुधारण्यासाठी वचनबद्ध आहे.
हे प्रकाशन आणि यातील माहिती केवळ मायक्रोचिप उत्पादनांसह वापरली जाऊ शकते, ज्यामध्ये तुमच्या अनुप्रयोगासह मायक्रोचिप उत्पादनांची रचना, चाचणी आणि एकत्रीकरण समाविष्ट आहे. या माहितीचा इतर कोणत्याही प्रकारे वापर या अटींचे उल्लंघन करते. डिव्हाइस अॅप्लिकेशन्सशी संबंधित माहिती केवळ तुमच्या सोयीसाठी प्रदान केली जाते आणि ती अपडेट्सद्वारे बदलली जाऊ शकते. तुमचा अर्ज तुमच्या वैशिष्ट्यांशी जुळतो याची खात्री करणे तुमची जबाबदारी आहे. अतिरिक्त समर्थनासाठी तुमच्या स्थानिक मायक्रोचिप विक्री कार्यालयाशी संपर्क साधा किंवा येथे अतिरिक्त समर्थन मिळवा https://www.microchip.com/en-us/support/design-help/client-supportservices.
ही माहिती मायक्रोचिप द्वारे "जशी आहे तशी" प्रदान केली जाते. MICROCHIP कोणत्याही प्रकारचे कोणतेही प्रतिनिधित्व किंवा हमी देत नाही मग ते स्पष्ट किंवा निहित, लिखित किंवा मौखिक, वैधानिक किंवा अन्यथा, माहितीशी संबंधित परंतु मर्यादित न करता, मर्यादित नसलेले विशेष उद्देशासाठी चांन्टेबिलिटी, आणि फिटनेस, किंवा संबंधित हमी त्याची स्थिती, गुणवत्ता किंवा कार्यप्रदर्शन. कोणत्याही परिस्थितीत, कोणत्याही अप्रत्यक्ष, विशेष, दंडात्मक, आकस्मिक किंवा परिणामी नुकसान, नुकसान, खर्च किंवा कोणत्याही प्रकारच्या खर्चासाठी मायक्रोचिप जबाबदार राहणार नाही. इक्रोचिपला याचा सल्ला देण्यात आला आहे संभाव्यता किंवा नुकसान अंदाजे आहेत. कायद्याने परवानगी दिलेल्या पूर्ण मर्यादेपर्यंत, माहिती किंवा तिच्या वापराशी संबंधित कोणत्याही प्रकारे सर्व दाव्यांवर मायक्रोचिपची संपूर्ण उत्तरदायित्व, जर तुम्हाला काही असेल तर, शुल्काच्या रकमेपेक्षा जास्त नसेल. माहिती.
लाइफ सपोर्ट आणि/किंवा सुरक्षा ऍप्लिकेशन्समध्ये मायक्रोचिप उपकरणांचा वापर पूर्णपणे खरेदीदाराच्या जोखमीवर आहे आणि खरेदीदार अशा वापरामुळे होणारे कोणतेही आणि सर्व नुकसान, दावे, दावे किंवा खर्चापासून निरुपद्रवी मायक्रोचिपचा बचाव, नुकसानभरपाई आणि ठेवण्यास सहमती देतो. कोणत्याही मायक्रोचिप बौद्धिक संपदा अधिकारांतर्गत कोणताही परवाना स्पष्टपणे किंवा अन्यथा सांगितल्याशिवाय दिला जात नाही.
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed सक्षम, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile हे US आणि/किंवा इतरत्र Arm Limited (किंवा त्याच्या सहाय्यक कंपन्या) चे ट्रेडमार्क किंवा नोंदणीकृत ट्रेडमार्क आहेत.
मायक्रोचिपच्या क्वालिटी मॅनेजमेंट सिस्टम्सच्या माहितीसाठी, कृपया भेट द्या www.microchip.com/quality.
ट्रेडमार्क
मायक्रोचिपचे नाव आणि लोगो, मायक्रोचिप लोगो, Adaptec, AnyRate, AVR, AVR लोगो, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KKLEXLAX, लिंक्स, लिंक्स, लिंक्स maXTouch, MediaLB, megaAVR, Microsemi, Microsemi लोगो, MOST, MOST लोगो, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 लोगो, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpySTgo, SFNSTgo, SFNICS , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, आणि XMEGA हे यूएसए आणि इतर देशांमध्ये मायक्रोचिप टेक्नॉलॉजी इनकॉर्पोरेटेडचे नोंदणीकृत ट्रेडमार्क आहेत. AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus, वाय-एएसआयसी प्लस SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath आणि ZL हे यूएसए मध्ये अंतर्भूत मायक्रोचिप तंत्रज्ञानाचे नोंदणीकृत ट्रेडमार्क आहेत.
संलग्न की सप्रेशन, AKS, analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, DAMPIEM CDERMIC, डीएएमपीआयएम, डीएएमपीआयएम, डीएएमपीआयएम नेटवर , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralling, Inter-chip Connectivity, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB प्रमाणित लोगो, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, सर्वज्ञ कोड जनरेशन, PICDEM, PICDEM.net, PICKit, PICtail, PowerSmart, IQMatrix, PureSmart , Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USB, TSHARC VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, आणि ZENA हे यूएसए आणि इतर देशांमध्ये अंतर्भूत मायक्रोचिप तंत्रज्ञानाचे ट्रेडमार्क आहेत.
SQTP हे यूएसए मधील मायक्रोचिप तंत्रज्ञानाचे सेवा चिन्ह आहे
Adaptec लोगो, फ्रिक्वेन्सी ऑन डिमांड, सिलिकॉन स्टोरेज टेक्नॉलॉजी, Symmcom आणि ट्रस्टेड टाइम हे इतर देशांमध्ये मायक्रोचिप टेक्नॉलॉजी इंक. चे नोंदणीकृत ट्रेडमार्क आहेत.
GestIC हा मायक्रोचिप टेक्नॉलॉजी जर्मनी II GmbH & Co. KG चा नोंदणीकृत ट्रेडमार्क आहे, जो इतर देशांतील Microchip Technology Inc. ची उपकंपनी आहे.
येथे नमूद केलेले इतर सर्व ट्रेडमार्क त्यांच्या संबंधित कंपन्यांची मालमत्ता आहेत.
© 2014-2021, Microchip Technology Incorporated आणि त्याच्या सहाय्यक कंपन्या.
जगभरातील विक्री आणि सेवा
अमेरिका
- कॉर्पोरेट कार्यालय
2355 वेस्ट चांडलर Blvd.
चांडलर, AZ 85224-6199
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९००
तांत्रिक समर्थन: http://www.microchip.com/support
Web पत्ता: www.microchip.com - अटलांटा
दुलुथ, जी.ए
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९०० - ऑस्टिन, TX
दूरध्वनी: ५७४-५३७-८९०० - बोस्टन
वेस्टबरो, एमए
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९०० - शिकागो
इटास्का, आयएल
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९०० - डॅलस
अॅडिसन, टीएक्स
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९०० - डेट्रॉईट
नोव्ही, एमआय
दूरध्वनी: ५७४-५३७-८९०० - ह्यूस्टन, TX
दूरध्वनी: ५७४-५३७-८९०० - इंडियानापोलिस
Noblesville, IN
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९००
दूरध्वनी: ५७४-५३७-८९०० - लॉस एंजेलिस
मिशन व्हिएजो, CA
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९००
दूरध्वनी: ५७४-५३७-८९०० - रॅले, एनसी
दूरध्वनी: ५७४-५३७-८९०० - न्यूयॉर्क, NY
दूरध्वनी: ५७४-५३७-८९०० - सॅन जोस, CA
दूरध्वनी: ५७४-५३७-८९००
दूरध्वनी: ५७४-५३७-८९०० - कॅनडा - टोरोंटो
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९००
आशिया/पॅसिफिक
- ऑस्ट्रेलिया - सिडनी
दूरध्वनी: 61-2-9868-6733 - चीन - बीजिंग
दूरध्वनी: 86-10-8569-7000 - चीन - चेंगडू
दूरध्वनी: 86-28-8665-5511 - चीन - चोंगकिंग
दूरध्वनी: 86-23-8980-9588 - चीन - डोंगगुआन
दूरध्वनी: 86-769-8702-9880 - चीन - ग्वांगझू
दूरध्वनी: 86-20-8755-8029 - चीन - हांगझोऊ
दूरध्वनी: 86-571-8792-8115 - चीन - हाँगकाँग SAR
दूरध्वनी: ५७४-५३७-८९०० - चीन - नानजिंग
दूरध्वनी: 86-25-8473-2460 - चीन - किंगदाओ
दूरध्वनी: 86-532-8502-7355 - चीन - शांघाय
दूरध्वनी: 86-21-3326-8000 - चीन - शेनयांग
दूरध्वनी: 86-24-2334-2829 - चीन - शेन्झेन
दूरध्वनी: 86-755-8864-2200 - चीन - सुझोऊ
दूरध्वनी: 86-186-6233-1526 - चीन - वुहान
दूरध्वनी: 86-27-5980-5300 - चीन - शियान
दूरध्वनी: 86-29-8833-7252 - चीन - झियामेन
दूरध्वनी: ५७४-५३७-८९०० - चीन - झुहाई
दूरध्वनी: ५७४-५३७-८९०० - भारत - बंगलोर
दूरध्वनी: 91-80-3090-4444 - भारत - नवी दिल्ली
दूरध्वनी: 91-11-4160-8631 - भारत - पुणे
दूरध्वनी: 91-20-4121-0141 - जपान - ओसाका
दूरध्वनी: 81-6-6152-7160 - जपान - टोकियो
दूरध्वनी: ०८२-०१४-००- ७ - कोरिया - डेगू
दूरध्वनी: 82-53-744-4301 - कोरिया - सोल
दूरध्वनी: 82-2-554-7200 - मलेशिया - क्वालालंपूर
दूरध्वनी: 60-3-7651-7906 - मलेशिया - पेनांग
दूरध्वनी: 60-4-227-8870 - फिलीपिन्स - मनिला
दूरध्वनी: 63-2-634-9065 - सिंगापूर
दूरध्वनी: ५७४-५३७-८९०० - तैवान - हसीन चू
दूरध्वनी: 886-3-577-8366 - तैवान - काओशुंग
दूरध्वनी: 886-7-213-7830 - तैवान - तैपेई
दूरध्वनी: 886-2-2508-8600 - थायलंड - बँकॉक
दूरध्वनी: 66-2-694-1351 - व्हिएतनाम - हो ची मिन्ह
दूरध्वनी: 84-28-5448-2100
युरोप
- ऑस्ट्रिया - वेल्स
दूरध्वनी: 43-7242-2244-39
फॅक्स: 43-7242-2244-393 - डेन्मार्क - कोपनहेगन
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९०० - फिनलंड - एस्पू
दूरध्वनी: 358-9-4520-820 - फ्रान्स - पॅरिस
दूरध्वनी: 33-1-69-53-63-20
फॅक्स: 33-1-69-30-90-79 - जर्मनी - गार्चिंग
दूरध्वनी: ५७४-५३७-८९०० - जर्मनी - हान
दूरध्वनी: ५७४-५३७-८९०० - जर्मनी - हेलब्रॉन
दूरध्वनी: ५७४-५३७-८९०० - जर्मनी - कार्लस्रुहे
दूरध्वनी: ५७४-५३७-८९०० - जर्मनी - म्युनिक
दूरध्वनी: 49-89-627-144-0
फॅक्स: 49-89-627-144-44 - जर्मनी - रोझेनहाइम
दूरध्वनी: 49-8031-354-560 - इटली - मिलान
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९०० - इटली - पाडोवा
दूरध्वनी: ५७४-५३७-८९०० - नेदरलँड्स - ड्रुनेन
दूरध्वनी: ५७४-५३७-८९००
फॅक्स: ५७४-५३७-८९०० - नॉर्वे - ट्रॉन्डहाइम
दूरध्वनी: ५७४-५३७-८९०० - पोलंड - वॉर्सा
दूरध्वनी: ५७४-५३७-८९०० - रोमानिया - बुखारेस्ट
दूरध्वनी: 40-21-407-87-50 - स्पेन - माद्रिद
दूरध्वनी: 34-91-708-08-90
फॅक्स: 34-91-708-08-91 - स्वीडन - गोटेनबर्ग
दूरध्वनी: 46-31-704-60-40 - स्वीडन - स्टॉकहोम
दूरध्वनी: 46-8-5090-4654 - यूके - वोकिंगहॅम
दूरध्वनी: 44-118-921-5800
फॅक्स: 44-118-921-5820
टीप: हा कौटुंबिक संदर्भ मॅन्युअल विभाग डिव्हाइस डेटा शीटला पूरक म्हणून काम करण्यासाठी आहे. हा दस्तऐवज सर्व dsPIC33/PIC24 उपकरणांना लागू होतो. हा दस्तऐवज तुम्ही वापरत असलेल्या डिव्हाइसला सपोर्ट करतो की नाही हे तपासण्यासाठी कृपया सध्याच्या डिव्हाइस डेटा शीटमधील “ड्युअल पार्टीशन फ्लॅश प्रोग्राम मेमरी” प्रकरणाच्या सुरुवातीला दिलेल्या टीपचा सल्ला घ्या. डिव्हाइस डेटा शीट आणि कुटुंब संदर्भ मॅन्युअल विभाग मायक्रोचिप वर्ल्डवाइड वरून डाउनलोड करण्यासाठी उपलब्ध आहेत Webयेथे साइट: http://www.microchip.com.
कागदपत्रे / संसाधने
![]() |
मायक्रोचिप PIC24 ड्युअल विभाजन फ्लॅश प्रोग्राम मेमरी [pdf] वापरकर्ता मार्गदर्शक PIC24 ड्युअल पार्टीशन फ्लॅश प्रोग्राम मेमरी, PIC24, ड्युअल पार्टीशन फ्लॅश प्रोग्राम मेमरी, फ्लॅश प्रोग्राम मेमरी, प्रोग्राम मेमरी |