ফ্ল্যাশ এবং ইপ্রোম


14

আতমেগা 16 ডেটাশিট বলে যে এটি আছে

ক) ইন-সিস্টেমে 16 কেবাইটস স্ব-প্রোগ্রামেবল ফ্ল্যাশ প্রোগ্রাম মেমরি এবং খ) 512 বাইটস ইপ্রোম।

কোনও মাইক্রোকন্টোলারের কাছে দুটি পৃথক আরওএম থাকতে পারে যা EEPROM প্রযুক্তি এবং ফ্ল্যাশ প্রযুক্তির মাধ্যমে প্রোগ্রাম করা যায়?

বা ডেটাশিট থেকে আমার অনুমান (উপরে দেওয়া হিসাবে) ভুল?

আমি জানি যে আমাদের প্রোগ্রামটি ফ্ল্যাশ মেমরিতে সঞ্চয় করা আছে কেন কারও ইপপ্রমের প্রয়োজন হবে? আমাদের যদি প্রোগ্রামটির জন্য ফ্ল্যাশ মেমরি থাকে তবে এর ব্যবহার কী?

এছাড়াও "ইন-সিস্টেম স্ব-প্রোগ্রামেবল" শব্দটি কি কেউ ব্যাখ্যা করতে পারে

আমি কী জানি: ফ্ল্যাশ প্রযুক্তি ডেটা ব্লকে প্রোগ্রাম লিখতে পারে যেখানে EEPROM বাইট বাই ডেটা বাইট লিখতে পারে।

উত্তর:


22

আজকাল, ফ্ল্যাশ মেমরিটি প্রোগ্রাম কোড ধরে রাখতে ব্যবহৃত হয়, এবং ধ্রুবক ডেটা ধরে রাখতে EEPROM (বৈদ্যুতিকভাবে ক্ষয়যোগ্য পঠনযোগ্য মেমরি) ব্যবহৃত হয়। প্রায় 30 বছর আগে, ফ্ল্যাশ বরাবর আসার আগে, EEPROM গুলি প্রোগ্রাম কোড ধরে রাখতে ব্যবহৃত হত।

বাস্তবে রম (কেবল পঠনযোগ্য মেমরি) প্রথমে আসে, তারপরে প্রোম (প্রোগ্রামেবল রম, কেবল একবার), ইপ্রোম (ইউভি আলোর সাথে প্রম ইরেজেবল), ইপ্রোম এবং শেষ পর্যন্ত ফ্ল্যাশ আসে। রমগুলি এখনও খুব উচ্চ-ভলিউম, কম দামের অ্যাপ্লিকেশনগুলির জন্য ব্যবহৃত হয় (যেমন টক গ্রিটিং কার্ডগুলির জন্য)।

বর্তমানের মাইক্রোকন্ট্রোলারগুলির সাথে গুরুত্বপূর্ণ পার্থক্যটি হ'ল আপনি সাধারণত EEPROM এর বাইরে কোড সম্পাদন করতে পারবেন না এবং প্রোগ্রামগুলি ফ্ল্যাশ-এ ডেটা সংরক্ষণ করার জন্য উদ্ভট। (উদাহরণস্বরূপ আপনি যখন কোনও ডেটা ঘোষণায় "কনস্ট" কীওয়ার্ডটি ব্যবহার করেন বা স্ট্রিং সংজ্ঞায়িত করেন তবে ডেটা ফ্ল্যাশে সংরক্ষণ করা হয় তবে এটি সংকলক এবং লিঙ্কার দ্বারা পর্দার আড়ালে পরিচালিত হয়))

EEPROM অঞ্চলটি কনফিগারেশন বা অন্য ডেটা ধরে রাখতে ব্যবহার করা যেতে পারে যা আপনি মাইক্রোকন্ট্রোলারটির শক্তি হারিয়ে ফেলেছে এবং তারপরে ব্যাক আপ চালিত হয় সেগুলি সহ রিবুটগুলি জুড়ে আপনি উপলব্ধ থাকতে চান। কার্যকরীভাবে, আপনি EEPROM কে খুব ছোট হার্ড ড্রাইভ বা এসডি কার্ড হিসাবে ভাবতে পারেন।

EEPROM ব্যতীত মাইক্রোকন্ট্রোলারগুলিতে, ফ্ল্যাশ মেমরির মধ্যে ধ্রুবক ডেটা সংরক্ষণ করা সম্ভব হয় তবে এটি কঠিন হয়ে যায় কারণ মাইক্রোকন্ট্রোলাররা এটির জন্য সত্যই নকশা করা হয়নি, এবং আপনাকে একটি বিশেষ স্পট সন্ধান করতে হবে যা প্রোগ্রাম কোডের সাথে হস্তক্ষেপ করবে না এবং এটিকে আলাদা করে রাখবে this লিঙ্কার সহ। এছাড়াও নীচে উল্লিখিত হিসাবে, আপনি সাধারণত ফ্ল্যাশ থেকে অনেকগুণ EEPROM আপডেট করতে পারেন।

আপনি যদি ফ্ল্যাশে প্রোগ্রামের ডেটা করেন তবে এর অর্থ এই নয় যে আপনি আপনার সি প্রোগ্রামে ভেরিয়েবল হিসাবে ডেটা অ্যাক্সেস করতে পারবেন, কারণ এই কোডগুলি যেখানে আপনার কোডগুলিতে রয়েছে সেই সংকলকটি বলার কোনও উপায় নেই (যেমন আপনি কোনও কনস্টকে আবদ্ধ করতে পারবেন না) ফ্ল্যাশ এই অঞ্চলে পরিবর্তনশীল।) সুতরাং সেগুলি পড়ার জন্য তাদের লেখার জন্য ব্যবহৃত রেজিস্টারগুলির একটি বিশেষ সেটের মাধ্যমে পড়তে হবে। নোট করুন এই সীমাবদ্ধতা EEPROM এর ডেটাতেও প্রযোজ্য, তাই এ ক্ষেত্রে এটির কোনও সুবিধা নেই।

ফ্ল্যাশ বা EEPROM হয় প্রোগ্রাম করার জন্য, প্রথমে মেমরির একটি ব্লক মুছতে হবে। তারপর এটি প্রোগ্রাম করা হয়। ফ্ল্যাশ জন্য, লিখন সাধারণত একটি সময়ে একটি ব্লক করা হয়। EEPROM- এর জন্য, এটি মাইক্রোকন্ট্রোলারের উপর নির্ভর করে একসাথে ব্লক বা বাইট দ্বারা করা যেতে পারে।

ফ্ল্যাশ এবং ইপ্রোম উভয়ের জন্যই, মেমরিটি পরিধান করার আগে আপনি তাদের সর্বোচ্চ আপডেট করতে পারবেন number এই সংখ্যাটি ন্যূনতম গ্যারান্টিযুক্ত মান হিসাবে ডেটাশিটে দেওয়া হয়। এটি সাধারণত ফ্ল্যাশ মেমরির চেয়ে EEPROM এর পক্ষে অনেক বেশি। ফ্ল্যাশের জন্য, আমি সংখ্যাগুলি 1000 এর চেয়ে কম দেখতে পেয়েছি E EEPROM- এর জন্য, আমি সংখ্যাগুলি 1,000,000 হিসাবেও বেশি দেখেছি।

ফ্ল্যাশ দিয়ে EEPROMs এর একটি সুবিধা হ'ল আপনি ফ্ল্যাশ মুছতে পারেন তার চেয়ে অনেক বেশি বার এগুলি মুছতে পারেন।

"ইন-সিস্টেম স্ব-প্রোগ্রামেবল" এর সহজ অর্থ মাইক্রোকন্ট্রোলার চলার সময় নিজস্ব ফ্ল্যাশ আপডেট করতে পারে। বৈশিষ্ট্যটি সাধারণত ক্ষেত্রের আপডেটেড কোডে ব্যবহৃত হয়। কৌশলটি হ'ল মূল প্রোগ্রামটি আপডেট হওয়ার সময় আপনাকে সিস্টেমে কিছু কোড রেখে যেতে হবে, এটি বুটলোডার বলে। এই স্কিমটি চিপ প্রোগ্রাম করার জন্য আরডুইনো সিস্টেমে ব্যবহৃত হয়।


স্যার আপনার প্রতিক্রিয়া জন্য আপনাকে ধন্যবাদ। সুতরাং EEPROM এর ভিতরে ডেটা প্রবেশের জন্য আমার ফ্ল্যাশ মেমরির ভিতরে প্রোগ্রামটি ডাম্প করার জন্য একটি ইউএসবিএসপি প্রোগ্রামারের মতো একটি ইপ্রোম প্রোগ্রামার প্রয়োজন হবে? আমি কি ঠিক স্যার?
জেসার

1
@ জাসার না, আপনার কোনও বাহ্যিক প্রোগ্রামার লাগবে না। আপনি আপনার প্রোগ্রামের মধ্যে থেকে EEPROM অ্যাক্সেস করতে পারবেন। এটিমেগায় রীতিমতো এক সেট রেজিস্ট্রি থাকবে যা তাদের লিখিতভাবে আপনাকে EEPROM আপডেট করার অনুমতি দেবে। EEPROM পড়ার জন্য আপনাকে এই রেজিস্টারগুলিও ব্যবহার করতে হবে, কারণ এটি সাধারণ ঠিকানা মানচিত্রে প্রদর্শিত হবে না। EEPROM কীভাবে মুছে ফেলতে হবে, লিখতে হবে এবং পড়তে হবে সে সম্পর্কে তথ্যটি চিপের জন্য ডেটাশিটে থাকবে।
tcrosley

যেহেতু আমরা মাইক্রোকন্ট্রোলারের ভিতরে EEPROM থেকে লিখতে বা পড়তে পারি মাইক্রোকন্ট্রোলারের EEPROM এর মধ্যে ডেটা সংরক্ষণ করার জন্য একটি সার্কিটারি থাকা উচিত এবং এটি EEPROM প্রোগ্রামারের মতো হওয়া উচিত। এটি আবার আমাকে অন্য প্রশ্নের দিকে নিয়ে যায় যেহেতু EEPROM প্রায় 100,000 বার পারা যায় তার চেয়ে আমরা রেজিস্টরের মাধ্যমে EEPROM এর মধ্যে ডেটা সংরক্ষণ করতে সক্ষম না হতে পারি। এই বিবৃতি অর্থবহ? @tcrosley
Jasser

1
@ যাসের সঠিক, আপনি EEPROM আপডেট করতে পারবেন এমন একটি সীমা রয়েছে। আপনি ফ্ল্যাশ আপডেট করতে পারার সংখ্যাটির তুলনায় এটি সাধারণত অনেক বেশি (মাঝে মাঝে আরও বেশি মাত্রার অর্ডার) থাকে। আমার উত্তরটি আমার উল্লেখ করা উচিত ছিল এবং এটি আপডেট করব। আপনার উদ্ধৃত নম্বরটি চিপ নির্মাতার দ্বারা সর্বনিম্ন গ্যারান্টিযুক্ত; আমি একবারে একটি চিপ দিয়ে পরীক্ষা করেছিলাম যা 100,000 লেখার জন্য নির্দিষ্ট করা হয়েছিল এবং কোনও ত্রুটি সনাক্ত হওয়ার আগে এটি 500,000 এরও বেশি ভাল গিয়েছিল।
tcrosley

1
@ জাসার হ্যাঁ, ফ্ল্যাশটিতে ডেটা সেট আপ করা একটু বেশি কঠিন is এছাড়াও, আমার উত্তরে আমার আপডেটে আলোচিত হিসাবে, আপনি ফ্ল্যাশটির চেয়ে অনেক বেশি বেশি (সাধারণত 10x) EEPROM মুছতে এবং পুনরায় প্রোগ্রাম করতে পারেন।
tcrosley

4

আমি @ টক্রোসলে দ্বারা উত্তরের উত্তরে আরও কিছু তথ্য যুক্ত করব।

এটিমেগ 16 একটি হার্ভার্ড আর্কিটেকচার প্রয়োগ করে , অর্থাৎ একটি সিস্টেম টপোলজি যেখানে ডেটা মেমরিটি প্রোগ্রামের মেমরি থেকে পৃথক করা হয়। আতমেগা 16 ডেটাশিট (পৃষ্ঠা 8) থেকে প্রাসঙ্গিক অনুচ্ছেদের উদ্ধৃতি :

কর্মক্ষমতা এবং সমান্তরালতা সর্বাধিক করার জন্য, এভিআর একটি হার্ভার্ড আর্কিটেকচার ব্যবহার করে - প্রোগ্রাম এবং ডেটার জন্য পৃথক স্মৃতি এবং বাস সহ। প্রোগ্রাম মেমরির নির্দেশাবলী একক স্তরের পাইপলাইনের সাহায্যে কার্যকর করা হয়। যখন একটি নির্দেশ কার্যকর করা হচ্ছে, পরবর্তী নির্দেশনাটি প্রোগ্রামের মেমোরি থেকে প্রাক-প্রাপ্ত fet এই ধারণাটি প্রতিটি ঘড়ির চক্রের মধ্যে নির্দেশাবলী কার্যকর করতে সক্ষম করে। প্রোগ্রামের মেমরিটি হ'ল ইন-সিস্টেম পুনরায় প্রোগ্রামযোগ্য ফ্ল্যাশ মেমরি।

আপনার প্রচলিত পিসি আর্কিটেকচারের মতো ডেটা এবং নির্দেশাবলী একই বাস ভাগ করে না দেওয়ার কারণে হার্ভার্ড আর্কিটেকচারের নির্দেশনা আনার চক্র এবং ডেটা অ্যাক্সেস চক্রের মধ্যে কোনও বাসে ঝগড়া না থাকার সুবিধা রয়েছে।

সুতরাং ফ্ল্যাশ মেমরিটি প্রোগ্রাম মেমোরি হিসাবে ব্যবহৃত হয়, যেখানে ডেটা মেমরিটি এসআরএএম (অস্থায়ী ডেটার জন্য যেমন ফাংশন কল স্ট্যাক এবং হিপ - যদি আপনি সি তে প্রোগ্রামিং করছেন) এবং EEPROM (স্থায়ী সঞ্চয়স্থানের জন্য) এর মধ্যে বিভক্ত হয় ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.