আজকাল, ফ্ল্যাশ মেমরিটি প্রোগ্রাম কোড ধরে রাখতে ব্যবহৃত হয়, এবং ধ্রুবক ডেটা ধরে রাখতে EEPROM (বৈদ্যুতিকভাবে ক্ষয়যোগ্য পঠনযোগ্য মেমরি) ব্যবহৃত হয়। প্রায় 30 বছর আগে, ফ্ল্যাশ বরাবর আসার আগে, EEPROM গুলি প্রোগ্রাম কোড ধরে রাখতে ব্যবহৃত হত।
বাস্তবে রম (কেবল পঠনযোগ্য মেমরি) প্রথমে আসে, তারপরে প্রোম (প্রোগ্রামেবল রম, কেবল একবার), ইপ্রোম (ইউভি আলোর সাথে প্রম ইরেজেবল), ইপ্রোম এবং শেষ পর্যন্ত ফ্ল্যাশ আসে। রমগুলি এখনও খুব উচ্চ-ভলিউম, কম দামের অ্যাপ্লিকেশনগুলির জন্য ব্যবহৃত হয় (যেমন টক গ্রিটিং কার্ডগুলির জন্য)।
বর্তমানের মাইক্রোকন্ট্রোলারগুলির সাথে গুরুত্বপূর্ণ পার্থক্যটি হ'ল আপনি সাধারণত EEPROM এর বাইরে কোড সম্পাদন করতে পারবেন না এবং প্রোগ্রামগুলি ফ্ল্যাশ-এ ডেটা সংরক্ষণ করার জন্য উদ্ভট। (উদাহরণস্বরূপ আপনি যখন কোনও ডেটা ঘোষণায় "কনস্ট" কীওয়ার্ডটি ব্যবহার করেন বা স্ট্রিং সংজ্ঞায়িত করেন তবে ডেটা ফ্ল্যাশে সংরক্ষণ করা হয় তবে এটি সংকলক এবং লিঙ্কার দ্বারা পর্দার আড়ালে পরিচালিত হয়))
EEPROM অঞ্চলটি কনফিগারেশন বা অন্য ডেটা ধরে রাখতে ব্যবহার করা যেতে পারে যা আপনি মাইক্রোকন্ট্রোলারটির শক্তি হারিয়ে ফেলেছে এবং তারপরে ব্যাক আপ চালিত হয় সেগুলি সহ রিবুটগুলি জুড়ে আপনি উপলব্ধ থাকতে চান। কার্যকরীভাবে, আপনি EEPROM কে খুব ছোট হার্ড ড্রাইভ বা এসডি কার্ড হিসাবে ভাবতে পারেন।
EEPROM ব্যতীত মাইক্রোকন্ট্রোলারগুলিতে, ফ্ল্যাশ মেমরির মধ্যে ধ্রুবক ডেটা সংরক্ষণ করা সম্ভব হয় তবে এটি কঠিন হয়ে যায় কারণ মাইক্রোকন্ট্রোলাররা এটির জন্য সত্যই নকশা করা হয়নি, এবং আপনাকে একটি বিশেষ স্পট সন্ধান করতে হবে যা প্রোগ্রাম কোডের সাথে হস্তক্ষেপ করবে না এবং এটিকে আলাদা করে রাখবে this লিঙ্কার সহ। এছাড়াও নীচে উল্লিখিত হিসাবে, আপনি সাধারণত ফ্ল্যাশ থেকে অনেকগুণ EEPROM আপডেট করতে পারেন।
আপনি যদি ফ্ল্যাশে প্রোগ্রামের ডেটা করেন তবে এর অর্থ এই নয় যে আপনি আপনার সি প্রোগ্রামে ভেরিয়েবল হিসাবে ডেটা অ্যাক্সেস করতে পারবেন, কারণ এই কোডগুলি যেখানে আপনার কোডগুলিতে রয়েছে সেই সংকলকটি বলার কোনও উপায় নেই (যেমন আপনি কোনও কনস্টকে আবদ্ধ করতে পারবেন না) ফ্ল্যাশ এই অঞ্চলে পরিবর্তনশীল।) সুতরাং সেগুলি পড়ার জন্য তাদের লেখার জন্য ব্যবহৃত রেজিস্টারগুলির একটি বিশেষ সেটের মাধ্যমে পড়তে হবে। নোট করুন এই সীমাবদ্ধতা EEPROM এর ডেটাতেও প্রযোজ্য, তাই এ ক্ষেত্রে এটির কোনও সুবিধা নেই।
ফ্ল্যাশ বা EEPROM হয় প্রোগ্রাম করার জন্য, প্রথমে মেমরির একটি ব্লক মুছতে হবে। তারপর এটি প্রোগ্রাম করা হয়। ফ্ল্যাশ জন্য, লিখন সাধারণত একটি সময়ে একটি ব্লক করা হয়। EEPROM- এর জন্য, এটি মাইক্রোকন্ট্রোলারের উপর নির্ভর করে একসাথে ব্লক বা বাইট দ্বারা করা যেতে পারে।
ফ্ল্যাশ এবং ইপ্রোম উভয়ের জন্যই, মেমরিটি পরিধান করার আগে আপনি তাদের সর্বোচ্চ আপডেট করতে পারবেন number এই সংখ্যাটি ন্যূনতম গ্যারান্টিযুক্ত মান হিসাবে ডেটাশিটে দেওয়া হয়। এটি সাধারণত ফ্ল্যাশ মেমরির চেয়ে EEPROM এর পক্ষে অনেক বেশি। ফ্ল্যাশের জন্য, আমি সংখ্যাগুলি 1000 এর চেয়ে কম দেখতে পেয়েছি E EEPROM- এর জন্য, আমি সংখ্যাগুলি 1,000,000 হিসাবেও বেশি দেখেছি।
ফ্ল্যাশ দিয়ে EEPROMs এর একটি সুবিধা হ'ল আপনি ফ্ল্যাশ মুছতে পারেন তার চেয়ে অনেক বেশি বার এগুলি মুছতে পারেন।
"ইন-সিস্টেম স্ব-প্রোগ্রামেবল" এর সহজ অর্থ মাইক্রোকন্ট্রোলার চলার সময় নিজস্ব ফ্ল্যাশ আপডেট করতে পারে। বৈশিষ্ট্যটি সাধারণত ক্ষেত্রের আপডেটেড কোডে ব্যবহৃত হয়। কৌশলটি হ'ল মূল প্রোগ্রামটি আপডেট হওয়ার সময় আপনাকে সিস্টেমে কিছু কোড রেখে যেতে হবে, এটি বুটলোডার বলে। এই স্কিমটি চিপ প্রোগ্রাম করার জন্য আরডুইনো সিস্টেমে ব্যবহৃত হয়।