মাইক্রোচিপ PIC24 ফ্ল্যাশ প্রোগ্রামিং
পণ্য তথ্য
ফ্ল্যাশ প্রোগ্রামিং
ডিভাইসগুলির dsPIC33/PIC24 পরিবারগুলিতে ব্যবহারকারীর কোড কার্যকর করার জন্য একটি অভ্যন্তরীণ প্রোগ্রামযোগ্য ফ্ল্যাশ প্রোগ্রাম মেমরি রয়েছে। এই মেমরি প্রোগ্রাম করার জন্য তিনটি পদ্ধতি পর্যন্ত আছে:
- টেবিল নির্দেশনা অপারেশন
- ইন-সার্কিট সিরিয়াল প্রোগ্রামিং (ICSP)
- ইন-অ্যাপ্লিকেশন প্রোগ্রামিং (IAP)
টেবিল নির্দেশাবলী ফ্ল্যাশ প্রোগ্রাম মেমরি স্পেস এবং dsPIC33/PIC24 ডিভাইসের ডেটা মেমরি স্পেস মধ্যে ডেটা স্থানান্তর করার পদ্ধতি প্রদান করে। TBLRDL নির্দেশনাটি প্রোগ্রাম মেমরির স্থানের বিট [15:0] থেকে পড়ার জন্য ব্যবহৃত হয়। TBLWTL নির্দেশনাটি ফ্ল্যাশ প্রোগ্রাম মেমরি স্পেসের বিট [15:0] লিখতে ব্যবহৃত হয়। TBLRDL এবং TBLWTL ওয়ার্ড মোড বা বাইট মোডে ফ্ল্যাশ প্রোগ্রাম মেমরি অ্যাক্সেস করতে পারে।
ফ্ল্যাশ প্রোগ্রাম মেমরির ঠিকানা ছাড়াও, টেবিলের নির্দেশ একটি W রেজিস্টার (অথবা একটি মেমরি অবস্থানের জন্য একটি W রেজিস্টার পয়েন্টার) নির্দিষ্ট করে, যেটি ফ্ল্যাশ প্রোগ্রাম মেমরি ডেটার উৎস, বা ফ্ল্যাশ প্রোগ্রামের গন্তব্য। স্মৃতি পড়া।
এই বিভাগে ফ্ল্যাশ প্রোগ্রাম মেমরি প্রোগ্রামিং জন্য কৌশল বর্ণনা করে. ডিভাইসগুলির dsPIC33/ PIC24 পরিবারগুলিতে ব্যবহারকারী কোড কার্যকর করার জন্য একটি অভ্যন্তরীণ প্রোগ্রামযোগ্য ফ্ল্যাশ প্রোগ্রাম মেমরি রয়েছে। এই মেমরি প্রোগ্রাম করার জন্য তিনটি পদ্ধতি পর্যন্ত আছে:
- রান-টাইম স্ব-প্রোগ্রামিং (RTSP)
- ইন-সার্কিট সিরিয়াল প্রোগ্রামিং™ (ICSP™)
- বর্ধিত ইন-সার্কিট সিরিয়াল প্রোগ্রামিং (EICSP)
RTSP সম্পাদনের সময় অ্যাপ্লিকেশন সফ্টওয়্যার দ্বারা সঞ্চালিত হয়, যখন ICSP এবং EICSP ডিভাইসে সিরিয়াল ডেটা সংযোগ ব্যবহার করে একটি বহিরাগত প্রোগ্রামার থেকে সঞ্চালিত হয়। ICSP এবং EICSP RTSP এর চেয়ে অনেক দ্রুত প্রোগ্রামিং সময় দেয়। RTSP কৌশলগুলি বিভাগ 4.0 "রান-টাইম সেলফ-প্রোগ্রামিং (RTSP)" এ বর্ণনা করা হয়েছে। ICSP এবং EICSP প্রোটোকলগুলি সংশ্লিষ্ট ডিভাইসগুলির জন্য প্রোগ্রামিং স্পেসিফিকেশন নথিতে সংজ্ঞায়িত করা হয়েছে, যা মাইক্রোচিপ থেকে ডাউনলোড করা যেতে পারে webসাইট (http://www.microchip.com) সি ল্যাঙ্গুয়েজে প্রোগ্রামিং করার সময়, বেশ কিছু বিল্ট-ইন ফাংশন পাওয়া যায় যা ফ্ল্যাশ প্রোগ্রামিংকে সহজতর করে। বিল্ট-ইন ফাংশন সম্পর্কিত বিশদ বিবরণের জন্য "MPLAB® XC16 C কম্পাইলার ব্যবহারকারীর নির্দেশিকা" (DS50002071) দেখুন।
পণ্য ব্যবহারের নির্দেশাবলী
ফ্ল্যাশ প্রোগ্রাম মেমরি প্রোগ্রাম করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- ফ্যামিলি রেফারেন্স ম্যানুয়াল বিভাগ আপনি যে ডিভাইসটি ব্যবহার করছেন তা সমর্থন করে কিনা তা পরীক্ষা করতে ডিভাইসের ডেটা শীটটি দেখুন।
- মাইক্রোচিপ ওয়ার্ল্ডওয়াইড থেকে ডিভাইস ডেটা শীট এবং পারিবারিক রেফারেন্স ম্যানুয়াল বিভাগগুলি ডাউনলোড করুন Webসাইটে: http://www.microchip.com.
- মেমরি প্রোগ্রাম করার জন্য তিনটি পদ্ধতির মধ্যে একটি বেছে নিন (টেবিল ইন্সট্রাকশন অপারেশন, ইন-সার্কিট সিরিয়াল প্রোগ্রামিং (ICSP), ইন-অ্যাপ্লিকেশন প্রোগ্রামিং (IAP))।
- টেবিল ইন্সট্রাকশন অপারেশন ব্যবহার করলে, প্রোগ্রাম মেমরি স্পেসের বিট[15:0] থেকে পড়ার জন্য টিবিএলআরডিএল নির্দেশনা এবং ফ্ল্যাশ প্রোগ্রাম মেমরি স্পেসের বিট[15:0]-এ লেখার জন্য TBLWTL নির্দেশনা ব্যবহার করুন।
- ফ্ল্যাশ প্রোগ্রাম মেমরি ডেটার উৎস হিসাবে একটি W রেজিস্টার (বা একটি মেমরি অবস্থানের জন্য একটি W রেজিস্টার পয়েন্টার) নির্দিষ্ট করা নিশ্চিত করুন, বা ফ্ল্যাশ প্রোগ্রাম মেমরি পড়ার গন্তব্য।
ফ্ল্যাশ প্রোগ্রাম মেমরি প্রোগ্রামিং সম্পর্কে আরও তথ্য এবং বিশদ বিবরণের জন্য, dsPIC33/PIC24 ফ্যামিলি রেফারেন্স ম্যানুয়াল পড়ুন।
টেবিল নির্দেশনা অপারেশন
টেবিল নির্দেশাবলী ফ্ল্যাশ প্রোগ্রাম মেমরি স্পেস এবং dsPIC33/PIC24 ডিভাইসের ডেটা মেমরি স্পেসের মধ্যে ডেটা স্থানান্তর করার পদ্ধতি প্রদান করে। এই বিভাগে ফ্ল্যাশ প্রোগ্রাম মেমরি প্রোগ্রামিং সময় ব্যবহৃত টেবিল নির্দেশাবলী একটি সারাংশ প্রদান করে. চারটি মৌলিক টেবিল নির্দেশাবলী আছে:
- TBLRDL: টেবিল কম পড়া
- TBLRDH: টেবিল উচ্চ পড়া
- TBLWTL: টেবিল কম লিখুন
- TBLWTH: টেবিল উচ্চ লিখুন
TBLRDL নির্দেশনাটি প্রোগ্রাম মেমরির স্থানের বিট [15:0] থেকে পড়ার জন্য ব্যবহৃত হয়। TBLWTL নির্দেশনাটি ফ্ল্যাশ প্রোগ্রাম মেমরি স্পেসের বিট [15:0] লিখতে ব্যবহৃত হয়। TBLRDL এবং TBLWTL ওয়ার্ড মোড বা বাইট মোডে ফ্ল্যাশ প্রোগ্রাম মেমরি অ্যাক্সেস করতে পারে।
TBLRDH এবং TBLWTH নির্দেশাবলী প্রোগ্রাম মেমরি স্পেস এর বিট পড়তে বা লিখতে ব্যবহার করা হয়। TBLRDH এবং TBLWTH ওয়ার্ড বা বাইট মোডে ফ্ল্যাশ প্রোগ্রাম মেমরি অ্যাক্সেস করতে পারে। যেহেতু ফ্ল্যাশ প্রোগ্রাম মেমরি মাত্র 23 বিট প্রশস্ত, TBLRDH এবং TBLWTH নির্দেশাবলী ফ্ল্যাশ প্রোগ্রাম মেমরির একটি উপরের বাইটকে সম্বোধন করতে পারে যা বিদ্যমান নেই। এই বাইটটিকে "ফ্যান্টম বাইট" বলা হয়। ফ্যান্টম বাইটের যেকোনো রিড 16x24 ফেরত দেবে। ফ্যান্টম বাইটে লেখার কোন প্রভাব নেই। 0-বিট ফ্ল্যাশ প্রোগ্রাম মেমরিকে দুটি পাশাপাশি 00-বিট স্পেস হিসাবে বিবেচনা করা যেতে পারে, প্রতিটি স্থান একই ঠিকানা পরিসর ভাগ করে। তাই, TBLRDL এবং TBLWTL নির্দেশাবলী "লো" প্রোগ্রাম মেমরি স্পেস অ্যাক্সেস করে (PM[24:16])। TBLRDH এবং TBLWTH নির্দেশাবলী "উচ্চ" প্রোগ্রাম মেমরি স্পেস অ্যাক্সেস করে (PM[15:0])। PM[31:16] কে যে কোন পড়া বা লিখলে ফ্যান্টম (অপ্রযোজ্য) বাইট অ্যাক্সেস করা হবে। যখন টেবিলের যেকোনো নির্দেশনা বাইট মোডে ব্যবহার করা হয়, তখন টেবিলের ঠিকানার সর্বনিম্ন গুরুত্বপূর্ণ বিট (LSb) বাইট সিলেক্ট বিট হিসেবে ব্যবহার করা হবে। উচ্চ বা নিম্ন প্রোগ্রাম মেমরি স্পেসে কোন বাইট অ্যাক্সেস করা হবে তা LSb নির্ধারণ করে।
চিত্র 2-1 টেবিলের নির্দেশাবলী ব্যবহার করে ফ্ল্যাশ প্রোগ্রাম মেমরি কিভাবে সম্বোধন করা হয় তা ব্যাখ্যা করে। একটি 24-বিট প্রোগ্রাম মেমরি অ্যাড্রেস TBLPAG রেজিস্টারের বিট[7:0] ব্যবহার করে তৈরি করা হয় এবং টেবিলের নির্দেশে উল্লেখিত W রেজিস্টার থেকে কার্যকরী ঠিকানা (EA) ব্যবহার করা হয়। রেফারেন্সের জন্য 24-বিট প্রোগ্রাম কাউন্টার (PC) চিত্র 2-1 এ দেখানো হয়েছে। EA এর উপরের 23 বিট ফ্ল্যাশ প্রোগ্রাম মেমরি অবস্থান নির্বাচন করতে ব্যবহৃত হয়।
বাইট মোড টেবিল নির্দেশাবলীর জন্য, 16-বিট ফ্ল্যাশ প্রোগ্রাম মেমরি শব্দের কোন বাইটটি সম্বোধন করা হবে তা নির্বাচন করতে W রেজিস্টার EA এর LSb ব্যবহার করা হয়; '1' বিট নির্বাচন করে[15:8] এবং '0' বিট নির্বাচন করে[7:0]। ওয়ার্ড মোডে একটি টেবিল নির্দেশের জন্য W রেজিস্টার EA এর LSb উপেক্ষা করা হয়। ফ্ল্যাশ প্রোগ্রাম মেমরির ঠিকানা ছাড়াও, টেবিলের নির্দেশ একটি W রেজিস্টার (অথবা একটি মেমরি অবস্থানের জন্য একটি W রেজিস্টার পয়েন্টার) নির্দিষ্ট করে, যেটি ফ্ল্যাশ প্রোগ্রাম মেমরি ডেটার উৎস, বা ফ্ল্যাশ প্রোগ্রামের গন্তব্য। স্মৃতি পড়া। বাইট মোডে টেবিল লেখার অপারেশনের জন্য, সোর্স ওয়ার্কিং রেজিস্টারের বিট[15:8] উপেক্ষা করা হয়।
টেবিল পড়া নির্দেশাবলী ব্যবহার করে
টেবিল রিডের জন্য দুটি ধাপ প্রয়োজন:
- ঠিকানা নির্দেশক টিবিএলপিএজি রেজিস্টার এবং একটি ডাব্লু রেজিস্টার ব্যবহার করে সেট আপ করা হয়েছে।
- ঠিকানা অবস্থানে ফ্ল্যাশ প্রোগ্রাম মেমরি বিষয়বস্তু পড়া হতে পারে.
- ওয়ার্ড মোড পড়ুন
Ex-এ দেখানো কোডample 2-1 এবং প্রাক্তনample 2-2 দেখায় কিভাবে ওয়ার্ড মোডে টেবিল নির্দেশাবলী ব্যবহার করে ফ্ল্যাশ প্রোগ্রাম মেমরির একটি শব্দ পড়তে হয়। - বাইট মোড পড়ুন
Ex-এ দেখানো কোডample 2-3 কম বাইটের রিড-এ পোস্ট-ইনক্রিমেন্ট অপারেটর দেখায়, যার ফলে ওয়ার্কিং রেজিস্টারে ঠিকানা এক দ্বারা বৃদ্ধি পায়। এটি তৃতীয় লেখার নির্দেশে মধ্যম বাইট অ্যাক্সেসের জন্য EA[0] কে '1' এ সেট করে। পরবর্তী ফ্ল্যাশ প্রোগ্রাম মেমরি অবস্থান নির্দেশ করে, শেষ পোস্ট-ইনক্রিমেন্ট W0 কে একটি সমান ঠিকানায় সেট করে। - টেবিল লিখুন ল্যাচ
টেবিল লেখার নির্দেশাবলী সরাসরি ননভোলাটাইল প্রোগ্রাম মেমরিতে লিখবে না। পরিবর্তে, টেবিল লেখার নির্দেশাবলী লোড রাইট ল্যাচ যা লেখার ডেটা সংরক্ষণ করে। NVM ঠিকানা রেজিস্টারগুলিকে অবশ্যই প্রথম ঠিকানা দিয়ে লোড করতে হবে যেখানে ল্যাচড ডেটা লিখতে হবে। যখন সমস্ত রাইট ল্যাচ লোড করা হয়, তখন প্রকৃত মেমরি প্রোগ্রামিং অপারেশন নির্দেশাবলীর একটি বিশেষ ক্রম নির্বাহ করে শুরু হয়। প্রোগ্রামিং এর সময়, হার্ডওয়্যার রাইট ল্যাচের ডাটা ফ্ল্যাশ মেমরিতে স্থানান্তর করে। রাইট ল্যাচগুলি সর্বদা 0xFA0000 ঠিকানা থেকে শুরু হয় এবং ওয়ার্ড প্রোগ্রামিং এর জন্য 0xFA0002 এর মাধ্যমে বা সারি প্রোগ্রামিং আছে এমন ডিভাইসগুলির জন্য 0xFA00FE এর মাধ্যমে প্রসারিত হয়।
দ্রষ্টব্য: রাইট ল্যাচের সংখ্যা ডিভাইস অনুসারে পরিবর্তিত হয়। উপলভ্য রাইট ল্যাচের সংখ্যার জন্য নির্দিষ্ট ডিভাইসের ডেটা শীটের "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায়টি পড়ুন।
নিয়ন্ত্রণ রেজিস্টার
ফ্ল্যাশ প্রোগ্রাম মেমরি ইরেজ এবং লেখার ক্রিয়াকলাপগুলিকে প্রোগ্রাম করতে বেশ কয়েকটি বিশেষ ফাংশন রেজিস্টার (SFRs) ব্যবহার করা হয়: NVMCON, NVMKEY, এবং NVM ঠিকানা রেজিস্টার, NVMADR এবং NVMADRU।
NVMCON রেজিস্টার
NVMCON রেজিস্টার হল ফ্ল্যাশ এবং প্রোগ্রাম/ইরেজ অপারেশনের জন্য প্রাথমিক নিয়ন্ত্রণ রেজিস্টার। এই রেজিস্টার নির্বাচন করে যে একটি মুছে ফেলা বা প্রোগ্রাম অপারেশন সঞ্চালিত হবে এবং প্রোগ্রাম বা মুছে ফেলা চক্র শুরু করতে পারে। NVMCON রেজিস্টার রেজিস্টার 3-1 এ দেখানো হয়েছে। NVMCON এর নিম্ন বাইটটি NVM অপারেশনের ধরন কনফিগার করে যা সম্পাদিত হবে।
NVMKEY রেজিস্টার
NVMKEY রেজিস্টার (রেজিস্টার 3-4 দেখুন) হল একটি শুধুমাত্র লেখার রেজিস্টার যা NVMCON-এর দুর্ঘটনাজনিত লেখাগুলি প্রতিরোধ করতে ব্যবহৃত হয় যা ফ্ল্যাশ মেমরিকে নষ্ট করতে পারে। একবার আনলক হয়ে গেলে, NVMCON-কে লেখার অনুমতি দেওয়া হয় একটি নির্দেশনা চক্রের জন্য যেখানে WR বিট একটি মুছে ফেলা বা প্রোগ্রামের রুটিন চালু করতে সেট করা যেতে পারে। সময়ের প্রয়োজনীয়তা দেওয়া, বাধা নিষ্ক্রিয় করা প্রয়োজন।
একটি মুছে ফেলা বা প্রোগ্রামিং ক্রম শুরু করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- বাধা অক্ষম করুন।
- NVMKEY-তে 0x55 লিখুন।
- NVMKEY-তে 0xAA লিখুন।
- WR বিট (NVMCON[15]) সেট করে প্রোগ্রামিং লেখার চক্র শুরু করুন।
- দুটি NOP নির্দেশাবলী কার্যকর করুন।
- বাধা পুনরুদ্ধার করুন।
বাধা অক্ষম করা
একটি সফল ফলাফল নিশ্চিত করতে সমস্ত ফ্ল্যাশ অপারেশনের জন্য বাধা নিষ্ক্রিয় করা প্রয়োজন৷ NVMKEY আনলক সিকোয়েন্সের সময় যদি কোনো বাধা আসে, তাহলে এটি WR বিটে লেখা ব্লক করতে পারে। NVMKEY আনলক সিকোয়েন্সটি অবশ্যই কোনো বাধা ছাড়াই কার্যকর করা উচিত, যেমনটি বিভাগ 3.2 "NVMKEY রেজিস্টার" এ আলোচনা করা হয়েছে।
গ্লোবাল ইন্টারাপ্ট এনাবল (GIE বিট) অক্ষম করে বা DISI নির্দেশনা ব্যবহার করে দুটি পদ্ধতির মধ্যে একটিতে বাধা নিষ্ক্রিয় করা যেতে পারে। DISI নির্দেশ সুপারিশ করা হয় না কারণ এটি শুধুমাত্র অগ্রাধিকার 6 বা নীচের বাধাগুলি নিষ্ক্রিয় করে; তাই, Global Interrupt Enable পদ্ধতি ব্যবহার করা উচিত।
CPU কোড প্রবাহকে প্রভাবিত করার আগে GIE কে দুটি নির্দেশনা চক্র গ্রহণ করে। দুটি NOP নির্দেশাবলী পরে প্রয়োজন, অথবা অন্য যেকোন দরকারী কাজের নির্দেশাবলীর সাথে প্রতিস্থাপন করা যেতে পারে, যেমন NVMKEY লোড করা; এটি সেট এবং পরিষ্কার উভয় অপারেশনের জন্য প্রযোজ্য। বিঘ্নগুলি পুনরায় সক্রিয় করার সময় সতর্কতা অবলম্বন করা উচিত যাতে NVM টার্গেটেড রুটিন বাধাগুলিকে অনুমতি না দেয় যখন পূর্বের একটি ফাংশন অন্যান্য কারণে তাদের নিষ্ক্রিয় করে থাকে। অ্যাসেম্বলিতে এটি মোকাবেলা করার জন্য, একটি স্ট্যাক পুশ এবং পপ ব্যবহার করা যেতে পারে জিআইই বিটের অবস্থা ধরে রাখতে। C-তে, GIE সাফ করার আগে RAM-এর একটি পরিবর্তনশীল INTCON2 সংরক্ষণ করতে ব্যবহার করা যেতে পারে। বাধা নিষ্ক্রিয় করতে নিম্নলিখিত ক্রমটি ব্যবহার করুন:
- স্ট্যাকের উপর INTCON2 চাপুন।
- GIE বিট সাফ করুন।
- দুটি NOP বা NVMKEY-তে লেখে।
- WR বিট (NVMCON[15]) সেট করে প্রোগ্রামিং চক্র শুরু করুন।
- INTCON2 এর POP দ্বারা GIE অবস্থা পুনরুদ্ধার করুন।
NVM ঠিকানা নিবন্ধন
দুটি NVM ঠিকানা রেজিস্টার, NVMADRU এবং NVMADR, একত্রিত হলে, প্রোগ্রামিং অপারেশনের জন্য নির্বাচিত সারি বা শব্দের 24-বিট EA গঠন করে। NVMADRU রেজিস্টার EA এর উপরের আটটি বিট ধরে রাখতে এবং NVMADR রেজিস্টারটি EA এর নীচের 16 বিট ধরে রাখতে ব্যবহৃত হয়। কিছু ডিভাইস এই একই রেজিস্টারগুলিকে NVMADRL এবং NVMADRH হিসাবে উল্লেখ করতে পারে। এনভিএম অ্যাড্রেস রেজিস্টারগুলি একটি ডবল ইন্সট্রাকশন ওয়ার্ড প্রোগ্রামিং অপারেশন করার সময় একটি ডবল ইন্সট্রাকশন ওয়ার্ড বাউন্ডারি, সারি প্রোগ্রামিং অপারেশন করার সময় একটি সারি বাউন্ডারি বা পেজ ইরেজ অপারেশন করার সময় একটি পৃষ্ঠার সীমানা নির্দেশ করা উচিত।
রেজিস্টার 3-1: NVMCON: ফ্ল্যাশ মেমরি কন্ট্রোল রেজিস্টার
দ্রষ্টব্য
- এই বিটটি শুধুমাত্র পাওয়ার-অন রিসেট (POR) এ রিসেট করা যেতে পারে (যেমন, সাফ করা)।
- নিষ্ক্রিয় মোড থেকে প্রস্থান করার সময়, ফ্ল্যাশ প্রোগ্রাম মেমরি চালু হওয়ার আগে একটি পাওয়ার-আপ বিলম্ব (TVREG) হয়। আরও তথ্যের জন্য নির্দিষ্ট ডিভাইস ডেটা শীটের "বৈদ্যুতিক বৈশিষ্ট্য" অধ্যায় পড়ুন।
- NVMOP[3:0]-এর অন্যান্য সমস্ত সংমিশ্রণ অবাস্তব।
- এই কার্যকারিতা সব ডিভাইসে উপলব্ধ নয়. উপলব্ধ ক্রিয়াকলাপগুলির জন্য নির্দিষ্ট ডিভাইস ডেটা শীটে "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায়টি পড়ুন।
- একটি PWRSAV নির্দেশ কার্যকর করার পরে একটি পাওয়ার-সেভিং মোডে প্রবেশ করা সমস্ত মুলতুবি NVM ক্রিয়াকলাপ সম্পূর্ণ করার উপর নির্ভরশীল।
- এই বিটটি শুধুমাত্র সেই ডিভাইসগুলিতে উপলব্ধ যা RAM বাফার সারি প্রোগ্রামিং সমর্থন করে। উপলব্ধতার জন্য ডিভাইস-নির্দিষ্ট ডেটা শীট পড়ুন।
দ্রষ্টব্য
- এই বিটটি শুধুমাত্র পাওয়ার-অন রিসেট (POR) এ রিসেট করা যেতে পারে (যেমন, সাফ করা)।
- নিষ্ক্রিয় মোড থেকে প্রস্থান করার সময়, ফ্ল্যাশ প্রোগ্রাম মেমরি চালু হওয়ার আগে একটি পাওয়ার-আপ বিলম্ব (TVREG) হয়। আরও তথ্যের জন্য নির্দিষ্ট ডিভাইস ডেটা শীটের "বৈদ্যুতিক বৈশিষ্ট্য" অধ্যায় পড়ুন।
- NVMOP[3:0]-এর অন্যান্য সমস্ত সংমিশ্রণ অবাস্তব।
- এই কার্যকারিতা সব ডিভাইসে উপলব্ধ নয়. উপলব্ধ ক্রিয়াকলাপগুলির জন্য নির্দিষ্ট ডিভাইস ডেটা শীটে "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায়টি পড়ুন।
- একটি PWRSAV নির্দেশ কার্যকর করার পরে একটি পাওয়ার-সেভিং মোডে প্রবেশ করা সমস্ত মুলতুবি NVM ক্রিয়াকলাপ সম্পূর্ণ করার উপর নির্ভরশীল।
- এই বিটটি শুধুমাত্র সেই ডিভাইসগুলিতে উপলব্ধ যা RAM বাফার সারি প্রোগ্রামিং সমর্থন করে। উপলব্ধতার জন্য ডিভাইস-নির্দিষ্ট ডেটা শীট পড়ুন।
রেজিস্টার 3-2: NVMADRU: ননভোলাটাইল মেমরি আপার অ্যাড্রেস রেজিস্টার
রেজিস্টার 3-3: NVMADR: ননভোলাটাইল মেমরি অ্যাড্রেস রেজিস্টার
রেজিস্টার 3-4: NVMKEY: ননভোলাটাইল মেমরি কী রেজিস্টার
রান-টাইম সেলফ-প্রোগ্রামিং (RTSP)
RTSP ব্যবহারকারী অ্যাপ্লিকেশনটিকে ফ্ল্যাশ প্রোগ্রামের মেমরি বিষয়বস্তু পরিবর্তন করতে দেয়। RTSP টিবিএলআরডি (টেবিল রিড) এবং টিবিএলডব্লিউটি (টেবিল লিখুন) নির্দেশাবলী, টিবিএলপিএজি রেজিস্টার এবং এনভিএম কন্ট্রোল রেজিস্টার ব্যবহার করে সম্পন্ন করা হয়। RTSP-এর সাহায্যে, ব্যবহারকারীর অ্যাপ্লিকেশন ফ্ল্যাশ মেমরির একটি একক পৃষ্ঠা মুছে ফেলতে পারে এবং নির্দিষ্ট ডিভাইসে দুটি নির্দেশ শব্দ বা 128টি পর্যন্ত নির্দেশ শব্দ মুছে ফেলতে পারে।
আরটিএসপি অপারেশন
dsPIC33/PIC24 ফ্ল্যাশ প্রোগ্রাম মেমরি অ্যারে মুছে ফেলা পৃষ্ঠাগুলিতে সংগঠিত হয় যাতে 1024টি নির্দেশাবলী থাকতে পারে। ডাবল-শব্দ প্রোগ্রামিং বিকল্পটি dsPIC33/PIC24 পরিবারের সমস্ত ডিভাইসে উপলব্ধ। উপরন্তু, কিছু ডিভাইসের সারি প্রোগ্রামিং ক্ষমতা আছে, যা একবারে 128টি নির্দেশ শব্দ পর্যন্ত প্রোগ্রামিং করতে দেয়। প্রোগ্রামিং এবং মুছে ফেলার ক্রিয়াকলাপগুলি সর্বদা একটি এমনকি ডবল প্রোগ্রামিং শব্দ, সারি বা পৃষ্ঠার সীমানায় ঘটে। একটি প্রোগ্রামিং সারির প্রাপ্যতা এবং আকার এবং মুছে ফেলার জন্য পৃষ্ঠার আকারের জন্য নির্দিষ্ট ডিভাইস ডেটা শীটের "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায়টি পড়ুন। ফ্ল্যাশ প্রোগ্রাম মেমরি হোল্ডিং বাফার প্রয়োগ করে, যাকে রাইট ল্যাচ বলা হয়, যাতে ডিভাইসের উপর নির্ভর করে প্রোগ্রামিং ডেটার 128টি নির্দেশনা থাকতে পারে। প্রকৃত প্রোগ্রামিং অপারেশনের আগে, লেখার ডেটা অবশ্যই রাইটের ল্যাচে লোড করতে হবে। RTSP-এর মৌলিক ক্রম হল টেবিল পয়েন্টার, TBLPAG রেজিস্টার সেট আপ করা এবং তারপরে লেখার ল্যাচগুলি লোড করার জন্য TBLWT নির্দেশাবলীর একটি সিরিজ সম্পাদন করা। NVMCON রেজিস্টারে কন্ট্রোল বিট সেট করে প্রোগ্রামিং করা হয়। লেখার ল্যাচগুলি লোড করার জন্য প্রয়োজনীয় TBLWTL এবং TBLWTH নির্দেশাবলীর সংখ্যা লিখতে হবে প্রোগ্রাম শব্দের সংখ্যার সমান।
দ্রষ্টব্য: এটি সুপারিশ করা হয় যে TBLPAG রেজিস্টার সংশোধন করার আগে সংরক্ষণ করা হবে এবং ব্যবহারের পরে পুনরুদ্ধার করা হবে।
সতর্কতা
কিছু ডিভাইসে, "ফ্ল্যাশ কনফিগারেশন বাইটস" নামক একটি বিভাগে ফ্ল্যাশ ব্যবহারকারী মেমরি স্পেস প্রোগ্রামের শেষ পৃষ্ঠায় কনফিগারেশন বিটগুলি সংরক্ষণ করা হয়। এই ডিভাইসগুলির সাথে, প্রোগ্রাম মেমরির শেষ পৃষ্ঠায় একটি পৃষ্ঠা মুছে ফেলার ক্রিয়া সম্পাদন করলে ফ্ল্যাশ কনফিগারেশন বাইটগুলি মুছে যায়, যা কোড সুরক্ষা সক্ষম করে। অতএব, ব্যবহারকারীদের প্রোগ্রাম মেমরির শেষ পৃষ্ঠায় পৃষ্ঠা মুছে ফেলার অপারেশন করা উচিত নয়। কনফিগারেশন বিটগুলি "ডিভাইস কনফিগারেশন রেজিস্টার" নামে একটি বিভাগে কনফিগারেশন মেমরি স্পেসে সংরক্ষণ করা হলে এটি উদ্বেগের বিষয় নয়। কনফিগারেশন বিটগুলি কোথায় অবস্থিত তা নির্ধারণ করতে নির্দিষ্ট ডিভাইস ডেটা শীটের "মেমরি অর্গানাইজেশন" অধ্যায়ে প্রোগ্রাম মেমরি ম্যাপটি পড়ুন।
ফ্ল্যাশ প্রোগ্রামিং অপারেশন
RTSP মোডে অভ্যন্তরীণ ফ্ল্যাশ প্রোগ্রাম মেমরি প্রোগ্রামিং বা মুছে ফেলার জন্য একটি প্রোগ্রাম বা ইরেজ অপারেশন প্রয়োজন। প্রোগ্রাম বা মুছে ফেলার অপারেশন স্বয়ংক্রিয়ভাবে ডিভাইস দ্বারা নির্ধারিত হয় (সময়ের তথ্যের জন্য নির্দিষ্ট ডিভাইস ডেটা শীট পড়ুন)। WR বিট সেট করা (NVMCON[15]) অপারেশন শুরু করে। অপারেশন শেষ হলে WR বিট স্বয়ংক্রিয়ভাবে সাফ হয়ে যায়। প্রোগ্রামিং অপারেশন শেষ না হওয়া পর্যন্ত CPU স্টল। এই সময়ের মধ্যে CPU কোনো নির্দেশনা কার্যকর করবে না বা বাধার প্রতিক্রিয়া জানাবে না। প্রোগ্রামিং চক্রের সময় কোনো বাধা দেখা দিলে, চক্রটি সম্পূর্ণ না হওয়া পর্যন্ত সেগুলি মুলতুবি থাকবে। কিছু dsPIC33/PIC24 ডিভাইস সহায়ক ফ্ল্যাশ প্রোগ্রাম মেমরি প্রদান করতে পারে (বিশদ বিবরণের জন্য নির্দিষ্ট ডিভাইস ডেটা শীটের "মেমরি অর্গানাইজেশন" অধ্যায় পড়ুন), যা ব্যবহারকারীর ফ্ল্যাশ প্রোগ্রাম মেমরি মুছে ফেলা এবং/অথবা প্রোগ্রাম করার সময় CPU স্টল ছাড়াই নির্দেশনা কার্যকর করার অনুমতি দেয়। বিপরীতভাবে, অক্জিলিয়ারী ফ্ল্যাশ প্রোগ্রাম মেমরি সিপিইউ স্টল ছাড়াই প্রোগ্রাম করা যেতে পারে, যতক্ষণ ব্যবহারকারী ফ্ল্যাশ প্রোগ্রাম মেমরি থেকে কোড নির্বাহ করা হয়। প্রোগ্রামিং অপারেশন সম্পূর্ণ হয়েছে তা নির্দেশ করতে NVM বাধা ব্যবহার করা যেতে পারে।
দ্রষ্টব্য
- RTSP মুছে ফেলা বা প্রোগ্রামিং অপারেশন চলাকালীন POR বা BOR ঘটনা ঘটলে, RTSP অপারেশন অবিলম্বে বাতিল করা হয়। ডিভাইসটি রিসেট থেকে বেরিয়ে আসার পরে ব্যবহারকারীর আবার আরটিএসপি অপারেশন চালানো উচিত।
- RTSP মুছে ফেলা বা প্রোগ্রামিং অপারেশন চলার সময় যদি একটি EXTR, SWR, WDTO, TRAPR, CM বা IOPUWR রিসেট ইভেন্ট ঘটে, তবে RTSP অপারেশন সম্পূর্ণ হওয়ার পরেই ডিভাইসটি পুনরায় সেট করা হবে।
আরটিএসপি প্রোগ্রামিং অ্যালগরিদম
এই বিভাগে RTSP প্রোগ্রামিং বর্ণনা করা হয়েছে, যা তিনটি প্রধান প্রক্রিয়া নিয়ে গঠিত।
পরিবর্তন করার জন্য ডেটা পৃষ্ঠার একটি RAM ইমেজ তৈরি করা
পরিবর্তন করার জন্য ডেটা পৃষ্ঠার একটি RAM ইমেজ তৈরি করতে এই দুটি পদক্ষেপ সম্পাদন করুন:
- ফ্ল্যাশ প্রোগ্রাম মেমরির পৃষ্ঠাটি পড়ুন এবং ডেটা "ইমেজ" হিসাবে ডেটা র্যামে সংরক্ষণ করুন। RAM ইমেজ একটি পৃষ্ঠা ঠিকানা সীমানা থেকে শুরু করে পড়তে হবে।
- প্রয়োজন অনুযায়ী RAM ডেটা ইমেজ পরিবর্তন করুন।
ফ্ল্যাশ প্রোগ্রাম মেমরি মুছে ফেলা
উপরের ধাপ 1 এবং 2 সম্পূর্ণ করার পরে, ফ্ল্যাশ প্রোগ্রাম মেমরি পৃষ্ঠা মুছে ফেলার জন্য নিম্নলিখিত চারটি ধাপ সম্পাদন করুন:
- ধাপ 3 থেকে পড়া ফ্ল্যাশ প্রোগ্রাম মেমরির পৃষ্ঠা মুছে ফেলার জন্য NVMOP[0:3] বিট (NVMCON[0:1]) সেট করুন।
- NVMADRU এবং NMVADR রেজিস্টারে মুছে ফেলার জন্য পৃষ্ঠার শুরুর ঠিকানা লিখুন।
- বাধা অক্ষম সহ:
- a) WR বিট (NVMCON[15]) সেট করা সক্ষম করতে NVMKEY রেজিস্টারে কী ক্রমটি লিখুন।
- b) WR বিট সেট করুন; এটি মুছে ফেলার চক্র শুরু করবে।
- c) দুটি NOP নির্দেশাবলী কার্যকর করুন।
- মুছে ফেলার চক্র সম্পূর্ণ হলে WR বিট সাফ করা হয়।
ফ্ল্যাশ মেমরি পৃষ্ঠা প্রোগ্রামিং
প্রক্রিয়াটির পরবর্তী অংশ হল ফ্ল্যাশ মেমরি পৃষ্ঠা প্রোগ্রাম করা। ফ্ল্যাশ মেমরি পৃষ্ঠাটি ধাপ 1-এ তৈরি করা চিত্র থেকে ডেটা ব্যবহার করে প্রোগ্রাম করা হয়েছে। ডাটা ডাবল ইন্সট্রাকশন শব্দ বা সারির বৃদ্ধিতে লেখার ল্যাচে স্থানান্তরিত হয়। সমস্ত ডিভাইসের ডবল নির্দেশ শব্দ প্রোগ্রামিং ক্ষমতা আছে. (সারি প্রোগ্রামিং উপলভ্য কিনা, এবং কি ধরনের, তা নির্ধারণ করতে নির্দিষ্ট ডিভাইসের ডেটা শীটে "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায় পড়ুন।) রাইট ল্যাচগুলি লোড হওয়ার পরে, প্রোগ্রামিং অপারেশন শুরু হয়, যা থেকে ডেটা স্থানান্তর করে ফ্ল্যাশ মেমরিতে ল্যাচ লিখুন। পুরো পৃষ্ঠাটি প্রোগ্রাম করা না হওয়া পর্যন্ত এটি পুনরাবৃত্তি করা হয়। নিম্নলিখিত তিনটি ধাপের পুনরাবৃত্তি করুন, ফ্ল্যাশ পৃষ্ঠার প্রথম নির্দেশ শব্দ থেকে শুরু করে এবং দ্বৈত প্রোগ্রাম শব্দ বা নির্দেশ সারিগুলির ধাপে বৃদ্ধি করে, যতক্ষণ না পুরো পৃষ্ঠাটি প্রোগ্রাম করা হয়:
- লেখার ল্যাচগুলি লোড করুন:
- a) TBLPAG রেজিস্টার সেট করুন লেখার ল্যাচগুলির অবস্থান নির্দেশ করতে।
- b) TBLWTL এবং TBLWTH নির্দেশাবলীর জোড়া ব্যবহার করে পছন্দসই সংখ্যক ল্যাচ লোড করুন:
- দ্বি-শব্দ প্রোগ্রামিংয়ের জন্য, দুই জোড়া TBLWTL এবং TBLWTH নির্দেশাবলী প্রয়োজন
- সারি প্রোগ্রামিংয়ের জন্য, প্রতিটি নির্দেশ শব্দ সারি উপাদানের জন্য এক জোড়া TBLWTL এবং TBLWTH নির্দেশাবলী প্রয়োজন
- প্রোগ্রামিং অপারেশন শুরু করুন:
- ক) NVMOP[3:0] বিটগুলি (NVMCON[3:0]) প্রোগ্রামের জন্য দ্বৈত নির্দেশের শব্দ বা একটি নির্দেশ সারি, উপযুক্ত হিসাবে সেট করুন।
b) NVMADRU এবং NVMADR রেজিস্টারে প্রোগ্রাম করার জন্য ডাবল ইন্সট্রাকশন শব্দ বা নির্দেশ সারির প্রথম ঠিকানা লিখুন।
গ) বাধা অক্ষম সহ:
• WR বিট (NVMCON[15]) সেট করা সক্ষম করতে NVMKEY রেজিস্টারে কী ক্রমটি লিখুন
• WR বিট সেট করুন; এটি মুছে ফেলার চক্র শুরু করবে
• দুটি NOP নির্দেশাবলী কার্যকর করুন
- ক) NVMOP[3:0] বিটগুলি (NVMCON[3:0]) প্রোগ্রামের জন্য দ্বৈত নির্দেশের শব্দ বা একটি নির্দেশ সারি, উপযুক্ত হিসাবে সেট করুন।
- প্রোগ্রামিং চক্র সম্পূর্ণ হলে WR বিট সাফ করা হয়।
ফ্ল্যাশ প্রোগ্রাম মেমরির পছন্দসই পরিমাণ প্রোগ্রাম করার জন্য প্রয়োজন অনুসারে পুরো প্রক্রিয়াটি পুনরাবৃত্তি করুন।
দ্রষ্টব্য
- ব্যবহারকারীর মনে রাখা উচিত যে ন্যূনতম পরিমাণ ফ্ল্যাশ প্রোগ্রাম মেমরি যা আরটিএসপি ব্যবহার করে মুছে ফেলা যায় একটি সিঞ্জ ইরেজড পেজ। অতএব, এটি গুরুত্বপূর্ণ যে এই অবস্থানগুলির একটি ইমেজ একটি মুছে ফেলার চক্র শুরু করার আগে সাধারণ উদ্দেশ্য RAM এ সংরক্ষণ করা হয়।
- ফ্ল্যাশ প্রোগ্রাম মেমরির একটি সারি বা শব্দ মুছে ফেলার আগে দুইবারের বেশি প্রোগ্রাম করা উচিত নয়।
- ফ্ল্যাশের শেষ পৃষ্ঠায় সংরক্ষিত কনফিগারেশন বাইট সহ ডিভাইসগুলিতে, প্রোগ্রাম মেমরির শেষ পৃষ্ঠায় একটি পৃষ্ঠা মুছে ফেলার অপারেশন করা কনফিগারেশন বাইটগুলিকে সাফ করে, যা কোড সুরক্ষা সক্ষম করে। এই ডিভাইসগুলিতে, ফ্ল্যাশ মেমরির শেষ পৃষ্ঠাটি মুছে ফেলা উচিত নয়।
ফ্ল্যাশের একটি পৃষ্ঠা মুছে ফেলা হচ্ছে
কোড ক্রম দেখানো হয়েছে Example 4-1 ফ্ল্যাশ প্রোগ্রাম মেমরির একটি পৃষ্ঠা মুছে ফেলার জন্য ব্যবহার করা যেতে পারে। NVMCON রেজিস্টার প্রোগ্রাম মেমরির একটি পৃষ্ঠা মুছে ফেলার জন্য কনফিগার করা হয়েছে। NVMADR এবং NMVADRU রেজিস্টারগুলি মুছে ফেলার জন্য পৃষ্ঠার শুরুর ঠিকানা দিয়ে লোড করা হয়। প্রোগ্রাম মেমরি একটি "সম" পৃষ্ঠা ঠিকানা সীমানা এ মুছে ফেলা আবশ্যক. ফ্ল্যাশ পৃষ্ঠার আকার নির্ধারণ করতে নির্দিষ্ট ডিভাইস ডেটা শীটের "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায়টি দেখুন।
WR বিট (NVMCON[15]) সেট করার আগে NVMKEY রেজিস্টারে একটি বিশেষ আনলক বা কী সিকোয়েন্স লিখে মুছে ফেলার কাজ শুরু করা হয়। আনলক ক্রমটি সঠিক ক্রমে সম্পাদন করা প্রয়োজন, যেমনটি Ex-এ দেখানো হয়েছেample 4-1, বাধা ছাড়াই; অতএব, বাধা নিষ্ক্রিয় করা আবশ্যক.
মুছে ফেলার চক্রের পরে কোডটিতে দুটি NOP নির্দেশ সন্নিবেশ করা উচিত। নির্দিষ্ট কিছু ডিভাইসে, প্রোগ্রাম ফ্ল্যাশের শেষ পৃষ্ঠায় কনফিগারেশন বিট সংরক্ষণ করা হয়। এই ডিভাইসগুলির সাহায্যে, প্রোগ্রাম মেমরির শেষ পৃষ্ঠায় একটি পৃষ্ঠা মুছে ফেলার কাজ সম্পাদন করলে ফ্ল্যাশ কনফিগারেশন বাইটগুলি মুছে যায়, ফলস্বরূপ কোড সুরক্ষা সক্ষম করে৷ ব্যবহারকারীদের প্রোগ্রাম মেমরির শেষ পৃষ্ঠায় পৃষ্ঠা মুছে ফেলার অপারেশন করা উচিত নয়।
লোডিং লিখুন ল্যাচ
রাইটের ল্যাচগুলি ব্যবহারকারীর অ্যাপ্লিকেশন টেবিল রাইট এবং প্রকৃত প্রোগ্রামিং ক্রমগুলির মধ্যে একটি স্টোরেজ প্রক্রিয়া হিসাবে ব্যবহৃত হয়। প্রোগ্রামিং অপারেশন চলাকালীন, ডিভাইসটি রাইট ল্যাচ থেকে ফ্ল্যাশ মেমরিতে ডেটা স্থানান্তর করবে। সারি প্রোগ্রামিং সমর্থন করে এমন ডিভাইসগুলির জন্য, যেমনample 4-3 নির্দেশাবলীর ক্রম দেখায় যা 128 রাইট ল্যাচ (128 নির্দেশের শব্দ) লোড করতে ব্যবহার করা যেতে পারে। 128 TBLWTL এবং 128 TBLWTH নির্দেশাবলী ফ্ল্যাশ প্রোগ্রাম মেমরির সারি প্রোগ্রামিং করার জন্য রাইট ল্যাচ লোড করার জন্য প্রয়োজন। আপনার ডিভাইসে উপলব্ধ প্রোগ্রামিং ল্যাচের সংখ্যা নির্ধারণ করতে নির্দিষ্ট ডিভাইসের ডেটা শীটের "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায়টি পড়ুন। সারি প্রোগ্রামিং সমর্থন করে না এমন ডিভাইসগুলির জন্য, যেমনample 4-4 নির্দেশাবলীর ক্রম দেখায় যা দুটি রাইট ল্যাচ (দুটি নির্দেশ শব্দ) লোড করতে ব্যবহার করা যেতে পারে। লিখিত ল্যাচগুলি লোড করার জন্য দুটি TBLWTL এবং দুটি TBLWTH নির্দেশাবলী প্রয়োজন৷
দ্রষ্টব্য
- Load_Write_Latch_Row এর কোডটি Ex-এ দেখানো হয়েছেample 4-3 এবং Load_Write_Latch_Word এর কোডটি Ex-এ দেখানো হয়েছেampলে 4-4। এই উভয় মধ্যে কোড প্রাক্তনamples পরবর্তী প্রাক্তন উল্লেখ করা হয়ampলেস
- ল্যাচের সংখ্যার জন্য নির্দিষ্ট ডিভাইসের ডেটা শীট পড়ুন।
একক সারি প্রোগ্রামিং প্রাক্তনAMPLE
NVMCON রেজিস্টার ফ্ল্যাশ প্রোগ্রাম মেমরির এক সারি প্রোগ্রাম করার জন্য কনফিগার করা হয়েছে। WR বিট (NVMCON[15]) সেট করার আগে NVMKEY রেজিস্টারে একটি বিশেষ আনলক বা কী সিকোয়েন্স লিখে প্রোগ্রাম অপারেশন শুরু করা হয়। আনলক ক্রমটি বিঘ্ন ছাড়াই কার্যকর করা প্রয়োজন, এবং সঠিক ক্রমে, যেমন Ex-এ দেখানো হয়েছেampলে 4-5। অতএব, ক্রম লেখার আগে বাধাগুলি নিষ্ক্রিয় করা আবশ্যক।
দ্রষ্টব্য: সব ডিভাইসের সারি প্রোগ্রামিং ক্ষমতা নেই। এই বিকল্পটি উপলব্ধ কিনা তা নির্ধারণ করতে নির্দিষ্ট ডিভাইস ডেটা শীটের "ফ্ল্যাশ প্রোগ্রাম মেমরি" অধ্যায়টি পড়ুন।
প্রোগ্রামিং চক্রের পরে কোডটিতে দুটি NOP নির্দেশাবলী সন্নিবেশ করা উচিত।
RAM বাফার ব্যবহার করে সারি প্রোগ্রামিং
dsPIC33 ডিভাইস নির্বাচন করুন TBLWT নির্দেশাবলী সহ ডেটা স্থানান্তর করার জন্য হোল্ডিং ল্যাচগুলির মধ্য দিয়ে যাওয়ার পরিবর্তে ডেটা র্যামের একটি বাফার স্পেস থেকে সরাসরি সারি প্রোগ্রামিং করার অনুমতি দেয়। RAM বাফারের অবস্থান এনভিএমএসআরসিএডিআর রেজিস্টার(গুলি) দ্বারা নির্ধারিত হয়, যেটি র্যাম ঠিকানার সাথে লোড করা হয় যেখানে প্রোগ্রাম ডেটার প্রথম শব্দটি লেখা হবে।
প্রোগ্রাম অপারেশন সঞ্চালনের আগে, RAM এর বাফার স্পেসটি প্রোগ্রাম করার জন্য ডেটার সারি দিয়ে লোড করতে হবে। RAM হয় একটি সংকুচিত (প্যাকড) বা আনকম্প্রেস বিন্যাসে লোড করা যেতে পারে। সংকুচিত স্টোরেজ দুটি সংলগ্ন প্রোগ্রাম ডেটা শব্দের সর্বাধিক উল্লেখযোগ্য বাইট (MSBs) সংরক্ষণ করতে একটি ডেটা শব্দ ব্যবহার করে। আনকমপ্রেসড ফরম্যাট প্রতিটি প্রোগ্রাম ডেটা শব্দের জন্য দুটি ডেটা শব্দ ব্যবহার করে, প্রতিটি শব্দের উপরের বাইটটি 00h। কম্প্রেসড ফরম্যাট আনকম্প্রেসড ফরম্যাটের তুলনায় ডাটা র্যামের প্রায় 3/4 স্পেস ব্যবহার করে। অপরদিকে, আনকমপ্রেসড ফরম্যাট 24-বিট প্রোগ্রাম ডেটা শব্দের গঠন অনুকরণ করে, যা উপরের ফ্যান্টম বাইট দিয়ে সম্পূর্ণ হয়। ডেটা বিন্যাসটি RPDF বিট (NVMCON[9]) দ্বারা নির্বাচিত হয়। এই দুটি বিন্যাস চিত্র 4-1 এ দেখানো হয়েছে।
RAM বাফার লোড হয়ে গেলে, ফ্ল্যাশ অ্যাড্রেস পয়েন্টার, NVMADR এবং NVMADRU, ফ্ল্যাশ সারির 24-বিট স্টার্ট অ্যাড্রেস লিখতে হবে। রাইট ল্যাচ প্রোগ্রামিং এর মতো, প্রক্রিয়াটি শুরু হয় NVM আনলক সিকোয়েন্স লিখে, তারপর WR বিট সেট করে। একবার শুরু হলে, ডিভাইসটি স্বয়ংক্রিয়ভাবে সঠিক ল্যাচগুলি লোড করে এবং সমস্ত বাইট প্রোগ্রাম করা না হওয়া পর্যন্ত NVM ঠিকানা নিবন্ধন বৃদ্ধি করে। যেমনampলে 4-7 একজন প্রাক্তন দেখায়ampপ্রক্রিয়ার লে. যদি NVMSRCADR এমন একটি মান সেট করা হয় যাতে একটি ডেটা আন্ডাররান ত্রুটি অবস্থা দেখা দেয়, তাহলে শর্তটি নির্দেশ করতে URERR বিট (NVMCON[8]) সেট করা হবে।
যে ডিভাইসগুলি RAM বাফার সারি প্রোগ্রামিং প্রয়োগ করে সেগুলিও এক বা দুটি রাইট ল্যাচ প্রয়োগ করে। এগুলি TBLWT নির্দেশাবলী ব্যবহার করে লোড করা হয় এবং ওয়ার্ড প্রোগ্রামিং অপারেশন করতে ব্যবহৃত হয়।
ওয়ার্ড প্রোগ্রামিং
NVMCON রেজিস্টার ফ্ল্যাশ প্রোগ্রাম মেমরির দুটি নির্দেশ শব্দ প্রোগ্রাম করার জন্য কনফিগার করা হয়েছে। WR বিট (NVMCON[15]) সেট করার আগে NVMKEY রেজিস্টারে একটি বিশেষ আনলক বা কী সিকোয়েন্স লিখে প্রোগ্রাম অপারেশন শুরু করা হয়। আনলক ক্রমটি সঠিক ক্রমে সম্পাদন করা প্রয়োজন, যেমনটি Ex-এ দেখানো হয়েছেampলে 4-8, বাধা ছাড়াই। অতএব, ক্রম লেখার আগে বাধাগুলি নিষ্ক্রিয় করা উচিত।
প্রোগ্রামিং চক্রের পরে কোডটিতে দুটি NOP নির্দেশাবলী সন্নিবেশ করা উচিত।
ডিভাইস কনফিগারেশন রেজিস্টারে লেখা
নির্দিষ্ট কিছু ডিভাইসে, কনফিগারেশন বিটগুলি "ডিভাইস কনফিগারেশন রেজিস্টার" নামে একটি বিভাগে কনফিগারেশন মেমরি স্পেসে সংরক্ষণ করা হয়। অন্যান্য ডিভাইসে, "ফ্ল্যাশ কনফিগারেশন বাইটস" নামক একটি বিভাগে কনফিগারেশন বিটগুলি প্রোগ্রাম ফ্ল্যাশ ব্যবহারকারীর মেমরি স্পেসের শেষ পৃষ্ঠায় সংরক্ষণ করা হয়। এই ডিভাইসগুলির সাথে, প্রোগ্রাম মেমরির শেষ পৃষ্ঠায় একটি পৃষ্ঠা মুছে ফেলার ক্রিয়া সম্পাদন করলে ফ্ল্যাশ কনফিগারেশন বাইটগুলি মুছে যায়, যা কোড সুরক্ষা সক্ষম করে। অতএব, ব্যবহারকারীদের প্রোগ্রাম মেমরির শেষ পৃষ্ঠায় পৃষ্ঠা মুছে ফেলার অপারেশন করা উচিত নয়। কনফিগারেশন বিটগুলি কোথায় অবস্থিত তা নির্ধারণ করতে নির্দিষ্ট ডিভাইস ডেটা শীটের "মেমরি অর্গানাইজেশন" অধ্যায়ে প্রোগ্রাম মেমরি ম্যাপটি পড়ুন।
যখন কনফিগারেশন বিটগুলি কনফিগারেশন মেমরি স্পেসে সংরক্ষণ করা হয়, তখন RTSP ডিভাইস কনফিগারেশন রেজিস্টারে লেখার জন্য ব্যবহার করা যেতে পারে এবং RTSP প্রতিটি কনফিগারেশন রেজিস্টারকে প্রথমে একটি মুছে ফেলার চক্র সম্পাদন না করেই পৃথকভাবে পুনরায় লেখার অনুমতি দেয়। কনফিগারেশন রেজিস্টারগুলি লেখার সময় সতর্কতা অবলম্বন করা উচিত কারণ তারা গুরুত্বপূর্ণ ডিভাইস অপারেটিং পরামিতিগুলি নিয়ন্ত্রণ করে, যেমন সিস্টেম ঘড়ির উত্স, PLL এবং WDT সক্ষম।
একটি ডিভাইস কনফিগারেশন রেজিস্টার প্রোগ্রামিং করার পদ্ধতিটি ফ্ল্যাশ প্রোগ্রাম মেমরির প্রোগ্রামিং পদ্ধতির অনুরূপ, শুধুমাত্র TBLWTL নির্দেশাবলী প্রয়োজন। কারণ প্রতিটি ডিভাইস কনফিগারেশন রেজিস্টারের উপরের আটটি বিট অব্যবহৃত। তদ্ব্যতীত, কনফিগারেশন রেজিস্টার অ্যাক্সেস করার জন্য টেবিল রাইটের ঠিকানার 23 বিট সেট করা আবশ্যক। ডিভাইস কনফিগারেশন রেজিস্টারের সম্পূর্ণ বিবরণের জন্য "dsPIC70000618/PIC33 ফ্যামিলি রেফারেন্স ম্যানুয়াল" এবং নির্দিষ্ট ডিভাইস ডেটা শীটে "বিশেষ বৈশিষ্ট্য" অধ্যায়ে "ডিভাইস কনফিগারেশন" (DS24) পড়ুন।
দ্রষ্টব্য
- ডিভাইস কনফিগারেশন রেজিস্টারে লেখা সমস্ত ডিভাইসে উপলব্ধ নয়। ডিভাইস-নির্দিষ্ট NVMOP[3:0] বিটের সংজ্ঞা অনুসারে উপলব্ধ মোডগুলি নির্ধারণ করতে নির্দিষ্ট ডিভাইসের ডেটা শীটের "বিশেষ বৈশিষ্ট্য" অধ্যায়টি পড়ুন।
- ডিভাইস কনফিগারেশন রেজিস্টারে RTSP সম্পাদন করার সময়, ডিভাইসটিকে অবশ্যই অভ্যন্তরীণ FRC অসিলেটর (PLL ছাড়া) ব্যবহার করে কাজ করতে হবে। যদি ডিভাইসটি একটি ভিন্ন ঘড়ির উৎস থেকে কাজ করে, তাহলে ডিভাইস কনফিগারেশন রেজিস্টারে RTSP অপারেশন করার আগে অভ্যন্তরীণ FRC অসিলেটর (NOSC[2:0] = 000) এ একটি ঘড়ি সুইচ করতে হবে।
- যদি অসিলেটর কনফিগারেশন রেজিস্টারে (FOSC) প্রাইমারি অসিলেটর মোড সিলেক্ট বিটগুলি (POSCMD[1:0]) একটি নতুন মানতে পুনঃপ্রোগ্রাম করা হয়, ব্যবহারকারীকে নিশ্চিত করতে হবে যে ক্লক সুইচিং মোড বিটগুলি (FCKSM[1:0]) এই RTSP অপারেশন করার আগে FOSC রেজিস্টারে '0' এর একটি প্রাথমিক প্রোগ্রাম করা মান থাকে।
কনফিগারেশন রেজিস্টার অ্যালগরিদম লিখুন
সাধারণ পদ্ধতি নিম্নরূপ:
- একটি TBLWTL নির্দেশ ব্যবহার করে টেবিল লিখুন ল্যাচ-এ নতুন কনফিগারেশন মান লিখুন।
- একটি কনফিগারেশন রেজিস্টার লেখার জন্য NVMCON কনফিগার করুন (NVMCON = 0x4000)।
- NVMADRU এবং NVMADR রেজিস্টারে প্রোগ্রাম করার জন্য কনফিগারেশন রেজিস্টারের ঠিকানা লিখুন।
- যদি সক্রিয় থাকে তবে বাধা অক্ষম করুন।
- NVMKEY রেজিস্টারে কী ক্রমটি লিখুন।
- WR বিট (NVMCON[15]) সেট করে লেখার ক্রম শুরু করুন।
- প্রয়োজনে বাধাগুলি পুনরায় সক্ষম করুন।
Example 4-10 কোড ক্রম দেখায় যা একটি ডিভাইস কনফিগারেশন রেজিস্টার পরিবর্তন করতে ব্যবহার করা যেতে পারে।
ম্যাপ নিবন্ধন করুন
ফ্ল্যাশ প্রোগ্রামিং এর সাথে সম্পর্কিত রেজিস্টারগুলির একটি সারাংশ সারণি 5-1 এ দেওয়া হয়েছে।
এই বিভাগে ম্যানুয়ালটির এই বিভাগের সাথে সম্পর্কিত অ্যাপ্লিকেশন নোটগুলি তালিকাভুক্ত করা হয়েছে৷ এই অ্যাপ্লিকেশন নোটগুলি dsPIC33/PIC24 পণ্য পরিবারগুলির জন্য বিশেষভাবে লেখা নাও হতে পারে, তবে ধারণাগুলি প্রাসঙ্গিক এবং পরিবর্তন এবং সম্ভাব্য সীমাবদ্ধতার সাথে ব্যবহার করা যেতে পারে। ফ্ল্যাশ প্রোগ্রামিং সম্পর্কিত বর্তমান অ্যাপ্লিকেশন নোটগুলি হল:
দ্রষ্টব্য: অনুগ্রহ করে মাইক্রোচিপ দেখুন webসাইট (www.microchip.com) অতিরিক্ত অ্যাপ্লিকেশন নোট এবং কোড প্রাক্তন জন্যampডিভাইসের dsPIC33/PIC24 পরিবারের জন্য লেস।
পর্যালোচনার ইতিহাস
রিভিশন A (আগস্ট 2009)
এটি এই নথির প্রাথমিক প্রকাশিত সংস্করণ।
রিভিশন B (ফেব্রুয়ারি 2011)
এই পুনর্বিবেচনায় নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে:
- Exampলেস:
- অপসারিত প্রাক্তনample 5-3 এবং প্রাক্তনampলে 5-4
- আপডেট করা প্রাক্তনampলে 4-1, প্রাক্তনample 4-5 এবং প্রাক্তনampলে 4-10
- #WR-এর যেকোন রেফারেন্স প্রাক্তনে #15-এ আপডেট করা হয়েছেampলে 4-1, প্রাক্তনample 4-5 এবং প্রাক্তনampলে 4-8
- প্রাক্তন মধ্যে নিম্নলিখিত আপডেটampলে 4-3:
- "শব্দ প্রোগ্রামিং" শিরোনামটি "সারি প্রোগ্রামিংয়ের জন্য লিখার ল্যাচগুলি লোড হচ্ছে" এ আপডেট করা হয়েছে
- #ram_image-এর যেকোনো রেফারেন্স #0xFA-তে আপডেট করা হয়েছে
- যোগ করা হয়েছে প্রাক্তনampলে 4-4
- প্রাক্তন মধ্যে শিরোনাম আপডেটampলে 4-8
- নোট:
- বিভাগ 4.2 "ফ্ল্যাশ প্রোগ্রামিং অপারেশন" এ দুটি নোট যোগ করা হয়েছে
- অনুচ্ছেদ 4.5.2 “লোডিং রাইটিং ল্যাচস”-এ নোট আপডেট করা হয়েছে
- বিভাগ 4.6-এ তিনটি নোট যোগ করা হয়েছে "ডিভাইস কনফিগারেশন রেজিস্টারে লেখা"
- সারণি 1-5 এ নোট 1 যোগ করা হয়েছে
- নিবন্ধন:
- NVMOP[3:0]-এর জন্য বিট মান আপডেট করা হয়েছে: NVM অপারেশন ফ্ল্যাশ মেমরি কন্ট্রোল (NVMCON) রেজিস্টারে বিট নির্বাচন করুন (রেজিস্টার 3-1 দেখুন)
- বিভাগ:
- 5.2.1.4 "Write Word Mode" এবং 5.2.1.5 "Write Byte Mode" বিভাগগুলি সরানো হয়েছে
- আপডেট করা বিভাগ 3.0 "নিয়ন্ত্রণ রেজিস্টার"
- বিভাগ 4.5.5 “ওয়ার্ড প্রোগ্রামিং”-এ নিম্নলিখিত আপডেট করা হয়েছে:
- বিভাগের শিরোনাম "প্রোগ্রামিং ওয়ান ওয়ার্ড অফ ফ্ল্যাশ মেমরি" পরিবর্তন করে "ওয়ার্ড প্রোগ্রামিং" করা হয়েছে
- প্রথম অনুচ্ছেদ আপডেট করা হয়েছে
- দ্বিতীয় অনুচ্ছেদে "একটি শব্দ" শব্দগুলিকে "এক জোড়া শব্দ" এ পরিবর্তন করা হয়েছে
- বিভাগ 1 "কনফিগারেশন রেজিস্টার লিখুন অ্যালগরিদম" এ একটি নতুন ধাপ 4.6.1 যোগ করা হয়েছে
- টেবিল:
- আপডেট করা টেবিল 5-1
- প্রোগ্রাম মেমরির কয়েকটি রেফারেন্স ফ্ল্যাশ প্রোগ্রাম মেমরিতে আপডেট করা হয়েছিল
- অন্যান্য ছোটখাট আপডেট যেমন ভাষা এবং বিন্যাস আপডেটগুলি নথি জুড়ে অন্তর্ভুক্ত করা হয়েছিল
রিভিশন সি (জুন 2011)
এই পুনর্বিবেচনায় নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে:
- Exampলেস:
- আপডেট করা প্রাক্তনampলে 4-1
- আপডেট করা প্রাক্তনampলে 4-8
- নোট:
- বিভাগ 4.1 "RTSP অপারেশন" এ একটি নোট যোগ করা হয়েছে
- বিভাগ 3 "ফ্ল্যাশ প্রোগ্রামিং অপারেশন" এ নোট 4.2 যোগ করা হয়েছে
- বিভাগ 3 "RTSP প্রোগ্রামিং অ্যালগরিদম" এ নোট 4.2.1 যোগ করা হয়েছে
- বিভাগ 4.5.1 "ফ্ল্যাশের একটি পৃষ্ঠা মুছে ফেলা" এ একটি নোট যোগ করা হয়েছে
- বিভাগ 2 "লোড হচ্ছে লেখার ল্যাচ"-এ নোট 4.5.2 যোগ করা হয়েছে
- নিবন্ধন:
- ননভোলাটাইল মেমরি অ্যাড্রেস রেজিস্টারে বিট 15-0 এর জন্য বিট বিবরণ আপডেট করা হয়েছে (রেজিস্টার 3-3 দেখুন)
- বিভাগ:
- আপডেট করা বিভাগ 4.1 “RTSP অপারেশন”
- আপডেট করা বিভাগ 4.5.5 “ওয়ার্ড প্রোগ্রামিং”
- অন্যান্য ছোটখাট আপডেট যেমন ভাষা এবং বিন্যাস আপডেটগুলি নথি জুড়ে অন্তর্ভুক্ত করা হয়েছিল
সংশোধন D (ডিসেম্বর 2011)
এই পুনর্বিবেচনায় নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে:
- আপডেট করা বিভাগ 2.1.3 “টেবিল রাইটিং ল্যাচস”
- আপডেট করা বিভাগ 3.2 “NVMKEY রেজিস্টার”
- NVMCON-এ নোট আপডেট করা হয়েছে: ফ্ল্যাশ মেমরি কন্ট্রোল রেজিস্টার (রেজিস্টার 3-1 দেখুন)
- বিভাগ 4.0 জুড়ে ব্যাপক আপডেট করা হয়েছে "রান-টাইম স্ব-প্রোগ্রামিং (RTSP)"
- অন্যান্য ছোটখাট আপডেট যেমন ভাষা এবং বিন্যাস আপডেটগুলি নথি জুড়ে অন্তর্ভুক্ত করা হয়েছিল
রিভিশন E (অক্টোবর 2018)
এই পুনর্বিবেচনায় নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে:
- যোগ করা হয়েছে প্রাক্তনampলে 2-2, প্রাক্তনampলে 4-2, প্রাক্তনample 4-6 এবং প্রাক্তনampলে 4-9
- যোগ করা হয়েছে বিভাগ 4.5.4 "র্যাম বাফার ব্যবহার করে সারি প্রোগ্রামিং"
- আপডেট করা বিভাগ 1.0 “পরিচয়”, বিভাগ 3.3 “NVM ঠিকানা নিবন্ধন”, বিভাগ 4.0 “রান-টাইম স্ব-প্রোগ্রামিং (RTSP)” এবং বিভাগ 4.5.3 “একক সারি প্রোগ্রামিং এক্সampলে "
- আপডেটেড রেজিস্টার 3-1
- আপডেট করা প্রাক্তনampলে 4-7
- আপডেট করা টেবিল 5-1
রিভিশন F (নভেম্বর 2021)
যোগ করা হয়েছে বিভাগ 3.2.1 “বিঘ্ন নিষ্ক্রিয় করা”।
আপডেট করা প্রাক্তনampলে 3-1, প্রাক্তনampলে 4-1, প্রাক্তনampলে 4-2, প্রাক্তনampলে 4-5, প্রাক্তনampলে 4-6, প্রাক্তনampলে 4-7, প্রাক্তনampলে 4-8, প্রাক্তনample 4-9 এবং প্রাক্তনampলে 4-10।
আপডেট করা বিভাগ 3.2 “NVMKEY রেজিস্টার”, বিভাগ 4.5.1 “ফ্ল্যাশের একটি পৃষ্ঠা মুছে ফেলা”, বিভাগ 4.5.3 “একক সারি প্রোগ্রামিং এক্সample” এবং বিভাগ 4.6.1 “কনফিগারেশন রেজিস্টার লিখুন অ্যালগরিদম”।
মাইক্রোচিপ পণ্যগুলিতে কোড সুরক্ষা বৈশিষ্ট্যের নিম্নলিখিত বিবরণগুলি নোট করুন:
- মাইক্রোচিপ পণ্যগুলি তাদের নির্দিষ্ট মাইক্রোচিপ ডেটা শীটে থাকা বৈশিষ্ট্যগুলি পূরণ করে।
- মাইক্রোচিপ বিশ্বাস করে যে তার পণ্যের পরিবার নিরাপদ থাকে যখন উদ্দেশ্যমূলকভাবে, অপারেটিং স্পেসিফিকেশনের মধ্যে এবং স্বাভাবিক অবস্থায় ব্যবহার করা হয়।
- মাইক্রোচিপ মূল্যবোধ এবং আক্রমনাত্মকভাবে এর মেধা সম্পত্তি অধিকার রক্ষা করে। মাইক্রোচিপ পণ্যের কোড সুরক্ষা বৈশিষ্ট্য লঙ্ঘনের প্রচেষ্টা কঠোরভাবে নিষিদ্ধ এবং ডিজিটাল মিলেনিয়াম কপিরাইট আইন লঙ্ঘন করতে পারে।
- মাইক্রোচিপ বা অন্য কোন সেমিকন্ডাক্টর প্রস্তুতকারক এর কোডের নিরাপত্তার নিশ্চয়তা দিতে পারে না। কোড সুরক্ষার অর্থ এই নয় যে আমরা পণ্যটিকে "অবিচ্ছেদ" বলে গ্যারান্টি দিচ্ছি। কোড সুরক্ষা ক্রমাগত পরিবর্তিত হয়ে চলেছে। মাইক্রোচিপ আমাদের পণ্যগুলির কোড সুরক্ষা বৈশিষ্ট্যগুলি ক্রমাগত উন্নত করতে প্রতিশ্রুতিবদ্ধ
এই প্রকাশনা এবং এখানে থাকা তথ্যগুলি শুধুমাত্র মাইক্রোচিপ পণ্যগুলির সাথে ব্যবহার করা যেতে পারে, যার মধ্যে আপনার অ্যাপ্লিকেশনের সাথে মাইক্রোচিপ পণ্যগুলি ডিজাইন, পরীক্ষা এবং সংহত করা সহ। অন্য কোনো উপায়ে এই তথ্য ব্যবহার এই শর্তাবলী লঙ্ঘন. ডিভাইস অ্যাপ্লিকেশন সংক্রান্ত তথ্য শুধুমাত্র আপনার সুবিধার জন্য প্রদান করা হয় এবং আপডেট দ্বারা বাতিল করা হতে পারে। আপনার আবেদন আপনার স্পেসিফিকেশনের সাথে মেলে তা নিশ্চিত করা আপনার দায়িত্ব। অতিরিক্ত সহায়তার জন্য আপনার স্থানীয় মাইক্রোচিপ বিক্রয় অফিসে যোগাযোগ করুন বা অতিরিক্ত সহায়তা পান এখানে https://www.microchip.com/en-us/support/design-help/client-supportservices.
এই তথ্যটি মাইক্রোচিপ "যেমন আছে" দ্বারা সরবরাহ করা হয়েছে৷ মাইক্রোচিপ এক্সপ্রেস বা নিহিত, লিখিত বা মৌখিক, বিধিবদ্ধ বা অন্যথায় কোনও প্রকারের কোনও উপস্থাপনা বা ওয়্যারেন্টি দেয় না, তথ্যের সাথে সম্পর্কিত তবে কোনও নির্দিষ্ট উদ্দেশ্যে নন -ইনফ্রিজমেন্ট, বণিকযোগ্যতা এবং ফিটনেসের সাথে সীমাবদ্ধ নয় এমন তথ্যের সাথে সম্পর্কিত, বা সম্পর্কিত সম্পর্কিত ওয়্যারেন্টি সম্পর্কিত কোনও তথ্য সম্পর্কিত ওয়ারেন্টি, বা সম্পর্কিত ওয়ারেন্টি সম্পর্কিত এর শর্ত, গুণমান বা কর্মক্ষমতা। কোনো অবস্থাতেই মাইক্রোচিপ কোনো পরোক্ষ, বিশেষ, শাস্তিমূলক, আকস্মিক, বা ফলস্বরূপ ক্ষতি, ক্ষয়ক্ষতি, খরচ বা যেকোনো ধরনের খরচের জন্য দায়ী থাকবে না সম্ভাবনা বা ক্ষয়ক্ষতি পূর্বাভাসযোগ্য। আইন দ্বারা অনুমোদিত সম্পূর্ণ সীমা পর্যন্ত, তথ্য বা এর ব্যবহারের সাথে সম্পর্কিত যেকোন উপায়ে সমস্ত দাবির উপর মাইক্রোচিপের সম্পূর্ণ দায়বদ্ধতা আপনার অর্থের অতিরিক্ত অর্থ প্রদানের পরিমাণের বেশি হবে না।
লাইফ সাপোর্ট এবং/অথবা সুরক্ষা অ্যাপ্লিকেশনগুলিতে মাইক্রোচিপ ডিভাইসগুলির ব্যবহার সম্পূর্ণরূপে ক্রেতার ঝুঁকিতে, এবং ক্রেতা এই ধরনের ব্যবহারের ফলে যেকোনও এবং সমস্ত ক্ষতি, দাবি, মামলা বা খরচ থেকে রক্ষা, ক্ষতিপূরণ এবং ক্ষতিহীন মাইক্রোচিপ রাখতে সম্মত হন। মাইক্রোচিপ বৌদ্ধিক সম্পত্তির অধিকারের অধীনে কোনো লাইসেন্স, পরোক্ষভাবে বা অন্যথায় জানানো হয় না যদি না অন্যথায় বলা হয়।
মাইক্রোচিপের কোয়ালিটি ম্যানেজমেন্ট সিস্টেম সম্পর্কিত তথ্যের জন্য, অনুগ্রহ করে দেখুন www.microchip.com/quality.
ট্রেডমার্ক
মাইক্রোচিপের নাম এবং লোগো, মাইক্রোচিপ লোগো, অ্যাডাপ্টেক, অ্যানিরেট, AVR, AVR লোগো, AVR ফ্রিকস, বেসটাইম, বিটক্লাউড, ক্রিপ্টোমেমোরি, ক্রিপ্টোআরএফ, ডিএসপিআইসি, ফ্লেক্সপিডব্লিউআর, হেলডো, ইগ্লু, জুকব্লক্স, লিংকলক্স, লিংকলএক্স, লিংকলক্স, মাএক্সেল, ক্লাইক, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi লোগো, MOST, MOST লোগো, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 লোগো, PolarFire, Prochip ডিজাইনার, QTouch, SAM-BA, SenGenuity, SpyST, SFNST, SFNIC , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, এবং XMEGA হল মার্কিন যুক্তরাষ্ট্র এবং অন্যান্য দেশে মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেডের নিবন্ধিত ট্রেডমার্ক। AgileSwitch, APT, ClockWorks, দ্য এমবেডেড কন্ট্রোল সলিউশন কোম্পানি, EtherSynch, Flashtec, হাইপার স্পিড কন্ট্রোল, হাইপারলাইট লোড, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC প্লাস, Qurego, প্রোএএসআইসি প্লাস SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath, এবং ZL হল মার্কিন যুক্তরাষ্ট্রে নিযুক্ত মাইক্রোচিপ প্রযুক্তির নিবন্ধিত ট্রেডমার্ক
সংলগ্ন কী দমন, AKS, এনালগ-ফর-দ্য-ডিজিটাল বয়স, যেকোনো ক্যাপাসিটর, যেকোনো ইন, যেকোনো আউট, অগমেন্টেড সুইচিং, ব্লুস্কাই, বডিকম, কোডগার্ড, ক্রিপ্টো প্রমাণীকরণ, ক্রিপ্টোঅটোমোটিভ, ক্রিপ্টোকম্পানিয়ন, ডিএএমপিআইএম, ডিএএমপিআইএম, ডিএএমপিআইএম, সিডিপিআইএম, সিডিপিআইএম ট্র্যাকিং নেট , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, ইন্টেলিজেন্ট প্যারালিলিং, ইন্টার-চিপ কানেক্টিভিটি, 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, PureSmart, QMatrix , 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 VariSense, VectorBlox, VeriPHY, Viewস্প্যান, ওয়াইপারলক, এক্সপ্রেস কানেক্ট, এবং জেএনএ হল মার্কিন যুক্তরাষ্ট্র এবং অন্যান্য দেশে সংযুক্ত মাইক্রোচিপ প্রযুক্তির ট্রেডমার্ক।
SQTP হল মার্কিন যুক্তরাষ্ট্রে নিযুক্ত মাইক্রোচিপ প্রযুক্তির একটি পরিষেবা চিহ্ন
অ্যাডাপ্টেক লোগো, ফ্রিকোয়েন্সি অন ডিমান্ড, সিলিকন স্টোরেজ টেকনোলজি, সিমকম, এবং ট্রাস্টেড টাইম অন্যান্য দেশে মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেডের নিবন্ধিত ট্রেডমার্ক।
GestIC হল মাইক্রোচিপ টেকনোলজি জার্মানি II GmbH & Co. KG-এর একটি নিবন্ধিত ট্রেডমার্ক, অন্যান্য দেশে মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেডের একটি সহযোগী প্রতিষ্ঠান।
এখানে উল্লিখিত অন্যান্য সমস্ত ট্রেডমার্ক তাদের নিজ নিজ কোম্পানির সম্পত্তি.
© 2009-2021, মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেড এবং এর সহযোগী সংস্থাগুলি।
সর্বস্বত্ব সংরক্ষিত।
ISBN: 978-1-5224-9314-3
বিশ্বব্যাপী বিক্রয় এবং পরিষেবা
আমেরিকা
- কর্পোরেট অফিস
2355 West Chandler Blvd.
চ্যান্ডলার, AZ 85224-6199
টেলিফোন: 480-792-7200
ফ্যাক্স: 480-792-7277
প্রযুক্তিগত সহায়তা: http://www.microchip.com/
সমর্থন Web ঠিকানা: www.microchip.com - আটলান্টা
ডুলুথ, জিএ
টেলিফোন: 678-957-9614
ফ্যাক্স: 678-957-1455 - অস্টিন, TX
টেলিফোন: 512-257-3370 - বোস্টন
ওয়েস্টবরো, এমএ
টেলিফোন: 774-760-0087
ফ্যাক্স: 774-760-0088 - শিকাগো
ইটাস্কা, আইএল
টেলিফোন: 630-285-0071
ফ্যাক্স: 630-285-0075 - ডালাস
অ্যাডিসন, TX
টেলিফোন: 972-818-7423
ফ্যাক্স: 972-818-2924 - ডেট্রয়েট
নোভি, এমআই
টেলিফোন: 248-848-4000 - হিউস্টন, TX
টেলিফোন: 281-894-5983 - ইন্ডিয়ানাপলিস
Noblesville, IN
টেলিফোন: 317-773-8323
ফ্যাক্স: 317-773-5453
টেলিফোন: 317-536-2380 - লস এঞ্জেলেস
মিশন ভিজো, CA
টেলিফোন: 949-462-9523
ফ্যাক্স: 949-462-9608
টেলিফোন: 951-273-7800 - রেলি, এনসি
টেলিফোন: 919-844-7510 - নিউ ইয়র্ক, এনওয়াই
টেলিফোন: 631-435-6000 - সান জোসে, CA
টেলিফোন: 408-735-9110
টেলিফোন: 408-436-4270 - কানাডা - টরন্টো
টেলিফোন: 905-695-1980
ফ্যাক্স: 905-695-2078
এশিয়া/প্যাসিফিক
- অস্ট্রেলিয়া - সিডনি
টেলিফোন: 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
টেলিফোন: 852-2943-5100 - চীন - নানজিং
টেলিফোন: 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 - চীন - জিয়ামেন
টেলিফোন: 86-592-2388138 - চীন - ঝুহাই
টেলিফোন: 86-756-3210040 - ভারত - ব্যাঙ্গালোর
টেলিফোন: 91-80-3090-4444 - ভারত - নয়াদিল্লি
টেলিফোন: 91-11-4160-8631 - ভারত - পুনে
টেলিফোন: 91-20-4121-0141 - জাপান - ওসাকা
টেলিফোন: 81-6-6152-7160 - জাপান - টোকিও
টেলিফোন: 81-3-6880- 3770 - কোরিয়া - ডেগু
টেলিফোন: 82-53-744-4301 - কোরিয়া - সিউল
টেলিফোন: 82-2-554-7200 - মালয়েশিয়া - কুয়ালালামপুর
টেলিফোন: 60-3-7651-7906 - মালয়েশিয়া - পেনাং
টেলিফোন: 60-4-227-8870 - ফিলিপাইন - ম্যানিলা
টেলিফোন: 63-2-634-9065 - সিঙ্গাপুর
টেলিফোন: 65-6334-8870 - তাইওয়ান - সিন চু
টেলিফোন: 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 - ডেনমার্ক-কোপেনহেগেন
টেলিফোন: 45-4485-5910
ফ্যাক্স: 45-4485-2829 - ফিনল্যান্ড - এসপু
টেলিফোন: 358-9-4520-820 - ফ্রান্স - প্যারিস
টেলিফোন: 33-1-69-53-63-20
ফ্যাক্স: 33-1-69-30-90-79 - জার্মানি - গার্চিং
টেলিফোন: 49-8931-9700 - জার্মানি - হান
টেলিফোন: 49-2129-3766400 - জার্মানি - হেইলব্রন
টেলিফোন: 49-7131-72400 - জার্মানি - কার্লসরুহে
টেলিফোন: 49-721-625370 - জার্মানি - মিউনিখ
টেলিফোন: 49-89-627-144-0
ফ্যাক্স: 49-89-627-144-44 - জার্মানি - রোজেনহেইম
টেলিফোন: 49-8031-354-560 - ইতালি - মিলান
টেলিফোন: 39-0331-742611
ফ্যাক্স: 39-0331-466781 - ইতালি - পাডোভা
টেলিফোন: 39-049-7625286 - নেদারল্যান্ডস - ড্রুনেন
টেলিফোন: 31-416-690399
ফ্যাক্স: 31-416-690340 - নরওয়ে - ট্রনহাইম
টেলিফোন: 47-7288-4388 - পোল্যান্ড - ওয়ারশ
টেলিফোন: 48-22-3325737 - রোমানিয়া - বুখারেস্ট
টেলিফোন: 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 ফ্ল্যাশ প্রোগ্রামিং [পিডিএফ] ব্যবহারকারীর নির্দেশিকা PIC24 ফ্ল্যাশ প্রোগ্রামিং, PIC24, ফ্ল্যাশ প্রোগ্রামিং, প্রোগ্রামিং |
![]() |
মাইক্রোচিপ PIC24 ফ্ল্যাশ প্রোগ্রামিং [পিডিএফ] ব্যবহারকারীর নির্দেশিকা PIC24 ফ্ল্যাশ প্রোগ্রামিং, PIC24, ফ্ল্যাশ প্রোগ্রামিং |