সুচিপত্র:

AVR মাইক্রোকন্ট্রোলার প্রোগ্রামিং এর জন্য এক্সট্রিম বার্নার ব্যবহার করা: 8 টি ধাপ
AVR মাইক্রোকন্ট্রোলার প্রোগ্রামিং এর জন্য এক্সট্রিম বার্নার ব্যবহার করা: 8 টি ধাপ

ভিডিও: AVR মাইক্রোকন্ট্রোলার প্রোগ্রামিং এর জন্য এক্সট্রিম বার্নার ব্যবহার করা: 8 টি ধাপ

ভিডিও: AVR মাইক্রোকন্ট্রোলার প্রোগ্রামিং এর জন্য এক্সট্রিম বার্নার ব্যবহার করা: 8 টি ধাপ
ভিডিও: মাইক্রোকন্ট্রোলার সম্পূর্ন কোর্স এক ভিডিওতে Microcontroller Full Course in Bangla Tutorial 2024, জুলাই
Anonim
AVR মাইক্রোকন্ট্রোলার প্রোগ্রামিং এর জন্য এক্সট্রিম বার্নার ব্যবহার করা
AVR মাইক্রোকন্ট্রোলার প্রোগ্রামিং এর জন্য এক্সট্রিম বার্নার ব্যবহার করা

আপনারা সবাই AVR ব্যবহারকারী ভ্রাতৃত্ব, এবং যারা শুধু স্ট্রীমে প্রবেশ করছেন, আপনারা কেউ PIC মাইক্রোকন্ট্রোলার দিয়ে শুরু করেছেন এবং কেউ ATMEL AVR দিয়ে শুরু করেছেন, এটি আপনার জন্য লেখা!

সুতরাং আপনি একটি ইউএসবিএএসপি কিনেছেন কারণ এটি আপনার এটমেগা ডিভাইসে রম ফ্ল্যাশ করার জন্য সস্তা এবং কার্যকর, অথবা সম্ভবত ATTINY পরিসীমা। ওপেন সোর্স ইউএসবি-এএসপির চীনা ক্লোন হিসেবে এগুলো ৫ ডলারের নিচে পাওয়া যাবে! AVRdude তাদের প্রোগ্রাম করার সফটওয়্যার।

আপনি নি knowসন্দেহে জানেন কিভাবে Atmel Studio ব্যবহার করে একটি Hex ফাইল তৈরি করতে হয় । এবং পরবর্তী সংস্করণগুলি আপনার ল্যাপটপকে কচ্ছপের মতো চালানোর জন্য ডিজাইন করা হয়েছে! আপনি AVR মাইক্রোকন্ট্রোলারগুলির জন্য ATMEL থেকে স্টুডিও v4.19 এর সর্বশ্রেষ্ঠ সংস্করণ ব্যবহার করতে পারেন, যখন পরবর্তী চিপগুলির জন্য আপনার সত্যিই প্রয়োজন হয় তখন সংস্করণ 7 তে স্যুইচ করুন এবং ল্যাপটপে আপনার সময়কে আরও উত্পাদনশীল করে তুলুন, অপেক্ষা করার পরিবর্তে কাজ করুন! এই আমি কি সুপারিশ।

একটি হেক্স ফাইল সহ একটি Atmega প্রোগ্রাম করার জন্য একটি সাধারণ AVR ডুড কমান্ড লাইন, এইভাবে চলে:

ফ্ল্যাশ লিখুন: AVRdude -s -c avrisp -p t44 -P usb -U "ফ্ল্যাশ: w: D: / ARDUINO / pwmeg1.hex: a"

এখানে pwmeg1.hex ইন্টেল হেক্স ফাইলটি মাইক্রোকন্ট্রোলার লিঙ্গোতে "টার্গেট এমসিইউ" তে "বার্ন" বা "ফ্ল্যাশ" করা হবে।

এটা মনে রাখার মতো একটি মুখ! আপনি একটি ব্যাচ ফাইল লিখতে পারেন এবং উইন্ডোতে কমান্ড লাইনে এটি চালাতে পারেন, এটির নাম write_flash.bat। একইভাবে ফিউজ পড়ার জন্য, মনে রাখার মতো একটি লাইনের আরেকটি মুখ! এটা ক্লান্তিকর হয়ে ওঠে।

ফ্ল্যাশ + eeprom পড়ার জন্য: AVRdude -s -c avrisp -p t44 -P usb -U "ফ্ল্যাশ: r: D: / ARDUINO / pwmeg1.hex: i" -U "eeprom: r:: i"

বিটিবার্নার, খাজামা প্রোগ্রামারের মতো AVRdude- এর জন্য ব্যবহারকারী বান্ধব GUI ফ্রন্ট-এন্ড টুলগুলির মধ্যে একটি ব্যবহার করা, যা মেধার ক্ষেত্রে প্রায় একই রকম। এক্সট্রিম বার্নার। আমি ফ্রি টু টুল ব্যবহার করেছি: এক্সট্রিম বার্নার অনেক, এর বহুমুখী, নির্ভরযোগ্য, এবং এই টিউটোরিয়ালটি সেই বিষয়ে। এটি কেবলমাত্র আপনার হেক্স ফাইল / প্রোগ্রামকে MPU তে ফ্ল্যাশ করতে পারে না, AVRdude কে জারি করা কমান্ডগুলি ব্যাকগ্রাউন্ডে ব্যবহার করে, এটি আপনাকে FUSES সেট করতেও সাহায্য করতে পারে যা একটি জটিল বিষয় যা প্রায়ই নতুনদের AVR প্রোগ্রামিংয়ে বিভ্রান্ত করে। এখানে FUSES বিষয়ে একটি চমৎকার টিউটোরিয়ালের একটি লিঙ্ক রয়েছে যা দিয়ে আপনি যেতে পারেন বা ব্রাশ করতে পারেন। সাবধানতার একটি শব্দ: এটিএমএল তার 'ডিফল্ট' অবস্থা (আনসেট বা আনপ্রোগ্রামড স্টেট) এবং '0' এর প্রোগ্রাম বা সেট বা অ্যাক্টিভেটেড অবস্থা নির্দেশ করতে FUSE বিটের '1' অবস্থা ব্যবহার করে! এটি একটি PIC মাইক্রোকন্ট্রোলারে FUSE বিট দিয়ে আপনি যা করেন তার ঠিক বিপরীত। আপনি যখন ঘড়ি ফিউজ বিটগুলি সংশোধন করেন তখন সতর্ক থাকুন যেমন অভ্যন্তরীণ আরসি ঘড়িটি বাহ্যিক স্ফটিক পরিবর্তন করে কারণ এটি একটি বহিরাগত স্ফটিক সেট-আপ ছাড়াই চিপের সাথে সংযোগ স্থাপনে সমস্যা তৈরি করবে। একইভাবে সতর্ক থাকুন যখন আপনি SPIEN এবং RESET DISABLE এর মত গুরুত্বপূর্ণ ফিউজ বিটগুলির অবস্থা পরিবর্তন করেন (যদি আপনি ISP / SPI মোডে আপনার USB-ASP এর সাথে MCU- এর সাথে যোগাযোগ চালিয়ে যেতে চান তবে SPIEN = 0 এবং RESET DISABLE = 1 এ সেট করা উচিত যদি আপনি এটিকে অপসারণ করেন তবে আপনার AVR 'আনব্রিক' করার জন্য আপনাকে একটি উচ্চ ভোল্টেজ প্রোগ্রামারের প্রয়োজন হবে।

আপনি যদি ভাবছেন "হেক ফিউজ কি" এবং "তারা কি করে"? এই চমৎকার লেখাটি পড়ুন:

আরেকটি সম্পর্কিত বিষয় হল কিভাবে আপনার AVR MPU এর ক্লক স্পিড সেট করতে হয় যা 1Mhz থেকে 16 বা 20Mhz পর্যন্ত গতিতে সক্ষম। এছাড়াও একটি বিশেষ ওউ পাওয়ার লো ফ্রিকোয়েন্সি ক্রিস্টাল অপশন আছে 31.25kHz যা সঠিকভাবে ডিজাইন করা হলে আপনার AVR 3 মাসের জন্য AA ব্যাটারি চালাতে পারে!

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

ধাপ 1: সেটিংস তৈরি করতে হবে:

সেটিংস তৈরি করা হবে
সেটিংস তৈরি করা হবে
সেটিংস তৈরি করা হবে
সেটিংস তৈরি করা হবে
সেটিংস তৈরি করা হবে
সেটিংস তৈরি করা হবে
সেটিংস তৈরি করা হবে
সেটিংস তৈরি করা হবে

ছবিগুলি দেখায় যে আপনি আপনার কাজ শুরু করার আগে সেটিংস করতে হবে। (এটি শুধুমাত্র একবার) 'হার্ডওয়্যার সেটিংস' সাব-মেনু আইটেমের অধীনে, আমরা 375Hz নির্বাচন করি কারণ ATMEL কারখানার অধিকাংশ MCU অভ্যন্তরীণ RC অসিলেটরে 1 Mhz CPU ঘড়ির ডিফল্ট সেটিংসে সেট করা আছে। ISP গতি F_cpu এর একটি চতুর্থাংশ। এটি আমাদের 375 Khz নিকটতম গতি দেয়, আপনি কম গতিতেও যেতে পারেন, এটি খুব বেশি পার্থক্য করবে না। আপনি এটিকে ডিফল্ট অবস্থায় রেখে সংযোগ করার চেষ্টা করতে পারেন, এবং 'সব পড়ুন' ইস্যু করতে পারেন, যদি এটি ব্যর্থ হয় তবে আপনি এখানে আসতে পারেন এবং গতি পরিবর্তন করতে পারেন, এটি কম করে।

কারণ যদি আপনি সংযোগ করতে অক্ষম হন (বার্তাটি প্রোগ্রামার উইন্ডোতে দেওয়া হবে "চিপের সাথে যোগাযোগ করতে অক্ষম, এসসিকে পারে না" এর অর্থ আপনার পিসি থেকে ঘড়ির সংকেত আপনার চিপের সাথে সিঙ্ক্রোনাইজ করতে পারে না যা আপনি পড়ার চেষ্টা করছেন অথবা প্রোগ্রাম)।, আপনি CPU এর ঘড়ির গতি পরিবর্তন করতে বা তার গতি এবং টাইপ পরিবর্তন করতে পারবেন না তাই সংযোগ হচ্ছে সবকিছুর ভিত্তি! স্পিলবার্গ মুভিতে আপনার মত "প্রথম যোগাযোগ" এর মত। যদি আপনি এতে সফল হন, আপনি সর্বদা আপনার এমসিইউ এর ঘড়ির গতি সেই অনুযায়ী ফিউজ প্রোগ্রামিং করে বাড়িয়ে তুলতে পারেন, এবং পরবর্তীতে সংযোগের জন্য একটি উচ্চ গতি ব্যবহার করতে পারেন।

সুতরাং এখানে প্রদত্ত হার্ডওয়্যার সেটিংস স্ন্যাপশটগুলি দেখুন, তারপরে ডিভাইসের ধরনও সেট করুন (আপনি যে চিপটি প্রোগ্রাম করার চেষ্টা করছেন, তার মডেল নম্বর)।

ধাপ 2: আপনার ডিভাইসের ধরন সেট করা

আপনার ডিভাইসের ধরন সেট করা
আপনার ডিভাইসের ধরন সেট করা
আপনার ডিভাইসের ধরন সেট করা
আপনার ডিভাইসের ধরন সেট করা
আপনার ডিভাইসের ধরন সেট করা
আপনার ডিভাইসের ধরন সেট করা

স্ক্রিনশট দেখুন, ছবি 1, আমরা "ATTINY44A" সেট করেছি। এটি একটি 14 পিন মাইক্রোকন্ট্রোলার ছাড়া UART। আমি সম্প্রতি এটি ব্যবহার করছি, এসএসইউ সংস্করণ। আপনি যদি এক্সট্রিম বার্নার স্টক ভার্সন ইন্সটল করেন তাহলে আপনি ডিভাইস সিলেকশন ড্রপ ডাউন লিস্টে Attiny44A দেখতে পাবেন না, আপনি একটি Attiny44 দেখতে পাবেন যা সমস্ত উদ্দেশ্যে আমরা Attiny44A প্রোগ্রাম করতেও ব্যবহার করতে পারি, এই ড্রপ ডাউন লিস্টে তালিকাভুক্ত নয় এমন কোনো ডিভাইস চালু করতে।, আমার অন্যান্য নির্দেশযোগ্য "হ্যাকিং এক্সট্রিম বার্নার" পড়ুন।

আমি এক্সট্রিম বার্নারের সাথে Atmega88PA-AU ব্যবহার করে আসছি কিন্তু এই নির্দেশনায় আমরা সর্বত্র "Attiny44A" উল্লেখ করি। এখন আপনি কিভাবে ছোট 7 মিমি বর্গ এসএমডি চিপের একটি রুটিবোর্ড সংস্করণ তৈরি করবেন এবং আপনার প্রোগ্রামগুলির সাথে এটি পরীক্ষা করবেন? (চিপের আকার নির্দেশ করে এমন ছবিগুলি দেখুন), এর জন্য, আমার অন্যান্য নির্দেশাবলী দেখুন যেখানে আমি দেখাব কিভাবে Attiny44A-SSU এবং ATmega88PA-AU ব্যবহার করে ব্রেডবোর্ডের উপযুক্ত প্লাগ-ইন মডিউল তৈরি করা যায়

একবার আপনি এই কৌশলটি শিখে নিলে আপনি যে কোন চিপের সাথে টিঙ্কার করতে আগ্রহী, সেটার এসএমডি বা ডিআইএল প্যাকেজ পরীক্ষা করতে পারবেন। উদাহরণস্বরূপ, আমি 32-পিন 0.8 মিমি পিন পিচ কোয়াড প্যাকেজে (Atmega88A) একই পদ্ধতিতে একটি এসএমডি চিপ ব্যবহার করেছি!

। অথবা আপনি এই নির্দেশযোগ্য বা এই মুহূর্তে AVR প্রোগ্রামিং এর জন্য এক্সট্রিম বার্নার ব্যবহার করার জন্য যেই AVR ব্যবহার করছেন তার জন্য Attiny44A এর 28pin DIL সংস্করণ ব্যবহার করতে পারেন..

ধাপ 3: একটি সব পড়ুন বা ফ্ল্যাশ পড়ুন

একটি সব পড়ুন বা ফ্ল্যাশ পড়ুন
একটি সব পড়ুন বা ফ্ল্যাশ পড়ুন
একটি সব পড়ুন বা ফ্ল্যাশ পড়ুন
একটি সব পড়ুন বা ফ্ল্যাশ পড়ুন

আপনার USBasp কে আপনার ল্যাপটপের USB পোর্টের সাথে সংযুক্ত করুন, আমি ধরে নিচ্ছি আপনি ইতিমধ্যে আপনার প্রোগ্রামারের সাথে আসা সঠিক ড্রাইভারগুলি লোড করেছেন এবং এটি সঠিকভাবে সনাক্ত করা হয়েছে। ইউএসবি পোর্টে প্লাগ করার সাথে সাথে এটি উইন্ডোজ স্টার্ট মেনুতে 'ডিভাইস এবং প্রিন্টার' এর অধীনে উপস্থিত হওয়া উচিত! আপনার টার্গেট চিপটিকে আপনার ইউএসবিএসপি এর সাথে সংযুক্ত করুন (প্রাসঙ্গিক এসডিআই // আইএসপি পিন 6 পিন বা 10 পিন ক্যাবল ব্যবহার করে দুটির মধ্যে সংযোগ স্থাপন করতে হবে, যেমন পিন: মোসি, রিসেট, মিসো, এসকেকে, ভিসি, গ্রাউন্ড)।

Xtreme Burner এর MENU থেকে সব পড়ুন। আমরা প্রাপ্ত ছবি এবং বার্তা দেখুন। প্রাথমিকভাবে আপনার স্ক্রিন বার্নারের প্রথম ট্যাবে রমের জন্য 'এফএফ' দেখিয়েছে, সব পড়ার পরে এটি চিপে প্রকৃত রম বিষয়বস্তু দেখাবে। আপনি যদি একটি কারখানার তাজা চিপ বা একটি মুছে ফেলা চিপ ব্যবহার করেন তবে আপনি "সমস্ত পড়ুন" এর পরে বিষয়বস্তুতে FF দেখতে পাবেন। একটি প্রোগ্রাম না করা চিপ তার স্মৃতিতে 'FF' দেখাবে, তেমনি একটি EEPROM (প্রোগ্রামারের দ্বিতীয় ট্যাব), শেষ ট্যাবটি FUSES দেখায়।

সবগুলো পড়ার পর 3 টি ট্যাব চিপে থাকা সঠিক তথ্য দেখাবে। এর আগে এটি হবে না, তাই আপনি সবকিছু সংযুক্ত করার সাথে সাথে প্রথমে একটি পড়ুন।

ধাপ 4: ফ্ল্যাশে লিখুন (আপনার হেক্স ফাইলটি চিপে রোমের মধ্যে ঝলকানো)

ফ্ল্যাশে লিখুন (আপনার হেক্স ফাইলটি চিপে রমে ঝলকানো)
ফ্ল্যাশে লিখুন (আপনার হেক্স ফাইলটি চিপে রমে ঝলকানো)
ফ্ল্যাশে লিখুন (আপনার হেক্স ফাইলটি চিপে রমে ঝলকানো)
ফ্ল্যাশে লিখুন (আপনার হেক্স ফাইলটি চিপে রমে ঝলকানো)
ফ্ল্যাশে লিখুন (আপনার হেক্স ফাইলটি চিপে রমে ঝলকানো)
ফ্ল্যাশে লিখুন (আপনার হেক্স ফাইলটি চিপে রমে ঝলকানো)

ব্রাউজ ডায়ালগ ব্যবহার করে একটি ফাইল নির্বাচন করুন যা উপরের মেনু বারের প্রথম আইকনে ক্লিক করলে খোলে। আমরা ছবিতে একটি ফাইল নির্বাচন করেছি। একবার আপনি হেক্স ফাইল নির্বাচন করুন (ইন্টেল হেক্স ফরম্যাট) মেনু বার যা দেখায় যে "কোন ফাইল লোড হয়নি" আপনার লোড করা ফাইলের নাম পরিবর্তন করা হয়েছে।

এখন সফটওয়্যারের মেনু থেকে একটি রাইট ফ্ল্যাশ ইস্যু করুন। বার্তাগুলি আপনাকে দেখাবে কি ঘটছে। ছবি দেখুন।

একটি সফল লেখার পরে, আপনি 'FF' দেখতে পাবেন যা আপনার প্রোগ্রাম বা হেক্স ফাইলের মধ্যে একটি নতুন বা মুছে যাওয়া রম পরিবর্তন চিহ্নিত করে। আপনার ফাইলটি রমে যে আকার বা বাইট দখল করে তাও এই স্ক্রিনটি দেখে আপনার জানা যায়, যা আপনাকে আপনার টার্গেট চিপের প্রকৃত রম বিষয়বস্তু দেখায় যা আপনি এখনই ফ্ল্যাশ করেছেন।

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

ধাপ 5: FUSES: কিভাবে তাদের এক্সট্রিম বার্নারে সেট করবেন

FUSES: কিভাবে তাদের এক্সট্রিম বার্নারে সেট করবেন
FUSES: কিভাবে তাদের এক্সট্রিম বার্নারে সেট করবেন

যখন আপনি একটি জারি করেন তখন সমস্ত ফিউজ চিপ থেকে পড়া হয়েছিল। Fuses-j.webp

এখন সম্ভবত আপনি তাদের অন্য কিছু পরিবর্তন করতে হবে। ফিউজগুলি আপনার এক্সট্রিম বার্নার স্ক্রিনে শেষ ট্যাবে 4 টি বাক্স নিয়ে গঠিত। যথা LOW FUSE BYTE, HIGH FUSE BYTE, Extendeded FUSE BYTE, LOCK FUSE BYTE এবং CALIBRATION BYTE। সেই ক্রমে সেগুলি দেখানো হয়।

আপনি কেবল একটি অনলাইন ফিউজ ক্যালকুলেটর ব্যবহার করতে পারেন এবং সেগুলি পূরণ করতে পারেন

eleccelerator.com/fusecalc/fusecalc.php?

অথবা আপনি আপনার জন্য এটি করতে এক্সট্রিম বার্নার ব্যবহার করতে পারেন। যে কোন সময় নিজেই অফলাইন: ড্রপ ডাউন তালিকা থেকে নির্বাচন করুন যেটি যখন আপনি ডিটেইলস বাটনে ক্লিক করেন যা প্রতিটি ধরনের ফিউজ বাইটের নিচে থাকে। ডিটেইলস স্ক্রিনে যেকোনো লাইনে ডাবল ক্লিক করুন এবং এটি SET থেকে CLEARED এ পরিবর্তন দেখুন এবং প্রতিটি লাইনে আপনার মাউস ক্লিক করে তার অবস্থা টগল করুন। উপরের বাক্সে ফিউজ বাইট সেই অনুযায়ী পরিবর্তিত হবে।

আপনি যদি ভাবছেন "হেক ফিউজ কি" এবং "তারা কি করে"? এই চমৎকার লেখাটি পড়ুন:

www.instructables.com/id/Avr-fuse-basics-Running-an-avr-with-an-external-cl/

ধাপ 6: এক্সট্রিম বার্নার ফিউজ ক্যালকুলেটর ব্যবহার করে ফিউজ সেট করা

এক্সট্রিম বার্নার ফিউজ ক্যালকুলেটর ব্যবহার করে ফিউজ সেট করা
এক্সট্রিম বার্নার ফিউজ ক্যালকুলেটর ব্যবহার করে ফিউজ সেট করা
এক্সট্রিম বার্নার ফিউজ ক্যালকুলেটর ব্যবহার করে ফিউজ সেট করা
এক্সট্রিম বার্নার ফিউজ ক্যালকুলেটর ব্যবহার করে ফিউজ সেট করা
এক্সট্রিম বার্নার ফিউজ ক্যালকুলেটর ব্যবহার করে ফিউজ সেট করা
এক্সট্রিম বার্নার ফিউজ ক্যালকুলেটর ব্যবহার করে ফিউজ সেট করা

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

যদি আপনি SPIEN বিটকে 1 এ পরিবর্তন করেন (AVR মাইক্রোকন্ট্রোলারগুলির মধ্যে প্রোগ্রামহীন অবস্থা 1) আপনি USBASP বা কোন প্রোগ্রামার ব্যবহার করে আপনার চিপের সাথে যোগাযোগ করতে পারবেন না! প্রতিটি ফিউজ বিটের জন্য আপনার পর্দায় ডিফল্ট অবস্থাও দেখানো হয়। এটি আপনাকে সতর্ক করে যে SPIEN ডিফল্ট সর্বদা 0 (প্রোগ্রামড স্টেট) আপনাকে ISP প্রোগ্রামিংয়ের জন্য SPI মোড ব্যবহার করতে দেয়। ডিবাগ-ওয়্যার বা DW বিট সর্বদা 1 (আন-প্রোগ্রামড) বাকি থাকে যখন SPIEN 0 এ সেট করা হয়। এটিও এর ডিফল্ট অবস্থা। এছাড়াও, এক্সটেন্ডেড ফিউজ বিটগুলিতে 'সেলফ প্রোগ্রামিং এনাবল' '1' (আনপ্রোগ্রাম করা) হওয়া উচিত যদি আপনি আপনার টার্গেট চিপ প্রোগ্রাম করার জন্য ইউএসবি-এএসপি ব্যবহার করেন (আরডুইনো-র মত বুটলোডার রম ব্যবহার না করে)।

আপনি অভ্যন্তরীণ RC বা বহিরাগত স্ফটিক নির্বাচন করতে CLOCK বিট (সংখ্যায় 3) পরিবর্তন করতে পারেন। আমি সাধারণত এটিকে অভ্যন্তরীণ RC এর জন্য ছেড়ে দিই যা আপনাকে 2 টি অতিরিক্ত পিন পেতে দেয় যা বহিরাগত স্ফটিককে মুক্ত করে আপনার AVR প্রকল্পগুলির জন্য PORT পিন হিসাবে ব্যবহার করতে বাধ্য করে। সাধারণত যখন আপনার প্রকল্পে উচ্চ নির্ভুলতার সময় প্রয়োজন তখন বাহ্যিক স্ফটিক প্রয়োজন হয়। শিক্ষার্থীদের জন্য অভ্যন্তরীণ RC যথেষ্ট।

সাধারণত একবার আপনি কিছু ফিউজ সংমিশ্রণে স্থির হয়ে গেলে আপনি এটি পরিবর্তন করবেন না। এটা এক সময় হবে। আপনি শুধুমাত্র রম বা কখনও কখনও EEPROM ঝলকানি হবে। EEPROM ফ্ল্যাশ করার জন্য আলাদা। অন্যথায় EEPROM অব্যবহৃত পড়ে আছে, 'FF' ডেটা দিয়ে ভরা যা EEPROM এর 'NO DATA State' দেখায়।

ধাপ 7: ফিউজ বিটের চূড়ান্ত মান

ফিউজ বিটের চূড়ান্ত মান
ফিউজ বিটের চূড়ান্ত মান

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

আপনি লক্ষ্য করবেন যে এই নির্দেশের শুরুতে যখন আমরা একটি ফিউজ পড়ি, স্ক্রিন একই FUSE মান দেখায় যা আমরা এখানে দেখি! কারণ এই ফিউজগুলি আমি প্রায়ই ব্যবহার করি এবং আমার এমসিইউতে সেট করার পরে খুব কমই সেগুলি পরিবর্তন করে, যদি না আমি কিছু প্রকল্পের জন্য 1 Mhz থেকে 4Mhz এর ফ্রিকোয়েন্সি পরিবর্তন করি। AVR সর্বোচ্চ 20Mhz সেট করা যেতে পারে (কিছু চিপস শুধুমাত্র 16Mhz পর্যন্ত)। আপনি F_cpu- এর জন্য যে ফ্রিকোয়েন্সি সেট করেছেন তা নির্ভর করে আপনি যে ভোল্টেজ দিয়ে চিপ সরবরাহ করেন তার উপরও! উদাহরণস্বরূপ, যদি আপনার চিপ Vcc এর 1.8V থেকে Vcc এর 5.5V পর্যন্ত কাজ করে (ডেটা শীট রেফারেন্স) আপনি যদি আপনার চিপটি শুধুমাত্র 1.8V সরবরাহ করেন তাহলে 20 মেগাহার্টজ চালানোর আশা করবেন না! আপনি এটি থেকে খুব বেশি আশা করছেন! ডেটা শীটের একটি টেবিল আপনাকে বলে যে কোন ভোল্টেজটি ফ্রিকোয়েন্সিটি কোন চিত্রে বন্ধ থাকে। আপনার চিপ অপারেশনের ফ্রিকোয়েন্সি যত বেশি হবে, তাপ তত বেশি এবং এটি যে শক্তি ব্যবহার করবে। একটি প্রাণীর হৃদস্পন্দনের মত ফ্রিকোয়েন্সি চিন্তা করুন। উচ্চতর শ্রবণশক্তি সহ হামিংবার্ড প্রতি মিনিটে তিমি বা হার্টবিটের তুলনায় অনেক কম জ্বালাপোড়া করে, যার হার্টবিট কম থাকে! কিন্তু তারপর এটি একটি স্বল্প সময়ের মধ্যে আরো অনেক কিছু করতে পারে। MCU ঠিক তেমনই।

ধাপ 8: শেষ করুন

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

যদি আপনার কোন প্রশ্ন থাকে, আমি টিউটোরিয়ালটি পরিষ্কার করতে উত্তর দিতে বা সংশোধন করতে পেরে খুশি হব।

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

শুভ প্রোগ্রামিং।

প্রস্তাবিত: